summaryrefslogtreecommitdiff
path: root/vswitchd
Commit message (Collapse)AuthorAgeFilesLines
* Move lib/ofp-print.h to include/openvswitch directoryBen Warren2016-04-141-11/+11
| | | | | Signed-off-by: Ben Warren <ben@skyportsystems.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Move lib/ofp-util.h to include/openvswitch directoryBen Warren2016-04-141-1/+1
| | | | | | | | This commit also adds several #include directives in source files in order to make the 'ofp-util.h' move possible Signed-off-by: Ben Warren <ben@skyportsystems.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Move lib/meta-flow.h to include/openvswitch directoryBen Warren2016-04-141-1/+1
| | | | | | | | | This commit also moves some bitmap macros into public header files and adds some #include directives in soure files in order to make the 'meta-flow.h' move possible. Signed-off-by: Ben Warren <ben@skyportsystems.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* Move lib/ofpbuf.h to include/openvswitch directoryBen Warren2016-03-302-2/+2
| | | | | | Signed-off-by: Ben Warren <ben@skyportsystems.com> Acked-by: Ryan Moats <rmoats@us.ibm.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* list: Rename all functions in list.h with ovs_ prefix.Ben Warren2016-03-301-22/+22
| | | | | | | This attempts to prevent namespace collisions with other list libraries Signed-off-by: Ben Warren <ben@skyportsystems.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* list: Remove lib/list.h completely.Ben Warren2016-03-301-1/+1
| | | | | | | | All code is now in include/openvswitch/list.h. Signed-off-by: Ben Warren <ben@skyportsystems.com> Acked-by: Ryan Moats <rmoats@us.ibm.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* ovs-ctl: Store hostname as an external-id.Russell Bryant2016-03-241-0/+4
| | | | | | | | | | | | | | Update ovs-ctl to store the system hostname as an external-id, similar to the system-id. This is largely for convenience. ovn-controller will make use of it in a future commit. Someone in the OpenDaylight community requested the same thing in a discussion earlier this week. While we're at it, set external-ids:hostname in ovs-sandbox as well. Suggested-by: Justin Pettit <jpettit@ovn.org> Suggested-at: http://openvswitch.org/pipermail/dev/2016-March/068225.html Signed-off-by: Russell Bryant <russell@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
* tunneling: Enable IPv6 tuneling.Pravin B Shelar2016-03-241-19/+20
| | | | | | | | | | | | There is check to disable IPv6 tunneling. Following patch removes it and reintroduces the tunneling automake tests. This reverts mostly commit 250bd94d1e500a89c76cac944e660bd9c07ac364. There are couple of new autotests and updated documentation related to ipv6 tunneling added in this patch. Signed-off-by: Pravin B Shelar <pshelar@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* tunneling: Handle multiple ip address for given device.Pravin B Shelar2016-03-241-2/+1
| | | | | | | | | | | | Device can have multiple IP address but netdev_get_in4/6() returns only one configured IPv6 address. Following patch fixes it. OVS router is also updated to return source ip address for given destination, This is required when interface has multiple IP address configured. Signed-off-by: Pravin B Shelar <pshelar@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* bridge: Dump configurable QoS types.Ian Stokes2016-03-222-0/+44
| | | | | | | | | | This commit adds a new command 'qos/show-types' for use with appctl. This allows a user to query the types of QoS which are configurable via Open vSwitch on a given interface. Signed-off-by: Ian Stokes <ian.stokes@intel.com> [blp@ovn.org made style and message changes] Signed-off-by: Ben Pfaff <blp@ovn.org>
* bridge: Fix qos_unixctl_show bug.Ian Stokes2016-03-221-16/+22
| | | | | | | | | | | | | | | netdev_get_qos returns a value to indicate if an error has occurred while attempting to query the QoS configuration of an interface. If an error does occur the pointer argument passed to it will be set to null before returning. Currently the vswitch will segfault if this occurs as qos_unixctl_show will attempt to access the pointer directly after it calls netdev_get_qos. Avoid this by adding a check for the return value and flagging an appropriate error message to appctl. Signed-off-by: Ian Stokes <ian.stokes@intel.com> [blp@ovn.org changed details of error report] Signed-off-by: Ben Pfaff <blp@ovn.org>
* Move lib/dynamic-string.h to include/openvswitch directoryBen Warren2016-03-193-3/+3
| | | | | Signed-off-by: Ben Warren <ben@skyportsystems.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
* netdev_dpdk.c: Add QoS functionality.Ian Stokes2016-03-021-0/+47
| | | | | | | | | | | | | | | | | | | | | | | This patch provides the modifications required in netdev-dpdk.c and vswitch.xml to allow for a DPDK user space QoS algorithm. This patch adds a QoS configuration structure for netdev-dpdk and expected QoS operations 'dpdk_qos_ops'. Various helper functions are also supplied. Also included are the modifications required for vswitch.xml to allow a new QoS implementation for netdev-dpdk devices. This includes a new QoS type `egress-policer` as well as its expected QoS table entries. The QoS functionality implemented for DPDK devices is `egress-policer`. This can be used to drop egress packets at a configurable rate. The INSTALL.DPDK.md guide has also been modified to provide an example configuration of `egress-policer` QoS. Signed-off-by: Ian Stokes <ian.stokes@intel.com> Acked-by: Flavio Leitner <fbl@sysclose.org> Acked-by: Daniele Di Proietto <diproiettod@vmware.com>
* ovsdb-server: Refactoring and clean up remote status reporting.Andy Zhou2016-02-281-13/+27
| | | | | | | | | | | | When reporting remote status, A listening remote will randomly pick a session and report its session status. This does not seem to make much sense. It is probably better to leave those fields untouched. Update ovs-vswitchd.conf.db(5) to match the change in implementation. Signed-off-by: Andy Zhou <azhou@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* ovsdb: fix a typo in ovs-vswitchd.conf.db(5).Andy Zhou2016-02-281-1/+1
| | | | | | Signed-off-by: Andy Zhou <azhou@ovn.org> Acked-by: Joe Stringer <joe@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
* dpif-netdev: Add dpif-netdev/pmd-rxq-show appctl command.Ilya Maximets2016-02-221-0/+3
| | | | | | | | | | | | | This command can be used to check the port/rxq assignment to pmd threads. For each pmd thread of the datapath shows list of queue-ids with port names. Additionally log message from pmd_thread_main() extended with queue-id, and type of this message changed from INFO to DBG. Signed-off-by: Ilya Maximets <i.maximets@samsung.com> Acked-by: Flavio Leitner <fbl@sysclose.org> Acked-by: Daniele Di Proietto <diproiettod@vmware.com>
* ovs-vswitchd: Preserve datapath ports across graceful shutdown.Ben Pfaff2016-02-051-7/+7
| | | | | | | | | | | | | | | | | | | Until now, asking ovs-vswitchd to shut down gracefully, e.g. with "ovs-appctl exit", would cause it to first remove all the ports from kernel-based datapaths. This has the unfortunate side effect that IP addresses on any removed "internal" ports are lost, even if the ports are added again when ovs-vswitchd is restarted. This is long-standing behavior, but it only became important when the OVS control scripts were changed to try to do graceful shutdown first instead of using a signal. This commit changes graceful shutdown so that it leaves ports in the datapath, fixing the problem. Fixes: 9b5422a98f8 (ovs-lib: Try to call exit before killing.) Reported-by: Edgar Cantu <eocantu@us.ibm.com> Reported-at: http://openvswitch.org/pipermail/discuss/2016-January/020024.html Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Gurucharan Shetty <guru@ovn.org>
* dpif-netdev: Allow different numbers of rx queues for different ports.Ilya Maximets2016-02-042-11/+15
| | | | | | | | | | | | | | | | | | | Currently, all of the PMD netdevs can only have the same number of rx queues, which is specified in other_config:n-dpdk-rxqs. Fix that by introducing of new option for PMD interfaces: 'n_rxq', which specifies the maximum number of rx queues to be created for this interface. Example: ovs-vsctl set Interface dpdk0 options:n_rxq=8 Old 'other_config:n-dpdk-rxqs' deleted. Signed-off-by: Ilya Maximets <i.maximets@samsung.com> Acked-by: Ben Pfaff <blp@ovn.org> Acked-by: Flavio Leitner <fbl@sysclose.org> Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
* bridge: Do not add bridges with '/' in name.Daniele Di Proietto2016-02-031-2/+3
| | | | | | | | | | | | | | | This effectively stops vswitchd from creating bridges with '/' in the name. OVS used to print a warning but the bridge was created anyway. This restriction is implemented because the bridge name is part of a filesystem path. This check is no substitute for Mandatory Access Control, but it certainly helps to catch the error early. Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com> [blp@ovn.org added a test] Acked-by: Ben Pfaff <blp@ovn.org>
* bridge: Also prohibit \ in bridge names.Ben Pfaff2016-02-032-6/+15
| | | | | | | | | This is only necessary for Windows but it's no great loss elsewhere. Also, document the restriction on bridge names. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
* Use ip_parse() and ipv6_parse() and variants in more places.Ben Pfaff2015-12-151-4/+3
| | | | | | | | | | | This saves some code and improves clarity, in my opinion. Some of these changes just change an inet_pton() call into a similar ip_parse() or ipv6_parse() call. In those cases the benefit is better type safety, since inet_pton()'s output parameter is type "void *". Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
* packets: New macro ETH_ADDR_STRLEN.Ben Pfaff2015-12-151-2/+3
| | | | | | | An upcoming commit will introduce another user. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
* bfd: improve ovs-vswitchd.conf.db(5) manpageAndy Zhou2015-11-031-6/+6
| | | | | | | | | Use the wording from RFC 5880 to describe the "diagnostic" and "remote_diagnostic" fields. Reported-by: Justin Pettit <jpettit@nicira.com> Signed-off-by: Andy Zhou <azhou@nicira.com> Acked-by: Justin Pettit <jpettit@nicira.com>
* vswitch.xml: Add caveat to flow-limit.Joe Stringer2015-10-151-1/+2
| | | | | | | This option should only be tweaked by developers investigating the behaviour of flow caching, so recommend that this option is not used. Signed-off-by: Joe Stringer <joestringer@nicira.com>
* vswitch.xml: Update docs for max-idle.Joe Stringer2015-10-151-0/+14
| | | | | | | | | | | | | When this configuration parameter was initially introduced into the database, the documentation was not updated to describe where it resides. Add the documentation, with the caveat that in most situations, there is no need to tweak this option and it is primarily present for the benefit of developers working on flow caching. Fixes: 72310b041cfa ("upcall: Configure datapath max-idle through ovs-vsctl.") Reported-by: Hadar Hen Zion <hadarh@dev.mellanox.co.il> Signed-off-by: Joe Stringer <joestringer@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* vswitch.xml: Untabify and reindent.Ben Pfaff2015-10-131-338/+346
| | | | | | | This is a large patch but it is entirely whitespace changes. Suggested-by: Justin Pettit <jpettit@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* bridge: Coding style fix.Ben Pfaff2015-10-121-1/+2
| | | | | Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Andy Zhou <azhou@nicira.com>
* automake: Consolidate schema checksum check.Gurucharan Shetty2015-10-021-9/+1
| | | | | Signed-off-by: Gurucharan Shetty <gshetty@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* lib/daemon: support --user option for all OVS daemonAndy Zhou2015-09-301-1/+1
| | | | | | | | | | OVS daemons can now support --user option to run as a non-root user with less privileges. See the manpage patch for more descriptions. Signed-off-by: Andy Zhou <azhou@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* ovs-ctl: Add option to delete transient ports.Thadeu Lima de Souza Cascardo2015-09-011-0/+8
| | | | | | | | | | | | | | | | | | | | | | | When using virtualization, new ports are created and removed all the time. These ports do not persist after a system reboot, for example. They may be created again by the virtualization manager, but that will happen after the vswitch is already running, and the virtualization manager will add them again to the bridge. If a reboot happens without properly deleting such ports, all kinds of errors will happen. The absence of the ports will be logged as errors, and adding those ports again to the database will fail. Deleting all bridges may not be an option, if the system cannot persist other information outside of OVSDB. This patch introduces the notion of transient ports. Ports may be added as transient, as a boolean in other_config smap. When openvswitch is started by using --delete-transient-ports ovs-ctl option, all transient ports will be removed. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@redhat.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* bridge: Relax the whitelist format for punix path.Alex Wang2015-08-291-5/+7
| | | | | | | | | | | This commit relaxes the whitelist format for punix path of service controller. Instead of only allowing punix:<ovs_rundir>/<bridge_name>.controller, the new format allows any suffix, like punix:<ovs_rundir>/<bridge_name>.*. (except one containing '/'). Signed-off-by: Alex Wang <ee07b291@gmail.com> Acked-by: Ben Pfaff <blp@nicira.com>
* userspace: Define and use struct eth_addr.Jarno Rajahalme2015-08-281-47/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Define struct eth_addr and use it instead of a uint8_t array for all ethernet addresses in OVS userspace. The struct is always the right size, and it can be assigned without an explicit memcpy, which makes code more readable. "struct eth_addr" is a good type name for this as many utility functions are already named accordingly. struct eth_addr can be accessed as bytes as well as ovs_be16's, which makes the struct 16-bit aligned. All use seems to be 16-bit aligned, so some algorithms on the ethernet addresses can be made a bit more efficient making use of this fact. As the struct fits into a register (in 64-bit systems) we pass it by value when possible. This patch also changes the few uses of Linux specific ETH_ALEN to OVS's own ETH_ADDR_LEN, and removes the OFP_ETH_ALEN, as it is no longer needed. This work stemmed from a desire to make all struct flow members assignable for unrelated exploration purposes. However, I think this might be a nice code readability improvement by itself. Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
* tunneling: Remove gre64 tunnel support.Pravin B Shelar2015-08-201-20/+4
| | | | | | | | | | GRE64 was introduced to extend gre key from 32-bit to 64-bit using gre-key and sequence number field. But GRE64 is not standard protocol. There are not many users of this protocol. Therefore we have decided to remove it. Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Acked-by: Jesse Gross <jesse@nicira.com>
* bridge: Reconfigure when system interfaces change.Thadeu Lima de Souza Cascardo2015-08-021-1/+26
| | | | | | | | | Whenever system interfaces are removed, added or change state, reconfigure bridge. This allows late interfaces to be added to the datapath when they are added to the system after ovs-vswitchd is started. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@redhat.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* ofproto-dpif-xlate: Rewrite mirroring to better fit flow translation.Ben Pfaff2015-07-311-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now, mirroring has been implemented by accumulating, across the whole translation process, a set of mirrors that should receive a mirrored packet. After translation was complete, mirroring restored the original version of the packet and sent that version to the mirrors. That implementation was ugly for multiple reasons. First, it means that we have to keep a copy of the original packet (or its headers, actually), which is expensive. Second, it doesn't really make sense to mirror a version of a packet that is different from the one originally output. Third, it interacted with recirculation; mirroring needed to happen only after recirculation was complete, but this was never properly implemented, so that (I think) mirroring never happened for packets that were recirculated. This commit changes how mirroring works. Now, a packet is mirrored at the point in translation when it becomes eligible for it: for mirrors based on ingress port, this is at ingress; for mirrors based on egress port, this is at egress. (Duplicates are dropped.) Mirroring happens on the version of the packet as it exists when it becomes eligible. Finally, since mirroring happens immediately, it interacts better with recirculation (it still isn't perfect, since duplicate mirroring will occur if a packet is eligible for mirroring both before and after recirculation; this is not difficult to fix and an upcoming commit later in this series will do so). Finally, this commit removes more code from xlate_actions() than it adds, which in my opinion makes it easier to understand. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* ovs-appctl: register unixctl commands in the beginningHuanle Han2015-07-161-0/+1
| | | | | | | | | | | | | | Some commands of ovs-appctl were lazily registered when first bridg or bfd was added. Before that, calling these commands raised a error("xxx is not a valid command"). The problem commangs included "bfd/...", "upcall/...","dpif/...","fdb/..." and so on. Fix this by moving the register into the "bridge_init" and "bridge_init_ofproto". All commands are registered at the moment ovs-vswitchd starts. Signed-off-by: Huanle Han <hanxueluo@gmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* Implement OpenFlow 1.4+ OFPTC_EVICTION.Ben Pfaff2015-07-032-116/+143
| | | | | | | | | | | | | | | | | | OpenFlow 1.4 introduces the ability to turn on flow table eviction with an OFPT_TABLE_MOD message specifying OFPTC_EVICTION. It also adds related machinery to other messages that mention OFPTC_* fields. This commit adds support for the new feature, implementing it as a second, parallel way to enable flow table eviction. It takes more work than it seems like it should because there is so much weirdness with the treatment of OFPTC_* flags over the evolution of OpenFlow; please refer to the explanation in DESIGN.md for more information. This commit also adds related support to ovs-ofctl, plus tests. Signed-off-by: Ben Pfaff <blp@nicira.com> Co-authored-by: Saloni Jain <saloni.jain@tcs.com> Signed-off-by: Saloni Jain <saloni.jain@tcs.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* ofproto: Use OF1.4+ "importance" as part of eviction criteria.Ben Pfaff2015-07-031-4/+15
| | | | | | | | | | The "importance" field is considered before flow timeout because I figure that if you set the importance, you think it's important. Signed-off-by: Ben Pfaff <blp@nicira.com> Co-authored-by: Saloni Jain <saloni.jain@tcs.com> Signed-off-by: Saloni Jain <saloni.jain@tcs.com> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
* mcast-snooping: Add Multicast Listener Discovery supportThadeu Lima de Souza Cascardo2015-07-011-4/+5
| | | | | | | | | | | | | Add support for MLDv1 and MLDv2. The behavior is not that different from IGMP. Packets to all-hosts address and queries are always flooded, reports go to routers, routers are added when a query is observed, and all MLD packets go through slow path. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@redhat.com> Cc: Flavio Leitner <fbl@redhat.com> Cc: Ben Pfaff <blp@nicira.com> [blp@nicira.com moved an assignment out of an 'if' statement] Signed-off-by: Ben Pfaff <blp@nicira.com>
* tunnel: Geneve TLV handling support for OpenFlow.Jesse Gross2015-06-251-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current support for Geneve in OVS is exactly equivalent to VXLAN: it is possible to set and match on the VNI but not on any options contained in the header. This patch enables the use of options. The goal for Geneve support is not to add support for any particular option but to allow end users or controllers to specify what they would like to match. That is, the full range of Geneve's capabilities should be exposed without modifying the code (the one exception being options that require per-packet computation in the fast path). The main issue with supporting Geneve options is how to integrate the fields into the existing OpenFlow pipeline. All existing operations are referred to by their NXM/OXM field name - matches, action generation, arithmetic operations (i.e. tranfer to a register). However, the Geneve option space is exactly the same as the OXM space, so a direct mapping is not feasible. Instead, we create a pool of 64 NXMs that are then dynamically mapped on Geneve option TLVs using OpenFlow. Once mapped, these fields become first-class citizens in the OpenFlow pipeline. An example of how to use Geneve options: ovs-ofctl add-geneve-map br0 {class=0xffff,type=0,len=4}->tun_metadata0 ovs-ofctl add-flow br0 in_port=LOCAL,actions=set_field:0xffffffff->tun_metadata0,1 This will add a 4 bytes option (filled will all 1's) to all packets coming from the LOCAL port and then send then out to port 1. A limitation of this patch is that although the option table is specified for a particular switch over OpenFlow, it is currently global to all switches. This will be addressed in a future patch. Based on work originally done by Madhu Challa. Ben Pfaff also significantly improved the comments. Signed-off-by: Madhu Challa <challa@noironetworks.com> Signed-off-by: Jesse Gross <jesse@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* Merge remote-tracking branch 'origin/master' into ovn4Justin Pettit2015-06-182-4/+17
|\
| * Add IGMPv3 support.Thadeu Lima de Souza Cascardo2015-06-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support IGMPv3 messages with multiple records. Make sure all IGMPv3 messages go through slow path, since they may carry multiple multicast addresses, unlike IGMPv2. Tests done: * multiple addresses in IGMPv3 report are inserted in mdb; * address is removed from IGMPv3 if record is INCLUDE_MODE; * reports sent on a burst with same flow all go to userspace; * IGMPv3 reports go to mrouters, i.e., ports that have issued a query. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@redhat.com> Acked-by: Flavio Leitner <fbl@sysclose.org> Signed-off-by: Ben Pfaff <blp@nicira.com>
| * netdev-dpdk: add dpdk vhost-user portsCiara Loftus2015-06-141-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for a new port type to the userspace datapath called dpdkvhostuser. A new dpdkvhostuser port will create a unix domain socket which when provided to QEMU is used to facilitate communication between the virtio-net device on the VM and the OVS port on the host. vhost-cuse ('dpdkvhost') ports are still available as 'dpdkvhostcuse' ports and will be enabled if vhost-cuse support is detected in the DPDK build specified during compilation of the switch. Otherwise, vhost-user ports are enabled. Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Acked-by: Flavio Leitner <fbl@redhat.com> Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
* | dummy: Introduce new --enable-dummy=system option.Ben Pfaff2015-06-161-2/+2
|/ | | | | | | | | | | | | | | | | | | | Until now there have been two variants for --enable-dummy: * --enable-dummy: This adds support for "dummy" dpif and netdev. * --enable-dummy=override: In addition, this replaces *every* existing dpif and netdev by the dummy type. The latter is useful for testing but it defeats the possibility of using the userspace native tunneling implementation (because all the tunnel netdevs get replaced by dummy netdevs). Thus, this commit adds a third variant: * --enable-dummy=system: This replaces the "system" dpif and netdev by dummies but leaves the others untouched. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Alex Wang <alexw@nicira.com>
* ovs-vswitchd: Update documentationMijo Safradin2015-06-051-4/+5
| | | | | | | | Commit 7a6cf343a410d77e05ebd7bf5b5ade52803879ae raised the MAXFD limit from 7500 to 65535. Signed-off-by: Mijo Safradin <mijo@linux.vnet.ibm.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* netdev-dpdk: Adapt the requested number of tx and rx queues.Daniele Di Proietto2015-05-221-1/+1
| | | | | | | | | | | | | | This commit changes the semantics of 'netdev_set_multiq()' to allow OVS DPDK to run on device with limited multi queue support. * If a netdev doesn't have the requested number of rxqs it can simply inform the datapath without failing. * If a netdev doesn't have the requested number of txqs it should try to create as many as possible and use locking. Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com> Signed-off-by: Ethan Jackson <ethan@nicira.com> Acked-by: Ethan Jackson <ethan@nicira.com>
* datapath: Add Stateless TCP Tunneling protocol.Pravin B Shelar2015-04-291-5/+24
| | | | | | | | | | | | | | | | | The Stateless TCP Tunnel (STT) protocol encapsulates traffic in IPv4/TCP packets. STT uses TCP segmentation offload available in most of NIC. On packet xmit STT driver appends STT header along with TCP header to the packet. For GSO packet GSO parameters are set according to tunnel configuration and packet is handed over to networking stack. This allows use of segmentation offload available in NICs The protocol is documented at http://www.ietf.org/archive/id/draft-davie-stt-06.txt Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Signed-off-by: Jesse Gross <jesse@nicira.com> Acked-by: Jesse Gross <jesse@nicira.com>
* bridge: Remove redundant call to discover_types().Ben Pfaff2015-04-201-4/+0
| | | | | Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Russell Bryant <rbryant@redhat.com>
* bridge: Remove unused macro OFP_PORT_ACTION_WINDOW.Ben Pfaff2015-04-201-10/+0
| | | | | | | | I guess that this was missed when the corresponding feature was removed. Reported-by: David Evans <davidjoshuaevans@gmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Russell Bryant <rbryant@redhat.com>
* in-band: Do not use manager with loopback address for in-band control.Alex Wang2015-04-201-2/+5
| | | | | | | | | | | | | | | | | | | If the manager resides on the same host as ovs, the manager target will be the loopback address. Then, if in-band is enabled on a bridge, the in-band module will constantly checks the connection to the manager to make sure the manager is reachable. However, the connection checking implementation cannot identify the route for the loopback address and will keep issuing the following warning: |in_band|WARN|cannot find route for controller (127.0.0.1): No such device or address. To fix this, this commit makes ovs not consider manager with loopback for in-band control at all, since the manager is always reachable on the same host. Signed-off-by: Alex Wang <alexw@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>