Hi team
  The version is below:
    OVN version: branch-21.09
    OVS version: branch-2.16.2
we encounter a issue that ovn-controller generates some non-expected openflows to forward packets to tunnel ports in table 37 when a localnet port existed on the datapath. The related information is below:
  - Related datapath and ports.
```
switch d9954742-5f9a-440d-8f4a-e9cba08ff5b3 (neutron-102c1351-65a6-4640-8310-c3cd446a5b69) (aka JSNX_APP_VLAN121) port b4decafe-1948-4214-b021-393953bf94c3 (aka sc-arm-lnbp-clbatch-13_JSNX_APP_VLAN121_d36c91ab)
        addresses: ["fa:16:3e:32:ca:7e 32.12.121.150"]
port 87e5ac12-80b8-4477-af59-dfb0fc0a43ff (aka sc-arm-lnbp-pfservice-6_JSNX_APP_VLAN121_109c4c56)
        addresses: ["fa:16:3e:e7:58:37 32.12.121.103"]
    port ad722de8-20ca-4f52-97bf-df29f9512d6e
        type: localport
        addresses: ["fa:16:3e:3d:96:cd 32.12.121.10"]
...
port 067b57c8-2e50-4a86-a255-31e799a24ac5 (aka sc-arm-lnbp-taebatch-5_JSNX_APP_VLAN121_a029cd93)
        addresses: ["fa:16:3e:e5:0e:10 32.12.121.151"]
port d2479952-a2e2-4c94-b5d9-5086f5a177ee (aka sc-arm-lnbp-mars-3_JSNX_APP_VLAN121_319305dc)
        addresses: ["fa:16:3e:7c:4e:35 32.12.121.194"]
port 64ddd42f-6a70-4060-8782-bd5cad7c4983 (aka sc-arm-lnbp-clbatch-8_JSNX_APP_VLAN121_7a4ca62f)
        addresses: ["fa:16:3e:9c:56:aa 32.12.121.213"]
    port provnet-6612e9ff-5364-4788-9b27-0a8c6053bec3
        type: localnet
        tag: 121
        addresses: ["unknown"]
port f004de9d-5e52-43c7-9094-364a07ac420f (aka sc-arm-lnbp-influxdb-3_JSNX_APP_VLAN121_7527d6dc)
        addresses: ["fa:16:3e:96:6b:45 32.12.121.231"]
```
  - Related openflows.
```
cookie=0xd9b58719, duration=3803793.502s, table=37, n_packets=0, n_bytes=0, idle_age=65535, priority=100,reg15=0x37,metadata=0xd actions=set_field:0xd/0xffffff->tun_id,set_field:0x37->tun_metadata0,move:NXM_NX_REG14[0..14]->NXM_NX_TUN_METADATA0[16..30],output:13 cookie=0x997eb173, duration=3803793.502s, table=37, n_packets=0, n_bytes=0, idle_age=65535, priority=100,reg15=0x8005,metadata=0xd actions=set_field:0x2->reg15,resubmit(,39),set_field:0x8005->reg15,set_field:0xd/0xffffff->tun_id,set_field:0x8005->tun_metadata0,move:NXM_NX_REG14[0..14]->NXM_NX_TUN_METADATA0[16..30],output:300,output:14,output:138,output:137,output:299,output:140,output:304,output:303,output:142,output:1,output:302,output:139,output:301,output:13,output:11,output:10,resubmit(,38) cookie=0xce52adfe, duration=3803793.502s, table=37, n_packets=2475804, n_bytes=162274574, idle_age=0, priority=100,reg15=0x8000,metadata=0xd actions=set_field:0x2->reg15,resubmit(,39),set_field:0x8000->reg15,set_field:0xd/0xffffff->tun_id,set_field:0x8000->tun_metadata0,move:NXM_NX_REG14[0..14]->NXM_NX_TUN_METADATA0[16..30],output:300,output:14,output:138,output:137,output:299,output:140,output:304,output:303,output:142,output:1,output:302,output:139,output:301,output:13,output:11,output:10,resubmit(,38) cookie=0xb9dee9ea, duration=3803793.502s, table=37, n_packets=0, n_bytes=0, idle_age=65535, priority=100,reg15=0x8003,metadata=0xd actions=set_field:0xd/0xffffff->tun_id,set_field:0x8003->tun_metadata0,move:NXM_NX_REG14[0..14]->NXM_NX_TUN_METADATA0[16..30],output:300,output:14,output:138,output:137,output:299,output:140,output:304,output:303,output:142,output:1,output:302,output:139,output:301,output:13,output:11,output:10,resubmit(,38)
```
The datapath tunnel_key is 0xd, its localnet port tunnel_key is 0x1 and its localport port tunnel_key is 0x2. From openflows related 0xd datapath, the localnet port has not been acquired to generate the table 37 non-expected openflows. And other tables can identify the localnet port, so other tables which generate openflows are correct. For example, a openflow from table 38
```
cookie=0xce52adfe, duration=3803727.055s, table=38, n_packets=2475787, n_bytes=162273290, idle_age=0, priority=100,reg15=0x8000,metadata=0xd actions=set_field:0x1->reg15,resubmit(,39),set_field:0x70->reg13,set_field:0x3->reg15,resubmit(,39),set_field:0x72->reg13,set_field:0x26->reg13,set_field:0x29->reg15,resubmit(,39),set_field:0x39->reg13,set_field:0x33->reg15,resubmit(,39),set_field:0x8000->reg15
```
Based on the above information, we analyze the related ovn-controller codes. Only one condition that the localnet port is not queried by get_localnet_port function, the issue will occur. However, a deeper analysis of the code did not yield more useful information.




_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to