summaryrefslogtreecommitdiff
path: root/ofproto
Commit message (Collapse)AuthorAgeFilesLines
* ofproto-dpif-xlate: Preserve stack across patch port.Jarno Rajahalme2015-03-161-0/+5
| | | | | | | | | Prevent a peer patch port bridge from popping data off or pushing data to the stack of the first bridge. Found by inspection. Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* ofproto-dpif-xlate: Honor skip_wildcards in translation.Jarno Rajahalme2015-03-133-55/+57
| | | | | | | There is no need to do anything with wildcards when skip_wildcards is true. Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* ofproto-dpif-xlate: Add rule cookie to the tranlation context.Jarno Rajahalme2015-03-131-4/+9
| | | | | | | | This is needed for unrolling resubmits for after-recirculation actions introduced by the following patch. Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* Use the IANA-assigned ports for OpenFlow and OVSDB.Justin Pettit2015-03-121-2/+1
| | | | | | | | We've been warning about the change since 2.1, which was released a year ago. Signed-off-by: Justin Pettit <jpettit@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* ofproto-dpif-upcall: Create ukey only for miss upcalls.Jarno Rajahalme2015-03-041-1/+6
| | | | | | | There is no point trying to create ukeys for non-miss upcalls, such as upcalls due to an explicit userspace actions (e.g, slow-pathed flows). Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* ofproto-dpif-xlate: Fix indentation.Jarno Rajahalme2015-03-041-24/+24
| | | | Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* ofproto-dpif-xlate: Free recirculation ID in an error case.Jarno Rajahalme2015-03-041-0/+3
| | | | | | Found by inspection. Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* ofproto-dpif-xlate: Don't translate action set when dropping.Jarno Rajahalme2015-03-041-4/+4
| | | | | | | | Translate action set only if not dropping the packet. Found by inspection. Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* auto-attach: Add auto-attach support to ofproto layerDennis Flynn2015-03-038-40/+331
| | | | | | Signed-off-by: Ludovic Beliveau <ludovic.beliveau@windriver.com> Signed-off-by: Dennis Flynn <drflynn@avaya.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* ofpbuf: Simplify ofpbuf API.Pravin B Shelar2015-03-038-64/+59
| | | | | | | | | | | | ofpbuf was complicated due to its wide usage across all layers of OVS, Now we have introduced independent dp_packet which can be used for datapath packet, we can simplify ofpbuf. Following patch removes DPDK mbuf and access API of ofpbuf members. Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* dp-packet: Remove ofpbuf dependency.Pravin B Shelar2015-03-0319-200/+202
| | | | | | | | | | | | | Currently dp-packet make use of ofpbuf for managing packet buffers. That complicates ofpbuf, by making dp-packet independent of ofpbuf both libraries can be optimized for their own use case. This avoids mapping operation between ofpbuf and dp_packet in datapath upcalls. Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* dpif_packet: Rename to dp_packetPravin B Shelar2015-03-031-4/+4
| | | | | | | | dp_packet is short and better name for datapath packet structure. Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* ofproto-dpif: Fix UFID typo.Joe Stringer2015-02-271-3/+3
| | | | | | | While UFIDs are technically userspace flow IDs, the canonical name is "unique flow identifiers". Signed-off-by: Joe Stringer <joestringer@nicira.com>
* userspace: Replace all uses of strncpy() by ovs_strlcpy().Ben Pfaff2015-02-201-1/+2
| | | | | | | | | | strncpy() has a lot of pitfalls. A while back we replaced all its uses by calls to ovs_strlcpy() or ovs_strzcpy(), but some more have crept in. This commit fixes them. Reported-by: Russell Bryant <rbryant@redhat.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Thomas Graf <tgraf@noironetworks.com>
* ofproto/bond: Fix a race condition in updating post recirculation rulesAndy Zhou2015-02-171-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | When updating post recirc rules, rule management requires calls to hmap APIs, which requires proper locking to ensure mutual exclsion in accessing the hmap internal data structure. The locking currently is missing from the output_normal() xlate path, thus causing a race condition. The race condition leads to segfault crash of ovs-vswitchd, with the following stack trace: The crash was found by adding and deleting bond interfaces repeatedly with on-going traffic hitting the bond interfaces. The same test was ran over multiple days with this patch to ensure the same crash was not seen. The patch added the necessary lock annotation that would have caught the bug. Tested-by: Salvatore Cambria <salvatore.cambria@citrix.com> Reported-by: Salvatore Cambria <salvatore.cambria@citrix.com> Signed-off-by: Andy Zhou <azhou@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* ofproto: Add NXM_NX_TUN_GBP_ID and NXM_NX_TUN_GBP_FLAGSMadhu Challa2015-02-141-1/+1
| | | | | | | | | | | | | | | | | | | Introduces two new NXMs to represent VXLAN-GBP [0] fields. actions=load:0x10->NXM_NX_TUN_GBP_ID[],NORMAL tun_gbp_id=0x10,actions=drop This enables existing VXLAN tunnels to carry security label information such as a SELinux context to other network peers. The values are carried to/from the datapath using the attribute OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS. [0] https://tools.ietf.org/html/draft-smith-vxlan-group-policy-00 Signed-off-by: Madhu Challa <challa@noironetworks.com> Acked-by: Ben Pfaff <blp@nicira.com> Signed-off-by: Thomas Graf <tgraf@noironetworks.com>
* ofproto-dpif: Fix whitespace and typoMark D. Gray2015-02-131-4/+4
| | | | | Signed-off-by: Mark D. Gray <mark.d.gray@intel.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* mac-learning: Implement per-port MAC learning fairness.Ben Pfaff2015-02-132-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In "MAC flooding", an attacker transmits an overwhelming number of frames with unique Ethernet source address on a switch port. The goal is to force the switch to evict all useful MAC learning table entries, so that its behavior degenerates to that of a hub, flooding all traffic. In turn, that allows an attacker to eavesdrop on the traffic of other hosts attached to the switch, with all the risks that that entails. Before this commit, the Open vSwitch "normal" action that implements its standalone switch behavior (and that can be used by OpenFlow controllers as well) was vulnerable to MAC flooding attacks. This commit fixes the problem by implementing per-port fairness for MAC table entries: when the MAC table is at its maximum size, MAC table eviction always deletes an entry from the port with the most entries. Thus, MAC entries will never be evicted from ports with only a few entries if a port with a huge number of entries exists. Controllers could introduce their own MAC flooding vulnerabilities into OVS. For a controller that adds destination MAC based flows to an OpenFlow flow table as a reaction to "packet-in" events, such a bug, if it exists, would be in the controller code itself and would need to be fixed in the controller. For a controller that relies on the Open vSwitch "learn" action to add destination MAC based flows, Open vSwitch has existing support for eviction policy similar to that implemented in this commit through the "groups" column in the Flow_Table table documented in ovs-vswitchd.conf.db(5); we recommend that users of "learn" not already familiar with eviction groups to read that documentation. In addition to implementation of per-port MAC learning fairness, this commit includes some closely related changes: - Access to client-provided "port" data in struct mac_entry is now abstracted through helper functions, which makes it easier to ensure that the per-port data structures are maintained consistently. - The mac_learning_changed() function, which had become trivial, vestigial, and confusing, was removed. Its functionality was folded into the new function mac_entry_set_port(). - Many comments were added and improved; there had been a lot of comment rot in previous versions. CERT: VU#784996 Reported-by: "Ronny L. Bull - bullrl" <bullrl@clarkson.edu> Reported-at: http://www.irongeek.com/i.php?page=videos/derbycon4/t314-exploring-layer-2-network-security-in-virtualized-environments-ronny-l-bull-dr-jeanna-n-matthews Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Ethan Jackson <ethan@nicira.com>
* ofproto: add support of OFPR_ACTION_SET as packet-in reason for OF1.4+Shu Shen2015-02-062-1/+13
| | | | | | | | | | This patch adds support for OFPR_ACTION_SET as the packet-in reason when a Packet-In message is triggered by an output action within an action-set. By default reason code OFPR_ACTION_SET is enabled for async messages when Openflow 1.4+ is used. A test case is included. Signed-off-by: Shu Shen <shu.shen@radisys.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* ofproto: Initialize tunnel module earlier.Jarno Rajahalme2015-02-041-1/+3
| | | | | | | | | | | | The tunnel module can get called by the handler threads right after they are started, so we need to call ofproto_tunnel_init() before opening the backer. Late initialization caused a spurious ovs-vswitchd handler thread crash on start-up due to the tunnel module fat_rwlock not being initialized yet. Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* mcast-snoop: Add support to control Reports forwardingFlavio Leitner2015-02-045-13/+56
| | | | | | | | | The RFC4541 section 2.1.1 item 1 allows the snooping switch to provide an administrative control to allow Report messages to be flooded to ports not connected to multicast routers. Signed-off-by: Flavio Leitner <fbl@redhat.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* mcast_snoop: make mcast_fport_bundle genericFlavio Leitner2015-02-042-6/+5
| | | | | | | | The struct mcast_fport_bundle will be used for ports forwarding Reports too, so make it generic. Signed-off-by: Flavio Leitner <fbl@redhat.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* ofproto-dpif: Revalidate when sFlow probability changes.Ben Pfaff2015-02-031-1/+4
| | | | | | | | | | Until now, when the sFlow selection probability changed, OVS failed to immediately revalidate the flow table, delaying the new probability taking effect. This commit fixes the problem. Reported-by: K 華 <k940545@hotmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* ofp-errors: Use OFPERR_OFPBRC_IS_SLAVE to reject slave controllers.Ben Pfaff2015-01-221-1/+1
| | | | | | | | This error code was just overlooked before. Reported-by: Anup Khadka <khadka.py@gmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Thomas Graf <tgraf@noironetworks.com>
* ofproto-dpif: Fix memory leak of mirrors in bundle_destroy().Ben Pfaff2015-01-211-1/+1
| | | | | | | | The mirrors are added in bundle_set() with 'bundle' as aux so they must be removed with the same aux, but the call used 'bundle->aux' instead. Reported-by: Sabyasachi Sengupta <Sabyasachi.Sengupta@alcatel-lucent.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* upcall: Simplify enable_ufid debug option.Joe Stringer2015-01-201-15/+18
| | | | | | | | | | | | | | We previously tracked the debug enable/disable of UFID in each udpif, and allowed the ovs-appctl debug option to turn on UFID features even if the datapath doesn't support it. This commit shifts the enable_ufid debug flag to a single flag, and provides a helper to determine whether UFID features should be used on a per-udpif basis. Suggested-by: Andy Zhou <azhou@nicira.com> Signed-off-by: Joe Stringer <joestringer@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* pktbuf: Always initialize '*bufferp' even when 'pb == NULL'.Ben Pfaff2015-01-191-1/+2
| | | | | | | | | | | | Otherwise if a service connection (which does not have buffers) attempts to use buffers, '*bufferp' will be uninitialized, which can cause a segfault in the caller. Found using OFtest configured to use service (active rather than passive) connections. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Thomas Graf <tgraf@noironetworks.com>
* ofproto-dpif-xlate: Log if an OFPACT_CONJUNCTION action is executed.Ben Pfaff2015-01-131-1/+8
| | | | | | | | | Conjunction actions shouldn't normally get executed, so it's worth logging if it happens. Suggested-by: Jarno Rajahalme <jrajahalme@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* pkg-config: Fix Cflags in package-config filesAmit Bose2015-01-121-1/+1
| | | | | | | | | | | Cflags in pkg-config files sets the include path to $PREFIX/openflow, $PREFIX/openvswitch. This makes the including source files use the files like include <util.h> instead of include <openvswitch/util.h> Signed-off-by: Amit Bose <bose@noironetworks.com>
* classifier: Add support for conjunctive matches.Ben Pfaff2015-01-112-3/+95
| | | | | | | | | | A "conjunctive match" allows higher-level matches in the flow table, such as set membership matches, without causing a cross-product explosion for multidimensional matches. Please refer to the documentation that this commit adds to ovs-ofctl(8) for a better explanation, including an example. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* classifier: Make classifier_lookup() 'flow' parameter non-const.Ben Pfaff2015-01-111-3/+9
| | | | | | | | | | | | An upcoming commit will make classifier_lookup() sometimes modify its 'flow' argument temporarily during the lookup. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com> --- v2: New patch. v2.1: Rebase. v3: Rebase.
* miniflow: Use 64-bit data.Jarno Rajahalme2015-01-063-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far the compressed flow data in struct miniflow has been in 32-bit words with a 63-bit map, allowing for a maximum size of struct flow of 252 bytes. With the forthcoming Geneve options this is not sufficient any more. This patch solves the problem by changing the miniflow data to 64-bit words, doubling the flow max size to 504 bytes. Since the word size is doubled, there is some loss in compression efficiency. To counter this some of the flow fields have been reordered to keep related fields together (e.g., the source and destination IP addresses share the same 64-bit word). This change should speed up flow data processing on 64-bit CPUs, which may help counterbalance the impact of making the struct flow bigger in the future. Classifier lookup stage boundaries are also changed to 64-bit alignment, as the current algorithm depends on each miniflow word to not be split between ranges. This has resulted in new padding (part of the 'mpls_lse' field). The 'dp_hash' field is also moved to packet metadata to eliminate otherwise needed padding there. This allows the L4 to fit into one 64-bit word, and also makes matches on 'dp_hash' more efficient as misses can be found already on stage 1. Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* ofproto-dpif: Do not allow recirc_id freed by non-owning ofproto.Alex Wang2015-01-061-5/+2
| | | | | | | | | | This commit changes the VLOG_ERR (for warning unmatched ofproto) in ofproto_dpif_free_recirc_id() to an assert statement, so that recirc_id is never allowed to be freed by non-owning ofproto. Suggested-by: Ben Pfaff <blp@nicira.com> Signed-off-by: Alex Wang <alexw@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* ofproto: Don't count hidden rules in table stats.Ben Pfaff2015-01-067-7/+53
| | | | | | | | | | | | The hidden rules created by in-band control and fail-open should not be included in the table stats reported via OpenFlow. I seem to recall that this was done correctly in some previous version but it has broken since then. This commit fixes the problem and adds a test that should make it harder to break again in the future. Reported-by: Ashok Chippa <a.n.chippa@gmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* ofproto: Omit hidden tables from "next tables".Ben Pfaff2015-01-021-4/+9
| | | | | | | | | | Hidden tables are intended to be concealed from OpenFlow, but their presence leaked through the "next tables" and "instructions" in the OF1.3+ table features reply. This fixes the problem. Reported-by: "Ronaldo A. Ferreira" <ronaldof@CS.Princeton.EDU> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Thomas Graf <tgraf@noironetworks.com>
* sflow: Export OVS datapath performance counters via sFlow.Neil McKee2015-01-011-1/+134
| | | | | | | | | | | The OVS cache hit/miss counters and memory/CPU usage statistics have been identified as important metrics when managing large deployments. This patch allows them to be pushed periodically as part of the sFlow feed, and represents a more efficient and scalable alternative to polling via ovs-dpctl(1). Signed-off-by: Neil McKee <neil.mckee@inmon.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* dpif-netdev: Add per-pmd flow-table/classifier.Alex Wang2014-12-301-15/+23
| | | | | | | | | | | | | | | | | | | | | This commit changes the per dpif-netdev datapath flow-table/ classifier to per pmd-thread. As direct benefit, datapath and flow statistics no longer need to be protected by mutex or be declared as per-thread variable, since they are only written by the owning pmd thread. As side effects, the flow-dump output of userspace datapath can contain overlapping flows. To reduce confusion, the dump from different pmd thread will be separated by a title line. In addition, the flow operations via 'ovs-appctl dpctl/*' are modified so that if the given flow in_port corresponds to a dpdk interface, the operation will be conducted to all pmd threads recv from that interface (expect for flow-get which will always be applied to non-pmd threads). Signed-off-by: Alex Wang <alexw@nicira.com> Tested-by: Mark D. Gray <mark.d.gray@intel.com> Acked-by: Pravin B Shelar <pshelar@nicira.com>
* Warn the free of 'recirc_id' by wrong 'ofproto'.Alex Wang2014-12-231-0/+7
| | | | | | | Issues a ERR log when the 'recirc_id' is not freed by the owning 'ofproto'. Signed-off-by: Alex Wang <alexw@nicira.com>
* recirculation: RCU postpone the free of dpif_backer_recirc_node.Alex Wang2014-12-231-2/+5
| | | | | | | | | This commit RCU postpones the free of 'struct dpif_backer_recirc_node', after it is removed from the cmap. This is in that other threads may be accessing the struct at the same time. Signed-off-by: Alex Wang <alexw@nicira.com> Acked-by: Ethan Jackson <ethan@nicira.com>
* recirculation: Map recirc_id to ofproto_dpif.Alex Wang2014-12-223-17/+123
| | | | | | | | | | | | | | | | | | | After commit 0c7812e5e (recirculation: Do not drop packet when there is no match from internal table.), if flow keys are modified before the recirculation action (e.g. set vlan ID), the miss handling of recirc'ed packets may not reach the intended 'ofproto_dpif' which has rules looking up the 'recirc_id's, causing drops. This commit adds an unittest that captures this bug. Moreover, to solve this bug, this commit checks mapping between 'recirc_id' and the corresponding 'ofproto_dpif', and makes sure that the miss handling of recirc'ed packets are done with the correct 'ofproto_dpif'. Signed-off-by: Alex Wang <alexw@nicira.com> Acked-by: Andy Zhou <azhou@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* bundles: Clean up bundle commit.Jarno Rajahalme2014-12-221-5/+10
| | | | | | | | | | | This fixes ofp_bundle_commit() in two ways: - Always remove the bundle regardless of the error condition. - A commit of an empty bundle must be successful. The actual commit is still not supported. Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* ofproto: Reject slave controllers for bundle messages.Jarno Rajahalme2014-12-221-0/+10
| | | | | | | | Slave controllers are rejected for flow and port mod messages, so they should also be rejected for bundles (that require support at least for flow and port mod messages). Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* bundles: Reject bundle add with bad flags.Jarno Rajahalme2014-12-221-3/+5
| | | | | | | OpenFlow 1.4 states that the switch must reject a bundle add message whose flags are different from the ones in the bundle. Do it. Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* connmgr: Dealloc 'bundles' in ofconn_destroy().Jarno Rajahalme2014-12-221-0/+1
| | | | Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* dpif: Shift ufid support checking up to dpif_backer.Joe Stringer2014-12-193-6/+56
| | | | | | | | | | | | | | | | | Previously, the dpif layer was responsible for determining datapath support for UFIDs, which resulted in all ovs-dpctl utilities inserting/deleting flows from the datapath each time they are run. Shift this responsibility up to the dpif_backer. There are two users of this functionality: Revalidators check for UFID support to request a terser dump using UFIDs, and dpif-netlink uses this to request flow_del operations to only return the UFID/stats. The latter case was previously hidden from revalidators, but this change makes them aware of it, and reuses the same "udpif->enable_ufid" flag for reducing overhead of both flow dump and flow delete. Signed-off-by: Joe Stringer <joestringer@nicira.com> Acked-by: Andy Zhou <azhou@nicira.com>
* ofproto-dpif: Fix build failure.Pravin B Shelar2014-12-191-1/+0
| | | | | | | Remove xlate_actions_mpls_overflow coverage counter. Reported-by: Joe Stringer <joestringer@nicira.com> Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
* ofproto-dpif: Fix MPLS multiple Push pop action.Pravin B Shelar2014-12-181-12/+12
| | | | | | | | | | | | | vSwitchd does not generate correct MPLS actions for multiple MPLS push or pop action. Datapath can handle multiple push action for in single action list. But for after first MPLS pop it needs to recirculate packet to refill packet key. Following patch fixes it accordingly. Reported-by: Stefano Salsano <stefano.salsano@uniroma2.it> Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Tested-by: Pier Luigi Ventre <pl.ventre@gmail.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* revalidator: Don't delete non-existent flow.Joe Stringer2014-12-171-1/+3
| | | | | | | | | If ukey_acquire() returns ENOENT, then it is unable to locate the ukey corresponding to the flow and the flow has disappeared since it was dumped. Don't bother deleting the flow in this case, as it will fail. Signed-off-by: Joe Stringer <joestringer@nicira.com> Acked-by: Thomas Graf <tgraf@noironetworks.com>
* lib: Move vconn.h to <openvswitch/vconn.h>Thomas Graf2014-12-155-5/+5
| | | | | | | | Also moves definitions for struct vconn and pvconn to the public header. The provider interface is kept private. Signed-off-by: Thomas Graf <tgraf@noironetworks.com> Acked-by: Ben Pfaff <blp@nicira.com>
* lib: Move vlog.h to <openvswitch/vlog.h>Thomas Graf2014-12-1517-17/+17
| | | | | | | | A new function vlog_insert_module() is introduced to avoid using list_insert() from the vlog.h header. Signed-off-by: Thomas Graf <tgraf@noironetworks.com> Acked-by: Ben Pfaff <blp@nicira.com>