[ovs-git] Open vSwitch: Implement basic multiple table support. (next)

dev at openvswitch.org dev at openvswitch.org
Mon May 9 16:52:37 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, next has been updated
  discards  8681163e99c7d4333347924f9ffca5abfbcfc0ee (commit)
  discards  f4405b5351d50c083f290986dc797a03fef12cf6 (commit)
  discards  8b36bf90c20c1b512c1c7d88741dfc5f23df64ba (commit)
  discards  68657048f54c2e1aa51c15763ec2c5336faa2654 (commit)
  discards  176a3f757fe5feb210d04f77a078414fb82993dc (commit)
  discards  c1e93d32663f543b288af70f62171c02002b322f (commit)
  discards  76724c19b454b2a598ec87ca8bcc978194926cc0 (commit)
  discards  b299baa71d635347fef4da4b1d9065616366d90f (commit)
  discards  11d7d45a68ae3eae329e3be71eadba74fcc7fcd7 (commit)
  discards  215c323aa959c9db7074794d0e15d139b4532c5b (commit)
  discards  a34ce8ac22799e767904f891e4cc0d7fa09a3cac (commit)
  discards  235a0596c1df5bde9ea9a4209b5f58a73dfaa94c (commit)
  discards  eb017fd9bc0729633fa3222f1a1a735905984aab (commit)
  discards  c09bfc08968f9448b7efe225eaedffafd90ef091 (commit)
  discards  5f39671e85eec87890f5e1a2a74275326ff19389 (commit)
  discards  05c939ddea5679d516fb2632845262bcdeaec8c7 (commit)
  discards  d60c6fc53551602942f91c62c161b903b6be995e (commit)
       via  f2c99cd07a07c8ba04f58d49988ede2804dd7617 (commit)
       via  72ae2ec6476862e91de4bfd433ead7f9bedd8b01 (commit)
       via  59a62fffd1d503e8e66e097cf960b2d87caad933 (commit)
       via  484e2fb7d07c9a1013253ee70d67f52ad9eee59d (commit)
       via  ffe3f8d00d71cc8f151899e41df5663be92e7929 (commit)
       via  5cccd9a7672995dfc4a60ebe4da69ddc0b66e385 (commit)
       via  2776c90a0eaeba9cc53e12e9d14feac9c29a4dc2 (commit)
       via  a6d199fcf08a882e1f17b5726d55f1094770b034 (commit)
       via  27ab842867fa7921b8a8a2be4b0776256486b088 (commit)
       via  6976b45570e26631a1912e2b6029ffafef50fea4 (commit)
       via  ed1fc1fef541d5dd5896781d3862990223d82b1a (commit)
       via  53c64b82e907b6720f9a1c8b04b9c2400211daa0 (commit)
       via  7439aa83ab32d2cfa9c39a058470a20e8a9340d7 (commit)
       via  c299a3f9e9c2cb13a2ba13990f9b4b304a1c00ea (commit)
       via  6dcbb630ef9ba931ba675803d7f25f09261574f0 (commit)
       via  37309627f89c01db8746de6b52d3a5179a203b13 (commit)
       via  b68ed702f207c98b0885e35325739db777823a69 (commit)
      from  8681163e99c7d4333347924f9ffca5abfbcfc0ee (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 f2c99cd07a07c8ba04f58d49988ede2804dd7617
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=f2c99cd07a07c8ba04f58d49988ede2804dd7617
Author: Ben Pfaff <blp at nicira.com>
		
Implement basic multiple table support.
		
This implements basic multiple table support in ofproto and supporting
libraries and utilities. The design is the same as the one that has been
on the Open vSwitch "wdp" branch for a long time.  There is no support for
multiple tables in the software switch implementation (ofproto-dpif), only
a set of hooks for other switch implementations to use.

To allow controllers to add flows in a particular table, Open vSwitch adds
an OpenFlow 1.0 extension called NXT_FLOW_MOD_TABLE_ID.


commit 72ae2ec6476862e91de4bfd433ead7f9bedd8b01
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=72ae2ec6476862e91de4bfd433ead7f9bedd8b01
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Drop ofproto_rule_lookup().
		
There's no reason not to implement this trivial function in ofproto-dpif,
especially since it makes less sense once multiple table support is
implemented (which table should be searched?).


commit 59a62fffd1d503e8e66e097cf960b2d87caad933
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=59a62fffd1d503e8e66e097cf960b2d87caad933
Author: Ben Pfaff <blp at nicira.com>
		
PORTING: Describe usage of ovs_be<N>.
		


commit 484e2fb7d07c9a1013253ee70d67f52ad9eee59d
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=484e2fb7d07c9a1013253ee70d67f52ad9eee59d
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Fix number of reported tables in OFPT_FEATURES_REPLY message.
		
This has been wrong for a long time.


commit ffe3f8d00d71cc8f151899e41df5663be92e7929
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=ffe3f8d00d71cc8f151899e41df5663be92e7929
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Make rule construction and destruction more symmetric.
		
Before, ->rule_construct() both created the rule and inserted into the
flow table, but ->rule_destruct() only destroyed the rule.  This makes
->rule_destruct() also remove the rule from the flow table.


commit 5cccd9a7672995dfc4a60ebe4da69ddc0b66e385
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=5cccd9a7672995dfc4a60ebe4da69ddc0b66e385
Author: Ben Pfaff <blp at nicira.com>
		
classifier: Remove OF1.0 special case from classifier_find_rule_exactly().
		
This special case should never have actually triggered in practice, because
OpenFlow 1.0 cannot set up an exact-match rule as defined by
flow_wildcards_is_exact().  (OpenFlow 1.0 will always, for example,
wildcard all NXM registers.)

OVS implements this OF1.0 special case differently, by changing flow
priority to 65535 in cls_rule_from_match() if the flow is an exact match as
defined by OpenFlow 1.0.


commit 2776c90a0eaeba9cc53e12e9d14feac9c29a4dc2
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=2776c90a0eaeba9cc53e12e9d14feac9c29a4dc2
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Remove unused coverage counters.
		
These were mostly moved into ofproto-dpif.c, but the definitions weren't
deleted along with them.


commit a6d199fcf08a882e1f17b5726d55f1094770b034
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=a6d199fcf08a882e1f17b5726d55f1094770b034
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Update some comments.
		


commit 27ab842867fa7921b8a8a2be4b0776256486b088
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=27ab842867fa7921b8a8a2be4b0776256486b088
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Eliminate reference to dpif_upcall from ofproto.
		
The dpif_upcall structure is specific to the ofproto-dpif implementation.
The generic ofproto and connmgr interface have no business using it, so
this commit switches to using ofputil_packet_in instead.


commit 6976b45570e26631a1912e2b6029ffafef50fea4
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=6976b45570e26631a1912e2b6029ffafef50fea4
Author: Ben Pfaff <blp at nicira.com>
		
Remove unneeded #include directives.
		


commit ed1fc1fef541d5dd5896781d3862990223d82b1a
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=ed1fc1fef541d5dd5896781d3862990223d82b1a
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Better document the ofproto_class interface.
		
Also, make a few minor adjustments to the interface so that it makes a
little more sense.


commit 53c64b82e907b6720f9a1c8b04b9c2400211daa0
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=53c64b82e907b6720f9a1c8b04b9c2400211daa0
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Break apart into generic and hardware-specific parts.
		
In addition to the changes to ofproto, this commit changes all of the
instances of "struct flow" in the tree so that the "in_port" member is an
OpenFlow port number.  Previously, this member was an OpenFlow port number
in some cases and an ODP port number in other cases.


commit 7439aa83ab32d2cfa9c39a058470a20e8a9340d7
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=7439aa83ab32d2cfa9c39a058470a20e8a9340d7
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Complete abstraction by adding enumeration and deletion functions.
		
This eliminates the final reference from bridge.c directly into the dpif
layer, which will make it easier to change the implementation of ofproto
to support other lower layers.


commit c299a3f9e9c2cb13a2ba13990f9b4b304a1c00ea
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=c299a3f9e9c2cb13a2ba13990f9b4b304a1c00ea
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Improve abstraction by using OpenFlow port numbers in interface.
		
Until now, ofproto has used a mix of datapath and OpenFlow port numbers in
its client interface.  This commit changes it to use OpenFlow port numbers
exclusively, to raise the level of abstraction.

Most of this commit boils down to simple search-and-replace with a few
call to ofp_port_to_odp_port() sprinkled in.  The addition of ofproto_port
is one exception.  An ofproto_port is almost the same as a dpif_port; the
difference is just that its port number is an OpenFlow port number instead
of a datapath port number.


commit 6dcbb630ef9ba931ba675803d7f25f09261574f0
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=6dcbb630ef9ba931ba675803d7f25f09261574f0
Author: Ben Pfaff <blp at nicira.com>
		
ofproto: Improve abstraction by adding function ofproto_parse_name().
		
This means that ovs-ofctl and ovs-openflowd don't have to use the dpif
layer at all, making it easier to change the ofproto implementation.


commit 37309627f89c01db8746de6b52d3a5179a203b13
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=37309627f89c01db8746de6b52d3a5179a203b13
Author: Ben Pfaff <blp at nicira.com>
		
dpif: Make dp_parse_name() normalize its returned type.
		
This means that callers don't have to be concerned with a NULL return value
or unnormalized type.


commit b68ed702f207c98b0885e35325739db777823a69
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=b68ed702f207c98b0885e35325739db777823a69
Author: Ben Pfaff <blp at nicira.com>
		
dpif: Improve abstraction by making 'run' and 'wait' functions per-dpif.
		
Until now, the dp_run() and dp_wait() functions had to be called at the top
level of the program because they applied to every open dpif.  By replacing
them by functions that take a specific dpif as an argument, we can call
them only from ofproto, which is currently the correct layer to deal with
dpifs.


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

Summary of changes:
 ofproto/ofproto.c |    6 ++++++
 vswitchd/bridge.c |    2 +-
 2 files changed, 7 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list