diff options
author | Ethan Jackson <ethan@nicira.com> | 2011-10-03 12:51:02 -0700 |
---|---|---|
committer | Ethan Jackson <ethan@nicira.com> | 2011-10-03 13:12:52 -0700 |
commit | f11c28c43f7a0260a7a9dcb26f369c53792b15ca (patch) | |
tree | 9c184f963a297fa075711be2688e38fd8c8c3237 /ofproto | |
parent | 029b26f3924eb7c28614a1c3df284e817904daf1 (diff) |
ofproto-dpif: Revalidate on port additions and deletions.
The addition of a new port to an ofproto-dpif may require
revalidations in some cases. Notably if this new port is
configured to participate in CFM, but a drop flow has already been
installed in the datapath for CFM messages with the same in_port.
Bug #7598.
Diffstat (limited to 'ofproto')
-rw-r--r-- | ofproto/ofproto-dpif.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index 761b5910..44c7e56d 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -758,6 +758,7 @@ port_construct(struct ofport *port_) struct ofport_dpif *port = ofport_dpif_cast(port_); struct ofproto_dpif *ofproto = ofproto_dpif_cast(port->up.ofproto); + ofproto->need_revalidate = true; port->odp_port = ofp_port_to_odp_port(port->up.ofp_port); port->bundle = NULL; port->cfm = NULL; @@ -778,6 +779,7 @@ port_destruct(struct ofport *port_) struct ofport_dpif *port = ofport_dpif_cast(port_); struct ofproto_dpif *ofproto = ofproto_dpif_cast(port->up.ofproto); + ofproto->need_revalidate = true; bundle_remove(port_); set_cfm(port_, NULL); if (ofproto->sflow) { |