[ovs-dev] [ovs-controller 3/3] ovs-controller: Allow --wildcards to specify a wildcard set.
Ben Pfaff
blp at nicira.com
Wed Jun 1 20:50:47 UTC 2011
On Wed, Jun 01, 2011 at 11:00:17AM -0700, Justin Pettit wrote:
> On May 31, 2011, at 4:15 PM, Ben Pfaff wrote:
>
> > + if (cfg->wildcards) {
> > + uint32_t ofpfw;
> > +
> > + if (cfg->wildcards == UINT32_MAX) {
> > + /* No wildcard defined, try to wildcard as many fields
> > + * as possible, however we cannot wildcard all fields.
> > + * We need in_port to detect moves.
> > + * We need both MAC SA and DA to do L2 learning. */
> > + ofpfw = (OFPFW_DL_TYPE | OFPFW_NW_SRC_ALL | OFPFW_NW_DST_ALL
> > + | OFPFW_NW_TOS | OFPFW_NW_PROTO
> > + | OFPFW_TP_SRC | OFPFW_TP_DST);
>
> As we discussed in person, it may be worth wildcarding the VLAN PCP
> values, too. It's not more correct, but it will reduce the amount
> of traffic going up to the controller and number of flows in the
> switch.
OK, please review this patch.
--8<--------------------------cut here-------------------------->8--
From: Ben Pfaff <blp at nicira.com>
Date: Wed, 1 Jun 2011 13:50:24 -0700
Subject: [PATCH] learning-switch: Also wildcard VLAN priority bits.
There's no need to learn based on the priority bits so we might as well
wildcard them too.
Reported-by: Justin Pettit <jpettit at nicira.com>
---
lib/learning-switch.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/learning-switch.c b/lib/learning-switch.c
index 269f030..077251c 100644
--- a/lib/learning-switch.c
+++ b/lib/learning-switch.c
@@ -106,8 +106,9 @@ lswitch_create(struct rconn *rconn, const struct lswitch_config *cfg)
if (cfg->wildcards == UINT32_MAX) {
/* Try to wildcard as many fields as possible, but we cannot
* wildcard all fields. We need in_port to detect moves. We need
- * Ethernet source and dest and VLAN to do L2 learning. */
- ofpfw = (OFPFW_DL_TYPE | OFPFW_NW_SRC_ALL | OFPFW_NW_DST_ALL
+ * Ethernet source and dest and VLAN VID to do L2 learning. */
+ ofpfw = (OFPFW_DL_TYPE | OFPFW_DL_VLAN_PCP
+ | OFPFW_NW_SRC_ALL | OFPFW_NW_DST_ALL
| OFPFW_NW_TOS | OFPFW_NW_PROTO
| OFPFW_TP_SRC | OFPFW_TP_DST);
} else {
--
1.7.4.4
More information about the dev
mailing list