On 12/26/23 11:27, Simon Jones wrote:
> Hi all,
> 
> I'm using ovs-dpdk in version 2.17.1
> 
> Now I found a bug that "Can't add megaflow again after run ovs-appctl
> dpctl/del-flows".
> 
> Detail is:
> ```
> ### 1. run command
> 
> ovs-appctl dpctl/del-flows
> 
> ### 2. check ovs-vswitchd.log
> 
> 2023-12-26T07:04:01.523Z|37317|dpif_netdev(pmd-c11/id:22)|DBG|ovs-netdev:
> miss upcall:
> skb_priority(0),skb_mark(0),ct_state(0x62),ct_zone(0x16),ct_mark(0),ct_label(0),ct_tuple4(src=10.244.0.5,dst=10.244.0.4,proto=1,tp_src=8,tp_dst=0),recirc_id(0x67),dp_hash(0),in_port(9),packet_type(ns=0,id=0),eth(src=0a:58:0a:f4:00:05,dst=0a:58:0a:f4:00:04),eth_type(0x0800),ipv4(src=10.244.0.5,dst=10.244.0.4,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)
> icmp,vlan_tci=0x0000,dl_src=0a:58:0a:f4:00:05,dl_dst=0a:58:0a:f4:00:04,nw_src=10.244.0.5,nw_dst=10.244.0.4,nw_tos=0,nw_ecn=0,nw_ttl=64,icmp_type=8,icmp_code=0
> icmp_csum:ce1f
> 2023-12-26T07:04:01.523Z|37318|flow(pmd-c11/id:22)|DBG|Flow is not TCP/UDP.
> 2023-12-26T07:04:01.523Z|37319|flow(pmd-c11/id:22)|DBG|Flow can't be
> offloaded due to missing mandatory fields required by hardware.
> # then log is loop again, which is "DBG|ovs-netdev: miss upcall:"
> 
> ### 3. compare with normal log is
> 
> 2023-12-26T07:51:09.920Z|00250|dpif_netdev(pmd-c11/id:22)|DBG|ovs-netdev:
> miss upcall:
> skb_priority(0),skb_mark(0),ct_state(0x21),ct_zone(0xfa00),ct_mark(0),ct_label(0),ct_tuple4(src=122.199.77.62,dst=122.199.77.157,proto=6,tp_src=41562,tp_dst=10250),recirc_id(0x1),dp_hash(0),in_port(3),packet_type(ns=0,id=0),eth(src=f4:84:8d:8a:08:e9,dst=00:0a:35:0e:55:6b),eth_type(0x0800),ipv4(src=122.199.77.62,dst=122.199.77.157,proto=6,tos=0,ttl=64,frag=no),tcp(src=41562,dst=10250),tcp_flags(syn)
> tcp,vlan_tci=0x0000,dl_src=f4:84:8d:8a:08:e9,dl_dst=00:0a:35:0e:55:6b,nw_src=122.199.77.62,nw_dst=122.199.77.157,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=41562,tp_dst=10250,tcp_flags=syn
> tcp_csum:82d9
> 2023-12-26T07:51:09.920Z|00251|flow(pmd-c11/id:22)|DBG|Flow can't be
> offloaded due to extra field beyond the capability of hardware.
> 2023-12-26T07:51:09.920Z|00253|dpif_netdev(pmd-c11/id:22)|DBG|flow_add:
> ysk2_flag:0 ufid:8fdd240f-df01-45c4-8e46-c2aa1dba1fd5
> mega_ufid:58c1ff52-d061-4c72-ab9b-f9ebf761d9ec
> ct_state(-est-rel+trk),ct_mark(0),recirc_id(0x1),in_port(3),packet_type(ns=0,id=0),eth(src=f4:84:8d:8a:08:e9,dst=00:0a:35:0e:55:6b),eth_type(0x0800),ipv4(src=122.199.77.62,dst=122.199.77.157,proto=6,frag=no),tcp(src=41562,dst=10250),
> actions:2
> 2023-12-26T07:51:09.920Z|00254|dpif_netdev(pmd-c11/id:22)|DBG|flow match:
> recirc_id=0x1,ct_state=-est-rel+trk,ct_mark=0,eth,tcp,vlan_tci=0x0000/0x1fff,dl_src=f4:84:8d:8a:08:e9,dl_dst=00:0a:35:0e:55:6b,nw_src=122.199.77.62,nw_dst=122.199.77.157,nw_frag=no,tp_src=41562,tp_dst=10250
> ```
> 
> I found the cause is:
> ```
> if (upcall.ukey && !ukey_install(udpif, upcall.ukey)) {
> failed
> ```
> 
> and the log is :
> ```
> WARN|upcall_cb failure: ukey installation fails
> ```
> 
> My question is:
> 1. Is this a fixed bug? If it is, which commit?
> 2. Is this a bug shoulf fix?

Hi, Simon.  This is not really a bug.  The tool behaves as expected.
What is happening is that you're removing datapath flows directly
from the datapath layer.  Higher layers are not notified about this
change and hence can't react.  dpctl commands are datapath debugging
commands, so they should not talk to upper layers, so the discrepancy
between layers is expected in this case.  Also, these are debugging
commands (as stated in the cocumentation) and so they are not expected
to be used under normal circumstances.

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to