On 2022-07-07 9:48 AM, Roi Dayan wrote:


On 2022-07-06 5:00 PM, Roi Dayan wrote:


On 2022-07-06 3:34 PM, Roi Dayan wrote:


On 2022-07-06 1:26 PM, Eelco Chaudron wrote:


On 5 Jul 2022, at 0:45, Ilya Maximets wrote:

TCA_FLOWER_KEY_ENC_UDP_DST_PORT_MASK is supported by TC, and OVS may
create a masked match on this field.

This change is important as we're not clearing the masks which wasn't
really used, so if OVS requests match on ports, we should use the
mask and clear, otherwise offloading will fail.

Signed-off-by: Ilya Maximets <i.maxim...@ovn.org>

Changes look good to me, and all system-traffic.at tests that were passing without the change are still passing, including the failing ERSPAN ones.

Acked-by: Eelco Chaudron <echau...@redhat.com>


can we postpone to merge this?
After this patch simple vxlan rules won't have enc dst port on decap
rules and currently mlx5 driver must have enc dst port to do the
offload of the decap rule.
I'm checking about this limitation and if we can remove it but
if we can postpone a bit so we won't break users with our nics..

thanks,
Roi


I finished with the testing and checking I needed.
I don't have a problem with the patch. if something else will raise i'll
start a different discussion.

Acked-by: Roi Dayan <r...@nvidia.com>


I have a concern now. today for an offload driver to offload
a tunnel decap rule it registers to TC indirect callback.

Adding a TC rule on a tunnel device calls all registered drivers
to offload the rule.
With a single tunnel on a device this is ok but if a system have multiple tunnels with same src/dst ip but different enc dst port,
adding a tc rule on one of the tunnel devices without matching
enc dst port will call a driver to offload such a rule in the hw,
but that rule is potentially matching all sw tunnels. a driver
will have to match implicit on the the enc_dst_port to distinguish
between the tunnels.

OVS doesn't match explicit on enc_dst_port also when having multiple
tunnels as the in SW the packets will be on the correct
tunnel device and then pass tc or ovs datapath.

After this patch offload drivers must to implicit match the
enc_dst_port to avoid having hw rule matching all the tunnels
with same src/dst ip. taking the tunnel maybe.
e.g. for vxlan tunnel from vxlan->cfg.dst_port

What do you think?

to support what i said about implicit match for geneve and mpls for
example will require kernel change to actually expose their struct
in a header file.

I think we should keep ovs TC to keep explicit match on enc_dst_port.
We can add a comment explaining why.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to