On 26 Sep 2025, at 8:21, Ratheesh Kannoth wrote:
> L3 offload is not working > > FLOW_DISSECTOR_KEY_BASIC - match.key->ip_proto is 0 > FLOW_DISSECTOR_KEY_IPV4_ADDRS - match.key->dst is 0 match.key->src is 0 > Action is correct FLOW_ACTION_REDIRECT. // flow_action_for_each(i, > act, flow_action) Hi Ratheesh, Your email is a bit cryptic, as it’s not clear to me what exactly is failing. I ran some tests last week with NVIDIA NICs, and L3 offload was working fine. Is OVS reporting the flow as being offloaded with TC (and in hw/sw)? You can also use the tc command to see the installed flows. If that’s the case, then the problem is likely with your driver, and you might need help from the kernel TC side rather than OVS. Cheers, Eelco > -Ratheesh > > From: Ratheesh Kannoth > Sent: Friday, September 26, 2025 11:49 AM > To: [email protected]; [email protected] > Subject: L3 offload. > > Hi, > > L2 offload works fine. I added prints in my driver ndo_setup_tc() > function to find flow dissector values. > > But for L3 > FLOW_DISSECTOR_KEY_BASIC - match.key->ip_proto is 0 > FLOW_DISSECTOR_KEY_IPV4_ADDRS - match.key->dst is 0 match.key->src is 0 > Action is correct FLOW_ACTION_REDIRECT. // flow_action_for_each(i, > act, flow_action) > > > ovs-ofctl del-flows br0 > ovs-ofctl add-flow br0 > tcp,nw_src=192.168.9.100,nw_dst=192.168.9.200,in_port=1,actions=output:2 > ovs-ofctl add-flow br0 > tcp,nw_src=192.168.9.200,nw_dst=192.168.9.100,in_port=2,actions=output:1 > ovs-ofctl add-flow br0 > udp,nw_src=192.168.9.100,nw_dst=192.168.9.200,in_port=1,actions=output:2 > ovs-ofctl add-flow br0 > udp,nw_src=192.168.9.200,nw_dst=192.168.9.100,in_port=2,actions=output:1 > ovs-ofctl add-flow br0 > icmp,nw_src=192.168.9.100,nw_dst=192.168.9.200,in_port=1,actions=output:2 > ovs-ofctl add-flow br0 > icmp,nw_src=192.168.9.200,nw_dst=192.168.9.100,in_port=2,actions=output:1 > ovs-ofctl add-flow br0 arp,in_port=2,actions=output:1 > ovs-ofctl add-flow br0 arp,in_port=1,actions=output:2 > > > > When I test L2, dissector return correct values. What could be wring > > ovs-ofctl del-flows br0 > ovs-ofctl add-flow br0 > tcp,nw_src=192.168.9.100,nw_dst=192.168.11.200,in_port=1,actions=mod_dl_src:62:04:0b:58:74:67,mod_dl_dst:00:00:00:01:01:00,output:2 > ovs-ofctl add-flow br0 > tcp,nw_src=192.168.11.200,nw_dst=192.168.9.100,in_port=2,actions=mod_dl_src:00:0f:b7:06:78:02,mod_dl_dst:b8:3f:d2:2a:13:54,output:1 > ovs-ofctl add-flow br0 > icmp,nw_src=192.168.9.100,nw_dst=192.168.11.200,in_port=1,actions=mod_dl_src:62:04:0b:58:74:67,mod_dl_dst:00:00:00:01:01:00,output:2 > ovs-ofctl add-flow br0 > icmp,nw_src=192.168.11.200,nw_dst=192.168.9.100,in_port=2,actions=mod_dl_src:00:0f:b7:06:78:02,mod_dl_dst:b8:3f:d2:2a:13:54,output:1 > ovs-ofctl add-flow br0 arp,in_port=2,actions=output:1 > ovs-ofctl add-flow br0 arp,in_port=1,actions=output:2 > > Ratheesh _______________________________________________ discuss mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
