Hi all,
I have an ONOS app to install and remove
equal number of flows from simple_switch_grpc. I have a linear topology
running inside mininet with 3 switches and a host connected to each
switch. A load generator(LG) is running on host h1 connected to s1
inside mininet and all the packets from LG are sent to ONOS App which
installs and removes flows accordingly. Ideally all the flows should be
removed from the switch but what I find is that some flows are not
deleted from switch and I get some errors in ONOS controller as shown
below. I am unable to comprehend them. Is it because the flow
installation is taking longer on simple_switch_grpc that when the
request for flow deletion comes the flow is not found in the switch?(I
am not sure though)
2018-07-27 14:19:22,174 | WARN | -single-executor | P4RuntimeFlowRuleProgrammable | 184 - org.onosproject.onos-drivers-p4runtime - 1.13.2.SNAPSHOT | Found 2 entries from device:bmv2:s2 not on translation store, removing them...
2018-07-27 14:19:22,185 | WARN | device:bmv2:s2-9 | P4RuntimeClientImpl | 181 - org.onosproject.onos-protocols-p4runtime-ctl
- 1.13.2.SNAPSHOT | Unable to DELETE 1 table entry(s) on
device:bmv2:s2: UNKNOWN (detailed errors might be logged below)
2018-07-27 14:19:22,187 | WARN | -single-executor | P4RuntimeFlowRuleProgrammable | 184 - org.onosproject.onos-drivers-p4runtime - 1.13.2.SNAPSHOT | Unable to DELETE table entry in device:bmv2:s2: PiTableEntry{tableId=c_ingress.ip_op_tun_s2_uplink, matchKey={hdr.vlan.vid=00:01}, tableAction=c_ingress.populate_ip_op_tun_s2_uplink(egress_port_s2=00:03, op_tunnel_s2=0f:a0), priority=0, timeout=PERMANENT}
2018-07-27 14:19:22,195 | WARN | device:bmv2:s2-1 | P4RuntimeClientImpl | 181 - org.onosproject.onos-protocols-p4runtime-ctl
- 1.13.2.SNAPSHOT | Unable to DELETE 1 table entry(s) on
device:bmv2:s2: UNKNOWN (detailed errors might be logged below)
2018-07-27 14:19:22,196 | WARN | -single-executor | P4RuntimeFlowRuleProgrammable | 184 - org.onosproject.onos-drivers-p4runtime - 1.13.2.SNAPSHOT | Unable to DELETE table entry in device:bmv2:s2: PiTableEntry{tableId=c_ingress.ip_op_tun_s2_downlink, matchKey={hdr.vlan.vid=00:02}, tableAction=c_ingress.populate_ip_op_tun_s2_downlink(egress_port_s2=00:02, op_tunnel_s2=04:02), priority=0, timeout=PERMANENT}
I
get to see non deterministic behavior from simple_switch_grpc with
above errors while installing and removing flows though I have added all
the table names to Pipeline Interpreter.
How do I resolve this isse?
Thanks
Regards
Vikas Kumar
Department of Computer Sceince
IIT Bombay