Hi,

Is there a way to create a flow rule that drops all the eth packets?
I've attempted to setup a flow rule that match any ether type but it's
never validated, for example a rule like:

.
    rte_flow_item_eth eth_spec{};
    eth_spec.hdr.ether_type = RTE_BE16(0x8100);
    rte_flow_item_eth eth_mask{};
    eth_mask.hdr.ether_type = 0xFFFF;
.

Should match every packet with ether type 0x8100, so I would assume that
setting ether_type for the mask to 0x0000 would trigger the card to
match everything regardless of the spec value, but it doesn't run
("Invalid input set" is the complain).

Also with testpmd I'm failing to make it work and the documentation on
this entire rte flow is pretty poor..

So, how do I configure a rule that drops all*? My use case would be that
I need to filter a link that is getting a lot of stuff, I'll drop all
but just certain flows that are relevant to me (using an higher priority
rule)..

Perhaps there's a way to configure an ingress rule that automatically
drops everything which is not matching the rule?

As a side note, I can't just disable RSS, spit all to queue 0 like it
was a void bucket (dropping/releasing) and then setting up rules for the
packets I need so that they get enqueue to some other queue, because:

1) I'll waste a cpu just for dropping packets
2) I'll probably get my stat reports full of imiss/errors since the link
is 100G and that poor queue is going to be getting tons of packets

Thanks


* I found this command:

.
testpmd> set all queues drop 0 on
function not implemented
.

But, it doesn't work.

-- 
BR, Filip
+48 666 369 823

Reply via email to