summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* wdp-xflow: Remove wx structure from global list when closing.wdpBen Pfaff2011-03-031-0/+1
| | | | | | Fixes a use-after-free error in wx_run(). Reported-by: Hao Zheng <hzheng@nicira.com>
* vswitchd: Use wdp instead of xfif interface from bridge code.Ben Pfaff2011-02-053-56/+53
| | | | | | | | | Part of the point of the wdp branch is to use the high-level wdp interface where it makes sense. But until now this hasn't been extended to the bridge code. This commit fixes that. There are still some references to xflow inside this file that need to be looked at.
* wdp-xflow: Always report an up-to-date port list in wx_port_list().Ben Pfaff2011-02-021-19/+53
| | | | | | | | Until now wx_port_list() has reported the cached list of ports kept in wx->ports. This won't work, however, in a followup patch when bridge.c switches from using an xfif to using a wdp, because the bridge reconfiguration code expects to add and delete ports and have the list of ports returned by wx_port_list() updated immediately.
* vswitchd: Use wdp functions instead of xfif ones for enumerating bridges.Ben Pfaff2011-01-271-18/+19
|
* ofp-util: Use our usual variable naming convention in make_ofp_error_msg().Ben Pfaff2010-11-041-6/+6
|
* ofp-util: Actually map vendor codes to IDs correctly.Ben Pfaff2010-11-041-0/+2
| | | | Reported-by: Justin Pettit <jpettit@nicira.com>
* ofp-util.h: Use NX_VENDOR_ID instead of literal numeric constant.Ben Pfaff2010-11-041-1/+1
|
* Fix typos in comments.Ben Pfaff2010-11-042-5/+10
|
* Merge remote branch 'origin/master' into HEADBen Pfaff2010-10-062-5/+4
|\
| * datapath: Force our include directory to be first.Jesse Gross2010-10-051-2/+1
| | | | | | | | | | | | | | | | | | XenServer puts our header files in the standard system search path by default. This is normally OK, except when we introduce new things which aren't in those headers. Since the system picks up the older files first this leads to undefined sysmbols. Signed-off-by: Jesse Gross <jesse@nicira.com>
| * xenserver: ovs-external-ids log to file instead of syslogEthan Jackson2010-10-051-3/+3
| | | | | | | | | | | | | | | | | | ovs-external-ids was crashing on startup because it was brought up before /dev/log exists. The simplest solution to this problem is to have it log to /var/log/openvswitch/ovs-external-ids.log . This is consistent with vswitchd and ovsdb-server. Signed-off-by: Ethan Jackson <ethan@nicira.com>
* | Merge "master" into "wdp".Ben Pfaff2010-10-06151-1792/+6270
|\ \ | |/
| * tunnel: Correctly check for internal device.Jesse Gross2010-10-041-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With header caching we check to see if the next device in the stack is an OVS device and, if so, cache that flow as well. However, the test for this called internal_dev_get_vport() assuming that it would return NULL if the device is not an internal device. It doesn't, however, it just returns the offset from the device where the vport data structure would be if it were an internal device. This changes it to explicitly check for an internal device first to avoid a panic. Bug #3470 Reported-by: Ram Jothikumar <rjothikumar@nicira.com> Signed-off-by: Jesse Gross <jesse@nicira.com> Reviewed-by: Justin Pettit <jpettit@nicira.com>
| * Add Nicira extension for modifying queue without transmittingJustin Pettit2010-10-027-2/+91
| | | | | | | | | | | | | | | | | | | | | | The OpenFlow OFPAT_ENQUEUE action sets a queue id and outputs the packet in one shot. There are times in which the queue should be set, but the output port is not yet known. This commit adds the NXAST_SET_QUEUE and NXAST_POP_QUEUE Nicira extension actions to modify the queue configuration without requiring a port argument. CC: Jeremy Stribling <strib@nicira.com> CC: Keith Amidon <keith@nicira.com>
| * netflow: Avoid (theoretically) looping 2**32 times.Ben Pfaff2010-10-011-17/+32
| | | | | | | | | | | | | | | | | | If the netflow byte counter is UINT64_MAX, or at any rate much larger than UINT32_MAX, netflow_expire() could loop for a very long time. This commit avoids that case. This is only a theoretical bug fix. I don't know of any actual bug that would cause a counter to be that high.
| * netflow: Do 64-bit division less often.Ben Pfaff2010-10-011-8/+11
| | | | | | | | | | 64-bit division is expensive. Usually we can avoid it entirely, as done by this patch.
| * INSTALL.Linux: Describe how to upgrade the Open vSwitch database.Ben Pfaff2010-10-011-2/+31
| | | | | | | | Suggested-by: Parham Kiani <pkiani@essex.ac.uk>
| * ovs-controller: Improve QoS abilities.Ben Pfaff2010-10-014-16/+158
| | | | | | | | | | | | | | | | This makes it a little easier to test Open vSwitch QoS features using ovs-controller, by making it possible to assign queues on the basis of input port, instead of just allowing a single queue for a whole switch. CC: Michael Mao <mmao@nicira.com>
| * learning-switch: Introduce struct for configuration.Ben Pfaff2010-10-013-38/+46
| | | | | | | | This should make extensions easier.
| * ovs-controller: Make --with-flows read the file only once, at startup.Ben Pfaff2010-10-015-36/+39
| | | | | | | | | | | | | | | | | | | | A couple of people have reported that ovs-controller --with-flows is confusing. This seems to be because it doesn't read the file with the flows until the first connection from a switch. Then, if the file has a syntax error, it exits. This commit changes the behavior so that it reads the file immediately at startup instead.
| * ofp-parse: Add test.Ben Pfaff2010-10-014-0/+45
| |
| * ofp-print: Make output easier to read.Ben Pfaff2010-10-011-15/+38
| |
| * ofp-parse: Factor out duplicated code into new functions.Ben Pfaff2010-10-014-77/+72
| |
| * ofp-parse: Properly byteswap in_port.Ben Pfaff2010-10-011-2/+4
| |
| * ofproto: Only dump queue statistics if the queue really exists.Ben Pfaff2010-10-011-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this commit, "ovs-ofctl queue-stats br0 ALL 1" will print something like the following if port 3 has queue 1 but none of the other ports do: stats_reply (xid=0x7b378): flags=none type=5(queue) 4 queues port 0 queue 1: bytes=?, pkts=?, errors=? port 1 queue 1: bytes=?, pkts=?, errors=? port 2 queue 1: bytes=?, pkts=?, errors=? port 3 queue 1: bytes=0, pkts=0, errors=0 With this commit, it will print the following instead, which seems more useful: stats_reply (xid=0x3ada1): flags=none type=5(queue) 1 queues port 3 queue 1: bytes=0, pkts=0, errors=0
| * netdev-linux: Fix off-by-one error dumping queue stats.Ben Pfaff2010-10-011-1/+1
| | | | | | | | | | | | Linux kernel queue numbers are one greater than OpenFlow queue numbers, for HTB anyhow. The code to dump queues wasn't compensating for this, so this commit fixes it up.
| * ovs-ofctl: Add "queue-stats" command to print queue stats.Ben Pfaff2010-10-013-0/+91
| |
| * Switch many macros from using CONTAINER_OF to using OBJECT_CONTAINING.Ben Pfaff2010-10-0133-261/+197
| | | | | | | | | | These macros require one fewer argument by switching, which makes code that uses them shorter and more readable.
| * util: New macro OBJECT_CONTAINING.Ben Pfaff2010-10-011-0/+10
| | | | | | | | | | | | This macro is a variant on CONTAINER_OF that takes an object pointer instead of a type name as its second argument. In the following commit this will simplify many users of CONTAINER_OF.
| * ofproto: Use hash table instead of sparse array for ofports.Ben Pfaff2010-10-011-51/+60
| | | | | | | | | | | | | | | | | | The main advantage of a sparse array over a hash table is that it can be iterated in numerical order. But the OVS implementation of sparse arrays is quite expensive in terms of memory: on a 32-bit system, a sparse array with exactly 1 nonnull element has 512 bytes of overhead. In this case, the sparse array's property of iteration in numerical order is not important, so this commit converts it to a hash table to save memory.
| * sflow: Use hash table instead of sparse array for sflow ports.Ben Pfaff2010-10-011-22/+49
| | | | | | | | | | | | | | | | | | The main advantage of a sparse array over a hash table is that it can be iterated in numerical order. But the OVS implementation of sparse arrays is quite expensive in terms of memory: on a 32-bit system, a sparse array with exactly 1 nonnull element has 512 bytes of overhead. In this case, the sparse array's property of iteration in numerical order is not important, so this commit converts it to a hash table to save memory.
| * bridge: Use hash table instead of sparse array for bridge ports.Ben Pfaff2010-10-011-8/+18
| | | | | | | | | | | | | | | | | | The main advantage of a sparse array over a hash table is that it can be iterated in numerical order. But the OVS implementation of sparse arrays is quite expensive in terms of memory: on a 32-bit system, a sparse array with exactly 1 nonnull element has 512 bytes of overhead. In this case, the sparse array's property of iteration in numerical order is not important, so this commit converts it to a hash table to save memory.
| * hmap: New function hmap_clear().Ben Pfaff2010-10-012-0/+18
| |
| * netdev-linux: Use hash table instead of sparse array for QoS classes.Ben Pfaff2010-10-011-65/+106
| | | | | | | | | | | | | | | | | | The main advantage of a sparse array over a hash table is that it can be iterated in numerical order. But the OVS implementation of sparse arrays is quite expensive in terms of memory: on a 32-bit system, a sparse array with exactly 1 nonnull element has 512 bytes of overhead. In this case, the sparse array's property of iteration in numerical order is not important, so this commit converts it to a hash table to save memory.
| * ovs-vsctl: Reduce log level for "Called as..." for read-only invocations.Ben Pfaff2010-10-011-39/+55
| | | | | | | | | | | | | | When ovs-vsctl is not actually going to modify the database, it is less interesting in the log, so we might as well only log it at "debug" level. Suggested-by: Neil McKee <neil.mckee@inmon.com>
| * ovs-vsctl: Factor out and optimize searching for a command by name.Ben Pfaff2010-10-011-42/+58
| | | | | | | | | | The following commit will introduce a new function that wants to do this a lot, so we might as well do it efficiently.
| * debian: openvswitch-common ethtool should not be requiredEthan Jackson2010-09-281-1/+2
| | | | | | | | | | | | | | The ethtool package is only used to help ovs-bugtool create bug reports and does not prevent the script from running if it's missing. Making it a requirement for installation is a bit draconian.
| * debian: Restart ovs-monitor-ipsec when --monitor specifiedJustin Pettit2010-09-271-0/+1
| | | | | | | | | | | | The OVS Python daemon library will restart a process when started with "--monitor" that exits with RESTART_EXIT_CODE. Have ovs-monitor-ipsec exit with this code when an uncaught exception occurs.
| * debian: Create ovs-monitor-ipsec rundir if it doesn't existJustin Pettit2010-09-271-0/+4
| | | | | | | | Reported-by: Sajjad Lateef <slateef@nicira.com>
| * debian: Added a manpage for ovs-bugtoolEthan Jackson2010-09-233-0/+48
| | | | | | | | Added a manpage for the ovs-bugtool script.
| * tests: Test that children restart with special exit codeEthan Jackson2010-09-232-1/+57
| | | | | | | | | | Added a test which checks that the python daemon code properly restarts child processes which exit with RESTART_EXIT_CODE.
| * tests: Remove trailing whitespace from python daemon testsEthan Jackson2010-09-222-8/+8
| | | | | | | | | | Removes the trailing whitespace from the testing code related to daemonizing in Python.
| * xenserver: monitor-external-ids should run with --monitorEthan Jackson2010-09-223-2/+9
| | | | | | | | | | | | | | | | The init script starts monitor-external-ids with --monitor when configured to do so. Also made changes to guarantee that --monitor actually restarts ovs-external-ids. Signed-off-by: Ethan Jackson <ethan@nicira.com>
| * xenserver: Added additional logging to ovs-external-idsEthan Jackson2010-09-221-7/+21
| | | | | | | | | | | | | | Added additional logging for debug-ability and migrated to python logging module. Signed-off-by: Ethan Jackson <ethan@nicira.com>
| * vswitch: Consistently use spaces instead of tabs in vswitch.xmlJustin Pettit2010-09-231-48/+48
| |
| * netdev: Cleanup minor comment formatting issues.Justin Pettit2010-09-231-12/+7
| |
| * vswitch: Disable header-caching when IPsec is enabledJustin Pettit2010-09-233-1/+32
| | | | | | | | | | | | | | Header caching speeds up sending tunneled traffic by bypassing the Linux IP stack. This also causes it to bypass IPsec processing, which will break connectivity. This commit disables header caching when IPsec is enabled.
| * debian: Use DODTIME instead of DIETIME in init scriptsJustin Pettit2010-09-234-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | Brad pointed out that openvswitch-ipsec init script defined the variable DIETIME but attempted to use it as DODTIME. This commit uses DODTIME, since it's the name used by the openvswitch-switch init script. The openvswitch-controller init script had the same issue. As suggested by Ben, the "s" suffixes are removed from sleep commands, since they are a GNU extension. Reported-by: Brad Hall <brad@nicira.com>
| * xenserver: Rename monitor-external-ids -> ovs-external-idsEthan Jackson2010-09-225-29/+29
| | | | | | | | | | | | | | | | | | | | Renamed the monitor-external-ids script ovs-external-ids. Hopefully this will make it clearer who owns it when someone does ps xa. Also removed trailing whitespace from ovs-external-ids. Signed-off-by: Ethan Jackson <ethan@nicira.com>
| * debian: Support two locations for ethtoolEthan Jackson2010-09-221-1/+5
| | | | | | | | | | | | The ethtool binary recently moved from /usr/sbin to /sbin. This change falls back to /usr/sbin/ethtool if /sbin/ethtool does not exist.