[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