[ovs-discuss] [TC] Request for changes to netlink message population for OVS-TC Flower Offload

K Chandra kesavac at gmail.com
Fri May 29 11:26:11 UTC 2020


OVS-TC offload sends only fields that are not completely masked out to the
TC kernel module. Some of the hardware we work with requires all fields
extracted from the packet along with the mask to be sent to the driver.
Hardware may optimise tables based on entire fields of packet and mask of
field, even though certain fields are masked out. OVS when offloading to
ovs kernel datapath sends the entire key along with the mask. Proposal
requests for similar behaviour in ovs-vswitchd in case of tc-offload. While
constructing netlink messages, ovs-vswitchd is removing completely masked
out fields. Sending additional masked fields should not impact existing
drivers. TC internally uses dissectors to extract non masked fields, so it
should not impact existing drivers in tc.

Example:

ovs-rule:ovs-ofctl add-flow br0 \

    "table=0, dl_dst=00:a1:45:23:23:11/ff:ff:ff:ff:ff:ff, actions=1"

If we have above rule in ovs and an icmp packet matching destination MAC
00:a1:45:23:23:11 arrives, ovs prepares the key and mask with all relevant
fields. When sending to TC it removes fields which are completely masked
out. In this case ethertype, ip-proto and dst_mac fields are sent as part
of netlink message to tc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20200529/1c62aac3/attachment.html>


More information about the discuss mailing list