On 16-08-13 08:27 AM, Alexander Duyck wrote: > On Tue, Aug 9, 2016 at 11:48 PM, Gangfeng <gangfeng.hu...@ni.com> wrote: >> From: Gangfeng Huang <gangfeng.hu...@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.hu...@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