On 12/2/24 12:43, Eelco Chaudron wrote: > > > On 2 Dec 2024, at 12:34, Ilya Maximets wrote: > >> On 11/29/24 15:45, Eelco Chaudron wrote:
<snip> >>> >>> Hi Ales, >>> >>> It took me a bit longer to figure out what was going on, but I found the >>> issue. Your test case creates three DP flows. The first two flows uses the >>> dp_hash()/hash() match/action, which is not offloadable, while the third >>> flow is simple and offloadable. >>> >>> What happens next is that the first two flows are processed in the ovs >>> kernel module. However, as the third recirculated flow is applied in TC, it >>> still does not exist in the kernel DP. As a result, the packet is sent for >>> upcall handling. This process repeats for every packet as the flow keeps >>> being installed in TC. >>> >>> - [ovs] >>> recirc_id(0),in_port(2),eth(),eth_type(0x0800),ipv4(dst=10.0.0.2,frag=no), >>> packets:9, bytes:882, used:0.125s, actions:hash(l4(0)),recirc(0x3) >>> - [ovs] >>> recirc_id(0x3),dp_hash(0xa/0xf),in_port(2),eth(),eth_type(0x0800),ipv4(frag=no), >>> packets:9, bytes:882, used:0.125s, actions:ct(commit),recirc(0x4) >>> - [tc ] recirc_id(0x4),in_port(2),eth(),eth_type(0x0800),ipv4(frag=no), >>> packets:0, bytes:0, used:never, actions:3 >> >> Hmm, but if the flow is in TC, why it is not dumped back and revalidated? >> It shouldn't matter if it has any traffic or not. > > Not sure I understand your comment. It’s revalidated and removed in the end > (as no traffic is hitting this rule). But if traffic comes again, we install > it in TC again, so the same problem repeats. The question is: if the flow is in TC, why it is not showing up in the detrace output? If it's in TC, it means we have the ukey and it must have been revalidated at least once. Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
