[ovs-dev] Regarding TSO using AF_PACKET in OVS

William Tu u9012063 at gmail.com
Fri Aug 30 15:56:03 UTC 2019


Hi Ramana,

I'm trying to understand your setup.

On Wed, Aug 28, 2019 at 4:11 AM Ramana Reddy <gtvrreddy at gmail.com> wrote:
>
> Hi Ben, Justin, Jesse and All,
>
> Hope everyone doing great.
>
> During my work, I create a socket using AF_PACKET with virtio_net_hdr and
> filled all the fields in the virtio_net_hdr
> and the flag to VIRTIO_NET_GSO_TCPV4 to enable TSO using af_packet.
>
> vnet->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
>
> The code is not working when I am trying to send large packets over OVS
> VXLAN tunnel. It's dropping the large packets and
> the application is resending the MTU sized packets. The code is working
> fine in non ovs case (directly sending without ovs).

Do you create AF_PACKET and bind its socket to OVS's vxlan device,
ex: vxlan_sys_4789?

In the non-ovs working case, do you bind AF_PACKET to the vxlan device created
by using ip link command?

>
> I understood that UDP tunneling offloading (VXLAN) not happening because of
> nic may not support this offloading feature,
> but when I send iperf (AF_INET) traffic, though the offloading is not
> happening, but the large packets are fragmented and the
> VXLAN tunneling sending the fragmented packets.  Why are we seeing this
> different behavior?

OVS's vxlan device is a light-weight tunnel device, so it might not
have all the
features.

>
> What is the expected behavior in AF_PACKET in OVS? Does OVS support
> AF_PACKET offloading mechanism?

AF_PACKET (see net/packet/af_packet.c) just from userspace send packet into
kernel and to the device you bind to.  It creates skb and invokes the
device's xmit
function.

William

> If not, how we can avoid the retransmission of the packets. What are things
> to be done so that the kernel fragments
> large packets and send them out without dropping ( in case if offloading
> feature not available)?
>
> Looking forward to your reply.
>
> Regards,
> Ramana
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev


More information about the dev mailing list