summaryrefslogtreecommitdiff
path: root/vswitchd
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* bridge: Fix use-after-free in bridge_aa_refresh_queue().Ben Pfaff2015-04-171-2/+2
| | | | | | | | Found by LLVM scan-build. Reported-by: Kevin Lo <kevlo@FreeBSD.org> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Dennis Flynn <drflynn@avaya.com>
* ovs-vswitchd: Don't print supported OpenFlow versions with "-V".Justin Pettit2015-04-151-1/+1
| | | | | | | | | | | When "-V" was supplied to ovs-vswitchd, it was returning a max supported OpenFlow version of 1.0, which is no longer true. There are other methods to determine the supported OpenFlow versions in ovs-vswitchd, so remove it from the "-V" output. Reported-by: Russell Bryant <rbryant@redhat.com> Signed-off-by: Justin Pettit <jpettit@nicira.com> Acked-by: Russell Bryant <rbryant@redhat.com>
* dpif-netdev: Add dpif-netdev/pmd-stats-* appctl commands.Daniele Di Proietto2015-04-141-0/+18
| | | | | | | | | | | | | | | | These commands can be used to get packets and cycles counters on a pmd thread basis. They're useful to get a clearer picture about the performance of the userspace datapath. They export these pieces of information: - A (per-thread) view of the caches hit rate. Hits in the exact match cache are reported separately from hits in the masked classifier - A rough cycles count. This will allow to estimate the load of OVS and the polling overhead. Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com> Acked-by: Ethan Jackson <ethan@nicira.com>
* bridge: Wait for previous stats update transation when it is incomplete.Alex Wang2015-04-061-3/+16
| | | | | | | | | | | | | | | When ovsdb happens to get blocked for few seconds, the 'stats_timer' will not be updated due to incompletion of previous transaction. When the current time passes the 'stats_timer', the call to poll_timer_wait_until(stats_timer) will keep waking up ovs-vswitchd, causing 100% cpu utilization. This commit fixes this issue by making ovs-vswitchd wait on the previous idl transaction when it is incomplete rather than the 'stats_timer'. Signed-off-by: Alex Wang <alexw@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* bridge: Do not wait for status update when there is no bridge.Alex Wang2015-04-061-7/+1
| | | | | Signed-off-by: Alex Wang <alexw@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* bridge: Execute bridge_run() only after retrieving db contents.Alex Wang2015-04-011-1/+4
| | | | | | | | | | | | | | | | | | | | | | | During upgrade of ovs-vswitchd, we do not want to recreate the already configured kernel interfaces. Especially when IP address is assigned to the internal port, the recreation will cause the lost of connection. Therefore, ovs-vswitchd should read current ovsdb content first and then reuse the existing kernel interfaces that are configured in ovsdb. In terms of the code language, ovs-vswitchd should only execute bridge_run() after it finishes reading the ovsdb content. However, this expected behavior is broken by the recent commit d18e52e (ovsdb-idl: Tolerate missing tables and columns.) which causes the execution of bridge_run() before getting the hint of configured interfaces from ovsdb. To fix the issue, this commit makes sure that the execution of bridge_run() happens only after retrieving the ovsdb contents. VMware-BZ: #1424342 Signed-off-by: Alex Wang <alexw@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* vswitch.xml: Improve description of forward-bpdu.Ben Pfaff2015-03-311-12/+41
| | | | | | | | The description was at best incomplete and difficult to understand. Reported-by: Brian Field <Brian_Field@cable.comcast.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Justin Pettit <jpettit@nicira.com>
* tunnels: Enable UDP checksum computation for Geneve and VXLAN.Jesse Gross2015-03-241-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | The kernel module can already support outer UDP checksums for Geneve and VXLAN using the standard checksum flag in tunnel metadata. This makes userspace aware of the capability so that users can enable it on tunnel ports. There is a complication in that there is no way for userspace to probe or detect if the kernel does not support this capability in order to warn the user. In this case, connectivity will appear to function normally but packets will not be checksum protected. This is mainly an issue for VXLAN which has existed in the kernel for a some time without checksum support - while there are also a few kernel versions that support Geneve only without checksums, they are much less common. There isn't a particularly good solution to the compatibility issue without introducing a larger capabilities structure. However, UDP checksums are likely to be used only rarely at this point in time and the VXLAN spec (where the main problem lies) recommends against them. Therefore, this is considered to be an advanced user feature and we settle for just documenting the issue. Signed-off-by: Jesse Gross <jesse@nicira.com> Acked-by: Pritesh Kothari <pritesh.kothari@cisco.com>
* vswitch.ovsschema: Add datapath_types and port_types.Mark D. Gray2015-03-243-7/+81
| | | | | | | | | | | | | | | At startup enumerate datapath and port types and add this information to the datapath_types and port_types columns in the ovsdb. This allows an ovsdb client to query the datapath in order to determine if certain datapath and port types exist. For example, by querying the port_types column, an ovsdb client will be able to determine if this instance of ovs-vswitchd was compiled with DPDK support. Signed-off-by: Mark D. Gray <mark.d.gray@intel.com> Signed-off-by: Billy O'Mahony <billy.o.mahony@intel.com> [blp@nicira.com made several changes] Signed-off-by: Ben Pfaff <blp@nicira.com>
* netdev-linux: Support for SFQ, FQ_CoDel and CoDel qdiscs.Jonathan Vestin2015-03-232-1/+28
| | | | | | | | This patch adds support for SFQ, CoDel and FQ_CoDel classless qdiscs to Open vSwitch. It also removes the requirement for a QoS to have at least one Queue (as this makes no sense when using classless qdiscs). I have also not implemented class_{get,set,delete,get_stats,dump_stats} because they are meant for qdiscs with classes. Signed-off-by: Jonathan Vestin <jonavest@kau.se> [blp@nicira.com mostly applied stylistic changes] Signed-off-by: Ben Pfaff <blp@nicira.com>
* netdev-dpdk: add dpdk vhost-cuse portsKevin Traynor2015-03-191-4/+6
| | | | | | | | | | | | | | | This patch adds support for a new port type to userspace datapath called dpdkvhost. This allows KVM (QEMU) to offload the servicing of virtio-net devices to its associated dpdkvhost port. Instructions for use are in INSTALL.DPDK. This has been tested on Intel multi-core platforms and with clients that have virtio-net interfaces. Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Signed-off-by: Kevin Traynor <kevin.traynor@intel.com> Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com> Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
* automake.mk: Improve schema checksum error message.Mark D. Gray2015-03-191-1/+1
| | | | | | Signed-off-by: Mark D. Gray <mark.d.gray@intel.com> Signed-off-by: Billy O'Mahony <billy.o.mahony@intel.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* netdev-linux: Be more careful about integer overflow in policing.Ben Pfaff2015-03-171-2/+2
| | | | | | | | | Otherwise the policing limits could make no sense if large rates were specified. Reported-by: Zhangguanghui <zhang.guanghui@h3c.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Ansis Atteka <aatteka@nicira.com>
* command-line: add ovs_cmdl_ prefixRussell Bryant2015-03-161-2/+2
| | | | | | | | | | | | | | | | | The coding style guidelines include the following: - Pick a unique name prefix (ending with an underscore) for each module, and apply that prefix to all of that module's externally visible names. Names of macro parameters, struct and union members, and parameters in function prototypes are not considered externally visible for this purpose. This patch adds the new prefix to the externally visible names. This makes it a bit more obvious what code is coming from common command line handling code. Signed-off-by: Russell Bryant <rbryant@redhat.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* Use the IANA-assigned ports for OpenFlow and OVSDB.Justin Pettit2015-03-122-33/+17
| | | | | | | | 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>
* vswitchd: Update IPv6 controller examples to use OpenFlow port.Justin Pettit2015-03-121-3/+3
| | | | | | | | The IPv6 examples in ovs-vswitchd.conf.db to configure the OpenFlow port used the OVSDB port number, which is confusing. Signed-off-by: Justin Pettit <jpettit@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
* bridge: Enable RSTP if both STP and RSTP are enabled.Ben Pfaff2015-03-051-24/+22
| | | | | | | | | | | | | Until now, if both STP and RSTP were enabled, ovs-vswitchd would actually enable only the one it first noticed to be enabled, and actually turn off the setting for the other one in the database (!). This doesn't match ovs-vswitchd behavior for other contradictory configurations, so this commit changes its behavior so that, if both are enabled, RSTP takes precedence. Reported-by: Daniele Venturino <daniele.venturino@m3s.it> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Ansis Atteka <aatteka@nicira.com>
* ovs-lldp: Use better types for ISID and VLANs.Ben Pfaff2015-03-031-5/+4
| | | | | | | | | | | An ISID is 24 bits, so it fits in a uint32_t. A VLAN is 12 bits, so it fits in a uint16_t. Use these types consistently, instead of int64_t. This removes a check in aa_mapping_unregister() that seems a little mysterious to me: it previously checked for ISID and VLAN values >= 0. I don't see a way that they could be < 0 in this situation though. Signed-off-by: Ben Pfaff <blp@nicira.com>
* auto-attach: Add auto-attach support to bridge layer and command setDennis Flynn2015-03-033-5/+364
| | | | | | | | | | | | | This is the final commit in the series of commits that deliver initial support for Auto-Attach. Specifically this commit delivers auto-attach support to the OVS bridge layer as well as the new auto-attach commands. The OVSDB schema is modified to define the new auto-attach entries. The man pages, unit tests, and news and license notice files are also updated. A unit test is provided to validate the construction of auto-attach packets. 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-031-2/+2
| | | | | | | | | | | | 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>
* FAQ: Update VXLAN references from draft to RFC7348Kentaro Ebisawa2015-02-201-3/+2
| | | | | | | VXLAN is now RFC, so we better to change the pointer to it. Signed-off-by: Kentaro Ebisawa <ebiken.g@gmail.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
* ovsdb-doc: Get manpage name from the XML file instead of command line.Ben Pfaff2015-02-192-2/+1
| | | | | | | This seems like a better place for it. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Gurucharan Shetty <gshetty@nicira.com>