| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Fixes a use-after-free error in wx_run().
Reported-by: Hao Zheng <hzheng@nicira.com>
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Reported-by: Justin Pettit <jpettit@nicira.com>
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
64-bit division is expensive. Usually we can avoid it entirely, as done by
this patch.
|
| |
| |
| |
| | |
Suggested-by: Parham Kiani <pkiani@essex.ac.uk>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| | |
This should make extensions easier.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| | |
These macros require one fewer argument by switching, which makes code
that uses them shorter and more readable.
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
The following commit will introduce a new function that wants to do this
a lot, so we might as well do it efficiently.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Reported-by: Sajjad Lateef <slateef@nicira.com>
|
| |
| |
| |
| | |
Added a manpage for the ovs-bugtool script.
|
| |
| |
| |
| |
| | |
Added a test which checks that the python daemon code properly
restarts child processes which exit with RESTART_EXIT_CODE.
|
| |
| |
| |
| |
| | |
Removes the trailing whitespace from the testing code related to
daemonizing in Python.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
Added additional logging for debug-ability and migrated to python
logging module.
Signed-off-by: Ethan Jackson <ethan@nicira.com>
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
The ethtool binary recently moved from /usr/sbin to /sbin. This
change falls back to /usr/sbin/ethtool if /sbin/ethtool does not
exist.
|