Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Mar 2018 14:42:37 -0400
From:      Joe Buehler <aspam@cox.net>
To:        Vincenzo Maffione <v.maffione@gmail.com>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Re: netmap ixgbevf mtu
Message-ID:  <5AB1561D.7010608@cox.net>
In-Reply-To: <Q8MS1x00g3ftU9t018MSnu>
References:  <5AAC49BE.3030508@cox.net> <5AAC4A96.1040107@cox.net> <5AB01439.3090003@cox.net> <Q8MS1x00g3ftU9t018MSnu>

next in thread | previous in thread | raw e-mail | index | archive | help
If you could fix this I would appreciate it.  My L1 TX performance for 64 byte L2 frames drops significantly, from about 9 gigbits to 7 gigabits, when I use buffers large enough to hold jumbo frames.

I will play with it a bit locally.  One thing that occurs to me is to pass the full frame length when NS_MOREFRAG is set and have the driver assume that the buffer is full if that length is more than the buffer length.  That way netmap knows both the total length and the fragment length.

Very ugly but...

Joe Buehler

> I don't think so, but you need to use the latest netmap from github.
> The NS_MOREFRAG support for ixgbe/ixgbevf is here
> https://github.com/luigirizzo/netmap/blob/master/LINUX/ixgbe_netmap_linux.h#L344-L345
> 
> The problem is that nobody really tried to use NS_MOREFRAG on ixgbevf
> transmission so far.
> So there may be a bug on how we set the flags in the hardware descriptor.
> We should look at what the driver does. Here
> https://elixir.bootlin.com/linux/v3.8/source/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c#L2903
> I see that the olinfo_status field is set with the total frame length
> (and not just the fragment length).
> In the netmap code we set to the fragment length, so that's probably why
> you see that behaviour.
> Here
> https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/82599-10-gbe-controller-datasheet.pdf
> in sec. 7.2.3.2.4 I read that we need to properly set the olinfo_status
> field on the firsts TX descriptor, while the others are irrelevant.
> 
> Cheers,
>   Vincenzo
> 
>  
> 
>  
> 
>     Joe Buehler
> 
> 
> 
> 
> -- 
> Vincenzo Maffione




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5AB1561D.7010608>