[Intel-wired-lan] [net-next] igb: add function to set I210 transmit mode

John Fastabend john.fastabend at gmail.com
Sat Aug 13 19:01:12 UTC 2016


On 16-08-13 08:27 AM, Alexander Duyck wrote:
> On Tue, Aug 9, 2016 at 11:48 PM, Gangfeng <gangfeng.huang at ni.com> wrote:
>> From: Gangfeng Huang <gangfeng.huang at ni.com>
>>
>> I210 supports two transmit modes, legacy and Qav. The transmit mode is
>> configured in TQAVCTRL.QavMode register. Before this patch igb driver
>> only support legacy mode. This patch makes it possible to configure the
>> transmit mode.
>>
>> Example:
>> Get the transmit mode:
>> $ echo /sys/class/net/eth0/qav_mode
>> 0
>> Set transmit mode to qav mode
>> $ echo 1 > /sys/class/net/eth0/qav_mode
>>
>> Tested:
>> Setting /sys/class/net/eth0/qav_mode to Qav mode,
>>  1) Switch back and forth between Qav mode and legacy mode
>>  2) Send/recv packets in both mode.
>>
>> Signed-off-by: Gangfeng Huang <gangfeng.huang at ni.com>
> 
> I really don' think this patch is going to work.  If you are going to
> implement something like this and have a hope to get it accepted into
> the Linux kernel you need to come up with a solution that will work
> fore more than this one device.  We don't want the drivers having to
> carry around their own sysfs controls for things that really are not
> proprietary to the device.  There needs to be a generic kernel
> interface for this.  The fact is something like QAV more than likely
> exists on other devices as well so it may be worth while to look into
> seeing if you could come up with some way of interfacing this with
> either ethtool ,iproute2, or maybe even the DCB/LLDP utilities since
> this is essentially splitting the Tx into two separate traffic
> classes.
> 
> Also for these kind of patches it would be best to include the netdev
> mailing list.  That way it can be reviewed by a wider audience and you
> are much more likely to get this accepted upstream rather than have it
> rejected when Jeff Kirsher attempts to submit it.
> 


Take a look at ./net/sched/sch_mqprio.c and the ndo op setup_tc.
Multiple folks have been talking about adding support for this and
I think a lot of the bits you need might be there.

.John



More information about the Intel-wired-lan mailing list