[Xorp-hackers] Interface deletion races.

Ben Greear greearb at candelatech.com
Fri Oct 12 20:34:49 PDT 2007


I am wondering about the right way to go about fixing the problem with 
removing
interfaces & deleting multicast routes.  There seems to be a race, and 
when the problem
hits, it leads to an assert in ospf.

A quick hack, and probably something that I will try soon just to work 
around this bug would be to
probe for the requested interface and if found in the OS, do the route 
deletion anyway.

A better fix would probably keep the interface around in the deleted 
state until we were somehow
sure that all of the modules are done with it.  We should probably also 
block the xorpsh commit completion
until the routes & multicast bindings have been properly deleted.  
Otherwise, it will not be possible
to safely know when we can add this interface to a different virtual router.

I'm hoping one of the folks more familiar with the architecture can 
suggest a way to do this properly.

Here's a snippet of logs...

[ 2007/10/12 20:18:22 TRACE xorp_ospfv2 OSPF ] Event(InterfaceDown) 
Interface(rddVR44/rddVR44) State(Backup)
[ 2007/10/12 20:18:22 TRACE xorp_ospfv2 OSPF ] Event(KillNbr) 
Interface(rddVR44/rddVR44) Neighbour(10.4.0.2) State(Full)
[ 2007/10/12 20:18:22  INFO xorp_rtrmgr:28667 RTRMGR task.cc:2228 
run_task ] No more tasks to run
[ 2007/10/12 20:18:22 WARNING xorp_fea XrlFeaTarget ] Handling method 
for raw_packet4/0.1/leave_multicast_group failed: XrlCmdError 102 
Command failed Leaving multicast group 224.0.0.6 failed: interface 
rddVR44 vif rddVR44 not found
[ 2007/10/12 20:18:22 WARNING xorp_fea XrlFeaTarget ] Handling method 
for raw_packet4/0.1/send failed: XrlCmdError 102 Command failed No 
interface rddVR44
[ 2007/10/12 20:18:22 WARNING xorp_fea XrlFeaTarget ] Handling method 
for raw_packet4/0.1/leave_multicast_group failed: XrlCmdError 102 
Command failed Leaving multicast group 224.0.0.5 failed: interface 
rddVR44 vif rddVR44 not found
[ 2007/10/12 20:18:22  ERROR xorp_ospfv2:28891 OSPF xrl_io.cc:721 
leave_multicast_group_cb ] Cannot leave a multicast group on interface 
rddVR44 vif rddVR44: 102 Command failed Leaving multicast group 
224.0.0.6 failed: interface rddVR44 vif rddVR44 not found
[ 2007/10/12 20:18:22  ERROR xorp_ospfv2:28891 OSPF xrl_io.cc:188 
send_cb ] Cannot send a packet on interface rddVR44 vif rddVR44: 102 
Command failed No interface rddVR44
[ 2007/10/12 20:18:22  ERROR xorp_ospfv2:28891 OSPF xrl_io.cc:721 
leave_multicast_group_cb ] Cannot leave a multicast group on interface 
rddVR44 vif rddVR44: 102 Command failed Leaving multicast group 
224.0.0.5 failed: interface rddVR44 vif rddVR44 not found
[ 2007/10/12 20:18:22 TRACE xorp_ospfv2 OSPF ] 
Event(LinkStateAcknowledgementReceived-pseudo-event) 
Interface(rddVR1/rddVR1) Neighbour(10.0.0.1) State(Full)

-- 
Ben Greear <greearb at candelatech.com> 
Candela Technologies Inc  http://www.candelatech.com




More information about the Xorp-hackers mailing list