2
0
mirror of https://github.com/openvswitch/ovs synced 2025-10-25 15:07:05 +00:00
Commit Graph

1788 Commits

Author SHA1 Message Date
Ben Pfaff
051a77d677 json: Remove write-only variable from json_lex_number(). 2010-08-25 14:55:47 -07:00
Ben Pfaff
d931cde4d7 ovsdb: Remove unused ovsdb_datum_from_json_unique().
This function was not used outside of the test-ovsdb program.  It seems
like we might as well remove it.
2010-08-25 14:55:47 -07:00
Ben Pfaff
d53e44e934 xenserver: Add ovs-parse-leaks manpage to list of files.
Signed-off-by: Ben Pfaff <blp@nicira.com>
2010-08-25 13:04:34 -07:00
Ben Pfaff
eb07240a2a utilities: Remove ovs-wdt.
We used ovs-wdt at Nicira for a while when we were working on building
hardware switches.  We don't use it anymore, so remove it from the tree.

CC: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2010-08-25 10:03:41 -07:00
Ben Pfaff
1f0af7586e utilities: Remove ovs-monitor.
The ovs-monitor script is now more than adequately replaced by the
--monitor option to the various daemons.

CC: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2010-08-25 10:03:37 -07:00
Ben Pfaff
265fcdc746 ovs-parse-leaks: Add manpage.
CC: Simon Horman <horms@verge.net.au>
2010-08-25 08:10:06 -07:00
Simon Horman
f2d9c30bdf datapath: Unconditionally call kfree_skb()
kfree_skb() will ignore a NULL pointer.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-24 20:18:17 -07:00
Ben Pfaff
e631bc29d0 debian: Use pfaffben@debian.org as uploader address for Ben Pfaff.
I use pfaffben@debian.org as my contact address for Debian packages, so
use it here too.  I've had annoyed emails from folks when I am not
consistent about this, so fix it proactively.
2010-08-24 17:12:23 -07:00
Simon Horman
62471e59fc Debian: make debian/copyright more friendly to the ftpmasters
Signed-off-by: Simon Horman <horms@verge.net.au>
[list of copyright holders adjusted]
Signed-off-by: Ben Pfaff <blp@nicira.com>
2010-08-24 15:16:42 -07:00
Jesse Gross
a28716da6f netdev-tunnel: Add CAPWAP userspace interface.
Provide a userspace interface to the CAPWAP UDP transport
tunneling mechanism in the kernel.

Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-24 16:58:00 -04:00
Jesse Gross
cc485f5d1a netdev: Don't assume all netdevs are available at runtime.
Currently we print a warning if a user tries to configure a
netdev that is not in the list that userspace knows about.
However, it is possible that a given netdev maybe be enabled but
when it tries to create a device it finds out that it can't
(not supported by kernel module, hardware not present, etc.).
This makes the behavior the same in both cases.

Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-24 16:58:00 -04:00
Jesse Gross
e90b1cf9ce datapath: Add support for CAPWAP UDP transport.
Add support for the transport portion of the CAPWAP protocol as
an alternative to GRE for L2 over L3 tunneling.  This is not
full support for the CAPWAP protocol.  CAPWAP covers management
of wireless access points and describes a control protocol for
setting those devices up.  It also describes a data plane protocol
that allows packets to be tunneled to a controller for inspection.
This data plane protocol is the only component covered by this
commit.

Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-24 16:58:00 -04:00
Jesse Gross
5214f5c4e9 datapath: Add support for tunnel fragmentation.
Up until now it was assumed that encapsulated packets larger than
the MTU would be fragmented by the IP stack.  However, some
tunneling protocols provide their own fragmentation mechanism.  This
adds the necessary support to the generic tunnel code to support
fragmentation.

Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-24 15:17:29 -04:00
Jesse Gross
17dcd76454 netdev-gre: Genericize GRE netdev.
Since the GRE netdev doesn't actually implement any of the GRE
protocol, none of the code is really specific to GRE.  This commit
makes the netdev a little more generic so that additional tunnel
types can easily piggyback on it in the future.

Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-24 15:17:29 -04:00
Jesse Gross
d1eb60ccff datapath: Abstract tunneling implementation from GRE.
Much of the code in the GRE implementation is not specific to the
GRE protocol but is actually common to all types of tunnels.  In
order to support future types of tunnels, move this code into a
common library.

Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-24 15:17:29 -04:00
Simon Horman
e97f8ca76d datapath: struct brport_attribute no longer has an owner element
Between 2.6.35 and 2.6.36-rc1 the owner element of struct brport_attribute
was removed.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-23 14:37:44 -04:00
Simon Horman
67b30fcde7 datapath: Use rtnl_link_stats64
This adds compatibility with a series kernel changesets that
introduces 64bit statistics. The final changeset (to date) being
"net: Document that dev_get_stats() returns the given pointer".
The relevant changesets were added between 2.6.35 and 2.6.36-rc1.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-23 14:37:44 -04:00
Simon Horman
37f055c758 datapath: use rx_handler_data pointer
This adds compatibility with kernel changeset
"bridge: use rx_handler_data pointer to store net_bridge_port pointer"
which was added between 2.6.35 and 2.6.36-rc1.

With this change it is now safe to (attempt to) insert both bridge and
datapath with newer (>=2.6.36) kernels, although whichever is inserted
second will fail to initialise on the call to netdev_rx_handler_register()

Signed-off-by: Simon Horman <horms@verge.net.au>
[Jesse: fixed merge conflicts in vport-netdev.c and netdevice.h]
Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-23 14:37:44 -04:00
Simon Horman
f59a10a8b6 datapath: Take a rcu_dereference() in netdev_get_vport()
Although not strictly necessary, this will make this
function more consistent when compatibility for 2.6.36 is added.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-23 14:37:44 -04:00
Simon Horman
acf8144fa6 datapath: rtable may not have a u. member
This brings the code up to sync with the kernel as
of changeset "net-next: remove useless union keyword",
which was added between 2.6.35 and 2.6.36-rc1

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-23 14:37:44 -04:00
Simon Horman
33ef7695b7 datapath: Handle duplicate netdev in netdev_rx_handler_register()
For kernels that have netdev_rx_handler_register() (>=2.6.35),
duplicate netdevs are detected by netdev_rx_handler_register().
So by adding duplicate detection to the netdev_rx_handler_register()
compatibility code the explicit check in netdev_create() can be removed.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-23 14:37:44 -04:00
Simon Horman
431585099e datapath: dont use non-existent receive hooks
This adds compatibility with kernel changeset
of changeset "net: add rx_handler data pointer"
and thus "net: replace hooks in __netif_receive_skb V5",
which were added between 2.6.35 and 2.6.36-rc1

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-23 14:37:44 -04:00
Jesse Gross
4b70d8583b terminal: Remove vlog modules.
The terminal modules in vlog-modules.def weren't removed when the
code was, which breaks compilation due to a check for this
condition.
2010-08-23 13:42:19 -04:00
Ben Pfaff
4c1eabc123 Remove ezio-term and ovs-switchui utilities.
These utilities were useful when Nicira was building switches with 16x2 LCD
front panel displays, but they aren't useful for other environments and
even Nicira does not use that kind of switch any longer.  So remove them
and all the build infrastructure on which they depended.
2010-08-23 09:25:14 -07:00
Jesse Gross
38c6ecbc8d datpath: Avoid reporting half updated statistics.
We enforce mutual exclusion when updating statistics by disabling
bottom halves and only writing to per-CPU state.  However, reading
requires looking at the statistics for foreign CPUs, which could be
in the process of updating them since there isn't a lock.  This means
we could get garbage values for 64-bit values on 32-bit machines or
byte counts that don't correspond to packet counts, etc.

This commit introduces a sequence lock for statistics values to avoid
this problem.  Getting a write lock is very cheap - it only requires
incrementing a counter plus a memory barrier (which is compiled away
on x86) to acquire or release the lock and will never block.  On
read we spin until the sequence number hasn't changed in the middle
of the operation, indicating that the we have a consistent set of
values.

Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-20 19:44:46 -07:00
Jesse Gross
16e9d4f64f gre: Don't require incoming checksum.
The current meaning of the GRE checksum option is to include
checksums on transmit and require packets to have them on receive.
In addition, incoming packets with checksums are always validated
regardless of this option.  Requiring checksums on receive creates
surprising behavior and interoperability issues.  This disables the
requirement on receive.  The new behavior is that the sender decides
whether to checksum packets and the receiver will validate packets
with checksums (similar to UDP).

Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-20 19:43:06 -07:00
Jesse Gross
bd1bcd39a5 gre: Disable checksums by default.
GRE checksums aren't really all that useful because they only
add value for the GRE and inner Ethernet header.  However, they
are expensive since they cover the entire packet, even though
most of the data is protected by L3 and L4 checksums.  Therefore
disable checksumming by default to improve performance.  In addition,
since CAPWAP doesn't support checksums this makes it consistent with
GRE.

Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-20 19:43:06 -07:00
Tsvi Slonim
28eec6e50c backtrace: Use generic code to find the bottom of the stack.
This fixes an ugly GCC warning without using inline asm.
2010-08-20 10:43:35 -07:00
Bryan Phillippe
50d2d532ed socket-util: Suppress uninitialized variable warning with old GCC. 2010-08-20 10:43:35 -07:00
Bryan Phillippe
b56042ac5d vconn-stream: printf() specifier for int is %d (not %zu) 2010-08-20 10:43:35 -07:00
Bryan Phillippe
95bfc0b856 socket-util: Remove stray printf() from make_unix_socket(). 2010-08-20 10:43:33 -07:00
Simon Horman
2d1c5712af debian: Use horms@debian.org the uploaders field
Sorry for the noise, I should have noticed this earlier,
but for consistency with other packages I'd prefer to
use my debian.org address here.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2010-08-20 08:11:22 -07:00
Ben Pfaff
3becd6c845 debian: Fix "make dist" by adding corekeeper.override to EXTRA_DIST.
Reported-by: Teemu Koponen <koponen@nicira.com>
2010-08-19 13:11:18 -07:00
Ben Pfaff
a95b3cc0c7 AUTHORS: Add Simon Horman <horms@verge.net.au>. 2010-08-19 09:53:08 -07:00
Ben Pfaff
812560d7ce Fix SSL boilerplate descriptions in manpages.
Some of the SSL boilerplate was specific to switches, but it was included
in OVSDB programs also.  Make it more generic.  Also document SSL options
in some manpages where they were missing.
2010-08-19 09:42:14 -07:00
Ben Pfaff
a946ed3942 Fix typos in manpages. 2010-08-19 09:42:14 -07:00
Ben Pfaff
a2a9d2d9df ovs-vsctl: Fix parsing of short SSL options.
The short versions of the SSL options (e.g. -p, -c, -C) did not work,
because they were not in the string passed to getopt_long().  This commit
fixes the problem and should avoid its recurrence with any other short
options that we add in the future.
2010-08-19 09:42:13 -07:00
Simon Horman
d006d0ccb0 debian: Add override of non-standard-dir-perm to corekeeper
It is intentional that var/log/core/ has a non standard permission
of 1777 instead of 0755.

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2010-08-19 09:39:14 -07:00
Simon Horman
27a5949697 Debian: Use ${source:Version} for versioned dependencies as appropriate
${source:Version} should be used for versioned dependencies
of arch:any packages on arch:all packages.

${source:Version} may be used for versioned dependencies
of arch:all packages on arch:any packages.

See: http://lintian.debian.org/tags/not-binnmuable-any-depends-all.html
     http://lintian.debian.org/tags/not-binnmuable-all-depends-any.html

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2010-08-19 09:39:11 -07:00
Simon Horman
bb41d3d4e9 Debian: Add Build-Depends on python
Python is needed in order to run the following tests:

interface-reconfigure

579: non-VLAN, non-bond                              ok
580: VLAN, non-bond                                  ok
581: Bond, non-VLAN                                  ok
582: VLAN on bond                                    ok

Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2010-08-19 09:39:08 -07:00
Simon Horman
3ab5bd2132 Debian: Update to standards version 3.9.1
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2010-08-19 09:39:04 -07:00
Simon Horman
4d712aa8fd Debian: Add Ben Pfaff and Simon Horman the uploaders
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
2010-08-19 09:37:41 -07:00
Ben Pfaff
9026bf3430 odp-util: Avoid branch in odp_actions_add().
I have no idea why, but the test and branch in odp_actions_add() has always
bugged me.  This commit eliminates it.
2010-08-13 10:06:11 -07:00
Ben Pfaff
c9cdd3d3a7 uuid: Fix warnings carelessly introduced a few commits ago.
Commit e251c8 "uuid: Break code to read /dev/urandom into a new module"
carelessly introduced a few warnings, which this commit fixes up.
2010-08-13 09:58:29 -07:00
Ben Pfaff
5f8bfd69fd ofproto: Add support for NXAST_RESUBMIT recursion.
CC: Teemu Koponen <koponen@nicira.com>
2010-08-13 09:57:25 -07:00
Ben Pfaff
ba186119ca Remove vestigial support for Spanning Tree Protocol.
Open vSwitch has never properly supported IEEE 802.1D Spanning Tree
Protocol (STP), but it has various bits and pieces that claim to support
it.  This commit deletes them, to reduce the amount of dead code in the
tree.  We can always reintroduce it later if it proves to be a good idea.

Bug #1175.
2010-08-13 09:47:27 -07:00
Ben Pfaff
10df718e73 random: Get random seed from /dev/urandom.
Even though this PRNG is not meant to be cryptographically secure, there is
no reason not to get a high-quality seed.

CC: Stephen Hemminger <shemminger@vyatta.com>
2010-08-12 15:49:18 -07:00
Ben Pfaff
e251c8d005 uuid: Break code to read /dev/urandom into a new module.
This code is useful for seeding other random number generators, so we might
as well make it a separate source file.
2010-08-12 15:47:25 -07:00
Ben Pfaff
e2c1a82010 util: Make ovs_fatal() understand EOF also.
ovs_error() interprets EOF as "end of file" when printing an error message,
so ovs_fatal() might as well.
2010-08-12 15:45:50 -07:00
Ben Pfaff
2cc906419f Wait for daemons to die in init.d script "stop" commands.
Sometimes it takes a moment for the OVS daemons to die.  When that happens,
the "start" half of "openvswitch restart" can fail when ovsdb-tool
runs, because ovsdb-server will still have the lock on the database if it
has not exited yet.  So this commit just makes the "stop" half wait for
the daemons to really die.

Bug #3369.
2010-08-12 11:15:20 -07:00