Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
Boron
-
None
-
None
-
Operating System: All
Platform: All
-
7843
Description
If OVS is restarted during L2 pipeline flows/group creation there is a chance flows/groups get malformed due to the following code
public boolean isDpnPresent(BigInteger dpnId) {
String dpn = String.format("%s:%s", "openflow", dpnId);
NodeId nodeId = new NodeId(dpn);
InstanceIdentifier<Node> node = InstanceIdentifier.builder(Nodes.class).child(Node.class, new NodeKey(nodeId))
.build();
return read(broker, LogicalDatastoreType.OPERATIONAL, node).isPresent();
}
The OVS inventory node is temporarily deleted from oper DS during restart but the OF flow/group would not rebuild with correct content once the OVS oper DS is restored.
Example for corrupted group during restart
OFPST_GROUP_DESC reply (OF1.3) (xid=0x2):
group_id=211001,type=all,bucket=actions=set_field:0x495b->tun_id,resubmit(,55),bucket=actions=set_field:0xcd76->tun_id,resubmit(,55),bucket=actions=set_field:0x5d57->tun_id,resubmit(,55)
group_id=211002,type=all,bucket=actions=group:211001
group_id=5500,type=all,bucket=actions=CONTROLLER:65535,bucket=actions=resubmit(,17),bucket=actions=resubmit(,81)
group_id=202501,type=all,bucket=actions=drop
group_id=211004,type=all,bucket=actions=group:211003,bucket=actions=load:0xbce600->NXM_NX_REG6[],resubmit(,220)
group_id=211003,type=all
group_id=202500,type=all,bucket=actions=drop
Groups 211002 and 211004 are two remote BC groups for private VLAN network. 211004 contains bucket for the VLAN provider port while 211002 doesn't since it was created during OVS restart