[ovs-git] Open vSwitch: bridge: Avoid partitioning the dst set. (master)

dev at openvswitch.org dev at openvswitch.org
Fri Apr 1 22:55:46 UTC 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Open vSwitch".

The branch, master has been updated
       via  0b0bd9c9e3ebaddea8252ea0ab9b2f293de34553 (commit)
       via  c38e3405d927ce999d59e837b82529552df8e168 (commit)
       via  d55c25660b7dbedda886207a303895609c8407ef (commit)
       via  402f2858db6b1ae9e57d17447f92e23affd7a06e (commit)
       via  f620b43af153c97420623034b18d83833bdbbe7e (commit)
       via  207079c429146445a726350d401adba5f150740d (commit)
       via  e34c9ddcc8f09925ff44879316f62897f172c30e (commit)
       via  cbbb244d5f9cc264dc7bad7cfcd20b10fc6e7772 (commit)
       via  090f7f50487916074a978c26b635dd153b10a866 (commit)
       via  79efe70efcc57414f43a2d10fbacae25aa6e43ca (commit)
       via  bb5bc6c042a22103612205483558f472f8929356 (commit)
       via  7a6735157c0df93375e9daadf0bbd1dca4160533 (commit)
       via  14cff48183cfd6ea939d4d8012fde192b03eeca1 (commit)
       via  02c9ed77e316ef38d89a17a184e0b497615258fa (commit)
       via  3e519d8e848874eade1d049bac4acbc10b78008d (commit)
       via  1e2e71109fc690cf2ab0c4093cf451989ef23c6d (commit)
       via  dc1539ae02fcb9c22b98d587b790ce8bc3a68774 (commit)
       via  eda1f38d41be1b604229343fe14d7122eaedd4d5 (commit)
       via  7c66b273a2addd3f6c60b6c930464d6be74df71e (commit)
       via  2c5f293cc88e5b003b7c2d7c6f2e941789af8fd1 (commit)
       via  5de1bb5cc9eb5b52c095a02d8afe68bc34ae0523 (commit)
       via  7feba1acdd806b54ec152d2e93169ab2a295128d (commit)
       via  76c308b50d316a2186283467e12564c0234c7501 (commit)
      from  d61113d99264e99e504d57706de2a84b2403fc52 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 0b0bd9c9e3ebaddea8252ea0ab9b2f293de34553
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=0b0bd9c9e3ebaddea8252ea0ab9b2f293de34553
Author: Ben Pfaff <blp at nicira.com>
		
bridge: Avoid partitioning the dst set.
		
Scanning the dsts twice seems may be a little more efficient than
partitioning it, and it now seems more straightforward to me.


commit c38e3405d927ce999d59e837b82529552df8e168
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=c38e3405d927ce999d59e837b82529552df8e168
Author: Ben Pfaff <blp at nicira.com>
		
bridge: Separate mirroring logic from forwarding logic.
		
In my opinion this is easier to understand than the way that these
two logically separate steps were previously entangled.


commit d55c25660b7dbedda886207a303895609c8407ef
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=d55c25660b7dbedda886207a303895609c8407ef
Author: Ben Pfaff <blp at nicira.com>
		
bridge: Change "struct dst" from containing a dp_ifidx to a struct iface *.
		
The following commit will need to iterate over a set of "struct
dst"s, obtaining the iface for each.  It could look them up using
the hash table that indexes over dp_ifidx, but it's easier if we
simply store the iface pointer directly.


commit 402f2858db6b1ae9e57d17447f92e23affd7a06e
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=402f2858db6b1ae9e57d17447f92e23affd7a06e
Author: Ben Pfaff <blp at nicira.com>
		
bridge: Get rid of 'n_ifaces' member of struct port.
		
If it doesn't exist then it can't have the wrong value.


commit f620b43af153c97420623034b18d83833bdbbe7e
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=f620b43af153c97420623034b18d83833bdbbe7e
Author: Ben Pfaff <blp at nicira.com>
		
bridge: Break bonding implementation out into library.
		
This removes over 1000 lines of code from bridge.c and will make it
easier to moving the bonding implementation into ofproto as part of
future development.


commit 207079c429146445a726350d401adba5f150740d
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=207079c429146445a726350d401adba5f150740d
Author: Ben Pfaff <blp at nicira.com>
		
bridge: Simplify and clean up bond slave enable/disable.
		
The code that enables and disables bond slaves was a bit of a mess:

    * Disabling a slave could recursively enable a different slave.

    * Processing a flow could enable a slave.

This commit gets rid of both of those properties, which made it difficult
to reason about the code paths along which slaves would be enabled and
disabled.

Bug #5121.


commit e34c9ddcc8f09925ff44879316f62897f172c30e
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=e34c9ddcc8f09925ff44879316f62897f172c30e
Author: Ben Pfaff <blp at nicira.com>
		
bridge: Drop obsolete comment.
		
It's quite clear that we don't support double tagging now.


commit cbbb244d5f9cc264dc7bad7cfcd20b10fc6e7772
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=cbbb244d5f9cc264dc7bad7cfcd20b10fc6e7772
Author: Ben Pfaff <blp at nicira.com>
		
bridge: Improve comment.
		


commit 090f7f50487916074a978c26b635dd153b10a866
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=090f7f50487916074a978c26b635dd153b10a866
Author: Ben Pfaff <blp at nicira.com>
		
bridge: Change Ethernet address array from 8 bytes to ETH_ADDR_LEN bytes.
		
I don't know why this was declared as 8 bytes long but I only see 6
actually in use, as one would expect of an Ethernet address.


commit 79efe70efcc57414f43a2d10fbacae25aa6e43ca
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=79efe70efcc57414f43a2d10fbacae25aa6e43ca
Author: Ben Pfaff <blp at nicira.com>
		
bridge: Avoid redundant dpif_flow_flush().
		
ofproto_create() also calls dpif_flow_flush() very soon afterward.  This
seems more clearly in ofproto's domain anyhow.


commit bb5bc6c042a22103612205483558f472f8929356
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=bb5bc6c042a22103612205483558f472f8929356
Author: Ben Pfaff <blp at nicira.com>
		
lacp: Encapsulate configuration into new structs.
		
This makes it easier to pass configuration between modules.


commit 7a6735157c0df93375e9daadf0bbd1dca4160533
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=7a6735157c0df93375e9daadf0bbd1dca4160533
Author: Ben Pfaff <blp at nicira.com>
		
bridge: Drop LACP configuration members from struct iface and struct port.
		
There's no reason that I can see to maintain this information in struct
port and struct iface.  It's redundant, since the lacp implementation
maintains the same information.


commit 14cff48183cfd6ea939d4d8012fde192b03eeca1
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=14cff48183cfd6ea939d4d8012fde192b03eeca1
Author: Ben Pfaff <blp at nicira.com>
		
lacp: Remove unneeded forward references from header file.
		


commit 02c9ed77e316ef38d89a17a184e0b497615258fa
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=02c9ed77e316ef38d89a17a184e0b497615258fa
Author: Ben Pfaff <blp at nicira.com>
		
lacp: Fix misleading prototype for lacp_configure().
		
Only the first 6 bytes (ETH_ADDR_LEN) of the 'sys_id' argument are used,
but the prototype declared it as an array of 8 bytes.  This has no effect
on the generated code--the declared size of an array parameter is
irrelevant--but it is misleading.

Also, add 'const' since the array is not modified.


commit 3e519d8e848874eade1d049bac4acbc10b78008d
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=3e519d8e848874eade1d049bac4acbc10b78008d
Author: Ben Pfaff <blp at nicira.com>
		
vswitch: Improve schema documentation.
		


commit 1e2e71109fc690cf2ab0c4093cf451989ef23c6d
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=1e2e71109fc690cf2ab0c4093cf451989ef23c6d
Author: Ben Pfaff <blp at nicira.com>
		
tag: New function tag_set_union().
		


commit dc1539ae02fcb9c22b98d587b790ce8bc3a68774
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=dc1539ae02fcb9c22b98d587b790ce8bc3a68774
Author: Ben Pfaff <blp at nicira.com>
		
list: New functions list_is_singleton(), list_is_short().
		


commit eda1f38d41be1b604229343fe14d7122eaedd4d5
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=eda1f38d41be1b604229343fe14d7122eaedd4d5
Author: Ben Pfaff <blp at nicira.com>
		
packets: Reserve headroom for VLAN header in eth_compose(), snap_compose().
		
This allows callers to add a VLAN header to the composed packet and send
it out on a VLAN without copying the whole payload.


commit 7c66b273a2addd3f6c60b6c930464d6be74df71e
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=7c66b273a2addd3f6c60b6c930464d6be74df71e
Author: Ben Pfaff <blp at nicira.com>
		
packets: New function eth_set_vlan_tci(), from dpif-netdev.
		
This will soon be used in the upcoming bond library.


commit 2c5f293cc88e5b003b7c2d7c6f2e941789af8fd1
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=2c5f293cc88e5b003b7c2d7c6f2e941789af8fd1
Author: Ben Pfaff <blp at nicira.com>
		
packets: Fix potential use-after-free in compose_benign_packet().
		
The second call to ofpbuf_put_zeros() could cause the 'eth' pointer to
be invalidated.

It appears that this does not fix a real bug because the existing callers
all preallocate 128 bytes of tailroom, but the interface doesn't document
that requirement.


commit 5de1bb5cc9eb5b52c095a02d8afe68bc34ae0523
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=5de1bb5cc9eb5b52c095a02d8afe68bc34ae0523
Author: Ben Pfaff <blp at nicira.com>
		
packets: New function snap_compose(); rename compose_packet() for consistency.
		
The following commit will introduce the first use of snap_compose().


commit 7feba1acdd806b54ec152d2e93169ab2a295128d
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=7feba1acdd806b54ec152d2e93169ab2a295128d
Author: Ben Pfaff <blp at nicira.com>
		
netdev-vport: Implement 'send' function.
		
The new implementation of the bonding code expects to be able to send
packets on netdevs using netdev_send().  This implements it.


commit 76c308b50d316a2186283467e12564c0234c7501
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=76c308b50d316a2186283467e12564c0234c7501
Author: Ben Pfaff <blp at nicira.com>
		
netdev-linux: Support 'send' for netdevs opened with NETDEV_ETH_TYPE_NONE.
		
The new implementation of the bonding code expects to be able to
send packets using netdev_send().  This makes it possible for
Linux netdevs.


-----------------------------------------------------------------------

Summary of changes:
 lib/automake.mk       |    2 +
 lib/bond.c            | 1493 +++++++++++++++++++++++++++++++++++++++++
 lib/bond.h            |  111 +++
 lib/dpif-linux.c      |   28 +
 lib/dpif-linux.h      |    3 +
 lib/dpif-netdev.c     |   32 +-
 lib/lacp.c            |   44 +-
 lib/lacp.h            |   34 +-
 lib/list.c            |   16 +-
 lib/list.h            |    2 +
 lib/netdev-linux.c    |   45 +-
 lib/netdev-provider.h |    3 +-
 lib/netdev-vport.c    |   38 +-
 lib/packets.c         |  119 +++-
 lib/packets.h         |   14 +-
 lib/tag.c             |   12 +-
 lib/tag.h             |    3 +-
 ofproto/ofproto.c     |    4 +-
 tests/test-list.c     |    4 +-
 vswitchd/bridge.c     | 1767 +++++++------------------------------------------
 vswitchd/vswitch.xml  |   17 +-
 21 files changed, 2147 insertions(+), 1644 deletions(-)
 create mode 100644 lib/bond.c
 create mode 100644 lib/bond.h


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list