Hello,
I am trying to create flow rules that will match broadcast and multicast
packets using testpmd
on mlx5 'MT27800 Family [ConnectX-5] 1017'. However, after creating the
following rules, they do not match any packets.
My testpmd script is:
port stop all
port config all rss none
set promisc 0 on
set allmulti 0 on
port start all
set link-up port all
flow create 0 group 0 ingress pattern eth dst is ff:ff:ff:ff:ff:ff /
ipv4 / end actions mark id 1 / count / queue index 1 / end
flow create 0 group 0 ingress pattern eth dst is ff:ff:ff:ff:ff:ff /
ipv6 / end actions mark id 1 / count / queue index 1 / end
flow create 0 group 0 ingress pattern eth dst spec 01:00:00:00:00:00 dst
mask 01:00:00:00:00:00 / ipv4 / end actions mark id 2 / count / queue
index 2 / end
flow create 0 group 0 ingress pattern eth dst spec 01:00:00:00:00:00 dst
mask 01:00:00:00:00:00 / ipv6 / end actions mark id 2 / count / queue
index 2 / end
flow create 0 group 0 priority 1 ingress pattern end actions queue index
3 / count / end
start
All the packets will match the last rule.
Also, creating only the rule
flow create 0 group 0 ingress pattern eth dst spec 01:00:00:00:00:00 dst
mask 01:00:00:00:00:00 / end actions mark id 2 / count / queue index 2 /
end
fails with error "port_flow_complain(): Caught PMD error type 1 (cause
unspecified): hardware refuses to create flow: File exists"
What may be the reason of it? Is there another way to match broadcast
and multicast packets using flow?
Thank you.
Elena Carasec