[ovs-dev] [netdev_monitor 1/4] ofproto: Adjust netdev_monitor when switching netdevs.

Ben Pfaff blp at nicira.com
Thu Apr 21 23:39:08 UTC 2011


This fixes a segfault in the "ofproto - mod-port" test.  The segfault
should not occur--there must be a bug in the netdev_monitor or possibly
the netdev_dummy implementation--but the netdev_monitor_remove() and
netdev_monitor_add() calls are definitely wanted here in any case to ensure
that the new netdev, not the old one, is what gets monitored.
---
 ofproto/ofproto.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
index 39e2b30..fb63606 100644
--- a/ofproto/ofproto.c
+++ b/ofproto/ofproto.c
@@ -1203,6 +1203,9 @@ ofport_modified(struct ofproto *ofproto, struct ofport *port,
     port->opp.supported = opp->supported;
     port->opp.peer = opp->peer;
 
+    netdev_monitor_remove(ofproto->netdev_monitor, port->netdev);
+    netdev_monitor_add(ofproto->netdev_monitor, netdev);
+
     netdev_close(port->netdev);
     port->netdev = netdev;
 
-- 
1.7.1




More information about the dev mailing list