aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-01-14Release Open vSwitch 0.99.0.v0.99.0Justin Pettit
This is an "unstable" release.
2010-01-13datapath: Disable preemption updating per-CPU data in dp_dev_recv().Ben Pfaff
dp_dev_recv() is called from do_output(), which can be called from execute_actions(), which can be called from process context with preemption enabled, so it needs to disabled preemption before it can access per-CPU data. Build tested on a few different kernels. Bug #2316. Reported-by: John Galgay <john@galgay.net> CC: Dan Wendlandt <dan@nicira.com>
2010-01-06Add runtime test that strtok_r() bug fix works.Ben Pfaff
Our bug fix for glibc's strtok_r() bug was not effective in distribution tarballs. This new test should catch that problem earlier in case it recurs.
2010-01-06Include lib/string.h in "make dist"-generated tarballs.Ben Pfaff
This file was missing from distributions. Its lack prevented the strtok_r() fix from working on systems that need it. Reported-by: Tetsuo NAKAGAWA <nakagawa@mxc.nes.nec.co.jp>
2010-01-05vconn: Add comment describing usage of VCONN_SSL_LONG_OPTIONSJustin Pettit
2010-01-04Add extended vlog options to utilitiesJustin Pettit
The ovs-discover, ovs-dpctl, and ovs-ofctl man pages indicated that they supported extended vlog options (e.g., --log-file), but they actually did not. This commit adds them. Reported by Tetsuo NAKAGAWA <nakagawa@mxc.nes.nec.co.jp>
2010-01-04ofproto: Fix segfault when changing command execution settingsTetsuo NAKAGAWA
If the remote command execution settings are changed and a NULL argument is given for the directory, a crash would occur. With this change, the default directory is used.
2010-01-04xenserver: Fix small typo in vswitch-xapi-updateJustin Pettit
2010-01-04Fix documented name of key used to disable MAC learning on a VLAN.Ben Pfaff
The code uses "disable-learning" but the documentation claimed that it was "learning-disable".
2009-12-17initscript: pass complete path to pidfile to status commandBen Pfaff
Older versions of RHEL/CentOS used pifof in preference to the pidfile and hence we got away with passing just the basename instead of including the full path. Using pidof first doesn't make much sense and this was fixed in RHEL 5 update 4 (see https://bugzilla.redhat.com/show_bug.cgi?id=440658) This means that on RHEL 5.4 "service vswitch status" always returned "ovs-vswitchd is stopped" even if it was running. Fix this issue by passing in the correct pidfile name. Cross-port of Ian Campbell's commit d1c8c9e4 on xs5.7 branch.
2009-12-04ovs-vsctl: Fix traceback when telling target to reloadJustin Pettit
The code to tell the target to reload was referencing a non-existent global variable to determine the target. This change uses the correct one.
2009-12-01netdev: Allow explicit creation of netdev objectsJustin Pettit
This change adds netdev_create() and netdev_destroy() functions to allow the creation of network devices through the netdev library. Previously, network devices had to already exist or be created on demand through netdev_open(). This caused problems such as not being able to specify TAP devices as ports in ovs-vswitchd, which this patch fixes. This also lays the groundwork for adding GRE and VDE support.
2009-11-30dpif: Minor provider comment cleanups.Justin Pettit
2009-11-24classifier: Improve comments.Ben Pfaff
2009-11-23ovs-openflowd: Add support for userspace-only switching.Ben Pfaff
2009-11-23svec: New function svec_split().Ben Pfaff
This is useful in an upcoming commit.
2009-11-23dpif: New function dpif_create_and_open().Ben Pfaff
This function combines what dpif_create() and dpif_open() do. It allows us to factor a tiny amount of code out of the vswitch, but more importantly this function is also useful in the following commit.
2009-11-23netflow: Break out code for sending packets into a new "collectors" module.Ben Pfaff
sFlow uses a similar UDP structure so this will allow use to reuse the NetFlow code for it.
2009-11-23netflow: Use inet_open_active() to factor out some code.Ben Pfaff
2009-11-23socket-util: Generalize tcp_open_*() to UDP, as inet_open_*().Ben Pfaff
The tcp_open_active() and tcp_open_passive() functions don't really have any strong dependencies on TCP. With a couple of simple changes they can be used for UDP also. Since this is useful for Netflow, this commit does so.
2009-11-23socket-util: Make TCP open function support no default port.Ben Pfaff
Until now, tcp_open_active() and tcp_open_passive() have only been used in situations where there is a reasonable default port, e.g. OFP_TCP_PORT. But for NetFlow there is no universal default, so enhance these functions so that they can require the user to specify a port explicitly. Crossported from the 'db' branch, where this is useful for JSON-RPC, which also has no widely known port.
2009-11-23netdev: New function netdev_get_ifindex().Ben Pfaff
sFlow needs the ifindex of an interface, so this commit adds a function to retrieve it.
2009-11-23Move C compiler warning (-W) flags from CFLAGS to AM_CFLAGS.Ben Pfaff
C compiler warning options added by the "configure" script have until now been put into CFLAGS. However that option is supposed to be reserved for the user under Automake rules, so move them to AM_CFLAGS. Besides increased adherence to Automake rules, this is useful because AM_CFLAGS can be overridden on a per-target (e.g. program or library) basis, whereas CFLAGS cannot. In turn, building the sFlow library (which will be added in an upcoming commit) requires overriding the compiler flags to avoid some warning messages. (By modifying the warning flags, we avoid the need to modify the sFlow library in any way.)
2009-11-23acinclude.m4: Fix inconsistency.Ben Pfaff
Both ; and : are valid shell commands here, but one branch of the "if" uses one and the other branch uses the other. Use the same one, for consistency's sake.
2009-11-19Correct dameon options in INSTALL.bridgeJustin Pettit
A while back, we retired the short options for daemons. The INSTALL.bridge file was never updated to reflect this. CC: Jeongkeun Lee <jklee@hp.com>
2009-11-19netdev: Really set output values to 0 on failure in netdev_get_features().Ben Pfaff
The comment on netdev_get_features() claimed that all of the passed-in values were set to 0 on failure, but the implementation didn't live up to the promise. CC: Paul Ingram <paul@nicira.com>
2009-11-19ovs-controller: Add --wildcard and --normal features.Jean Tourrilhes
This adds two command line switches to ovs-controller to: 1) Use wildcards instead of exact matches. 2) Use "normal" action instead of explicit port.
2009-11-19datapath: Use HAVE_PROTO_DATA_VALID when defining vswitch_skb_checksum_setupIan Campbell
The purpose of the non-empty variant of vswitch_skb_checksum_setup is to synchronise the proto_data_valid and proto_csum_blank fields into the standard skb csum/ip_summed fields, therefore it is more correct to key off of HAVE_PROTO_DATA_VALID. Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2009-11-18datapath: Fix warning building datapath on pre-2.6.24 kernels.Ben Pfaff
The Linux 'min' macro checks that its arguments have the same type, and if not the compiler reports a message about incompatible pointer types. On pre-2.6.24 kernels skb_headroom() returns int, so this code was firing a warning: unsigned headroom = max(min_headroom, skb_headroom(skb)); This commit makes skb_headroom() return an unsigned int regardless of kernel version.
2009-11-18datapath: Check for proto_data_valid member instead of kernel version.Ben Pfaff
Commit 5ef800a69 "datapath: Copy Xen's checksumming fields when doing skb_copy" should copy proto_data_valid between sk_buffs when that field is present. However the check for CONFIG_XEN plus kernel version 2.6.18 isn't sufficient, because SLES 11 kernels are version 2.6.27 but do have this field. This commit adds a configure-time check for the presence of the member instead of attempting to guess based on the kernel version. Thanks to Ian Campbell for reporting this problem. CC: <Ian.Campbell@citrix.com>
2009-11-18Merge citrix branch into master.Ben Pfaff
2009-11-18datapath: Allow minimum headroom to be set when copying buffers.Jesse Gross
If we need to copy an sk_buff in order to make it writable, allow the minimum headroom to be specified. This ensures that if we need to add additional data, such as a VLAN tag, we will not have to make a second copy. Solves bug #2197 in certain situations.
2009-11-18datapath: Copy Xen's checksumming fields when doing skb_copy.Jesse Gross
Two fields that control checksumming were added to sk_buff in Xen: proto_data_valid and proto_csum_blank. These fields are copied when doing a skb_clone but not in other functions such as skb_copy, which can lead to checksum errors in TCP and UDP when offloading is enabled in the guest. To fix this we manually copy these fields, though ideally this should be fixed upstream in Xen. Bug #2299
2009-11-18datapath: Fix build with kernel header layout recently adopted by Debian.Ben Pfaff
Recent Debian kernel-header packages divide kernel headers into two directories: the "common" headers that are not architecture-specific, which go in a directory named like /usr/src/kernel-headers-2.6.31-1-common, and architecture-specific headers in a directory named, e.g. /usr/src/kernel-headers-2.6.31-1-686. OVS needs to look at the ones in the "common" directory as part of its configuration process, but the build directory provided on --with-l26 is the architecture-specific directory. We also need the architecture-specific directory, since it is the one that we use as part of the "make", so we can't simply make the user specify the common directory on --with-l26. Furthermore, there is no easy-to-see link between the two directories, except as part of the text in a Makefile, which is not the easiest language to parse. This commit attempts to kluge around the problem by using the Debian directory naming. If the build directory does not contain the headers, then we replace the last component of its name by "-common" and check for the headers there. This is not ideal, but it does solve the actual problem at hand. Tested with Debian's linux-headers-2.6.31-1-686 and with a few older sets of headers that do not use this scheme.
2009-11-18Document userspace switch.Ben Pfaff
2009-11-18Update documentation to mention correct Autoconf version prerequisite.Ben Pfaff
2009-11-17datapath: Remove unused print_flow() functionJustin Pettit
2009-11-16datapath: Cleanup tab/space issues in datapathJustin Pettit
2009-11-16vconn: Fix endian issue in unknown action type error messageJustin Pettit
2009-11-16ovs-ofctl: Add support for transport and network modification actionsJustin Pettit
Add support to ovs-ofctl for modifying the network source and destination IP address with the "mod_nw_src" and "mod_nw_dst" actions, respectively. And support modifying the TCP/UDP source and destination ports with the "mod_tp_src" and "mod_tp_dst" actions, respectively.
2009-11-16ofproto: Support missing set_nw_dst and set_tp_dst translationsJustin Pettit
The function that translates OpenFlow actions into datapath actions was missing definitions for OFPAT_SET_NW_DST and OFPAT_SET_TP_DST. This meant those actions would not occur in the datapath.
2009-11-16datapath: Calculate proper checksum for set_tp_src/dst actionJustin Pettit
When the set_tp_src or set_tp_dst action is used, the calculation for where the checksum is located was wrong. This caused the checksum to not be updated and packet corruption in the bad offset.
2009-11-16ovs-appctl: Fix shadow variable that could cause segfaultJustin Pettit
The variable "socket_name" contains the name of the unix domain socket to be used for communicating with the OVS process. If the target does not begin with a "/", the socket name is determined based on a pidfile. A shadow copy of "socket_name" was kept in the block that looks at the pidfile, which would cause the function-level one to not be set. This removes that shadow copy.
2009-11-14ofproto: Update time of super-rule to match sub-ruleJustin Pettit
Rules keep track of their creation and last used time. When a sub-rule is updated, it wasn't updating the time of its super-rule. This commit fixes that behavior. Thanks to Jesse Gross for the help tracking this down.
2009-11-13ovs-openflowd: Setup default listenerJustin Pettit
By default, ovs-openflowd was not listening for any management connections. Tools such as ovs-ofctl attempt to use a default location based on the datapath name. This change creates that default listener.
2009-11-13ofproto: Don't send OpenFlow flow expirations hidden rules.Jesse Gross
We were reporting flow expirations for the hidden exact match flows with the stats set to zero. These are an implementation detail and can confuse controllers, so don't report them. CC: David Erickson <derickso@stanford.edu>
2009-11-13ofproto: Distinguish stats from before and after action changes.Jesse Gross
When a rule is revalidated and the actions change don't lump all the stats together. This will clear the stats in the datapath and send a NetFlow expiration message. This could already happen before in certain circumstances so this change makes it more consistent.
2009-11-13ofproto: Correct structure length assertion for ofp_action_vlan_pcpJustin Pettit
2009-11-13xenserver: interface-reconfigure and vif hotplug relicensing.Ian Campbell
As part of the Open Sourcing of xapi (the XenServer toolstack) via the XenCloud project (announcement in [0]). The upstream versions of interface-reconfigure and the vif hotplug script have been re-licensed under an LGPL v2.1 + exception license. The exception applies to other files in the upstream repository and doesn't particularly make sense for these scripts but it is included to maintain the uniformity of the license for the upstream repository. This patch synchronises the licenses headers on those scripts with the upstream version. Since those headers refer to a file called LICENSE in the upstream repository I have included a copy here, slightly modified to indicate precisely which files it applies to. Git shows[1] that only myself and Nicira employees have made modifications to these scripts in the openvswitch repository. The licensing change has been okayed by Keith Amidon on behalf of Nicira. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> [0] http://lists.xensource.com/archives/html/xen-devel/2009-11/msg00117.html
2009-11-12ofp-print: Add missing error typesJustin Pettit