Vladimir Oltean <olte...@gmail.com> writes: > > What do you mean taprio doesn't support tc filter blocks? What do you > think there is to do in taprio to support that? > I don't think Murali is asking for filter offloading, but merely for a > way to direct frames to a certain traffic class on xmit from Linux. > Something like this works perfectly fine: > > sudo tc qdisc add dev swp2 root handle 1: taprio num_tc 2 map 0 1 > queues 1@0 1@1 base-time 1000 sched-entry S 03 300000 flags 2 > # Add the qdisc holding the classifiers > sudo tc qdisc add dev swp2 clsact > # Steer L2 PTP to TC 1 (see with "tc filter show dev swp2 egress") > sudo tc filter add dev swp2 egress prio 1 u32 match u16 0x88f7 0xffff > at -2 action skbedit priority 1 >
That's cool. Everyday I'm learning something new :-) > However, the clsact qdisc and tc u32 egress filter can be replaced > with proper use of the SO_PRIORITY API, which is preferable for new > applications IMO. > > I'm trying to send a demo application to tools/testing/selftests/ > which sends cyclic traffic through a raw L2 socket at a configurable > base-time and cycle-time, along with the accompanying scripts to set > up the receiver and bandwidth reservation on an in-between switch. But > I have some trouble getting the sender application to work reliably at > 100 us cycle-time, so it may take a while until I figure out with > kernelshark what's going on. Yeah, 100us cycle-time for software mode is kind of hard to make it work reliably. i.e. without any offloading, I can only get something close to that to work with a PREEMPT_RT kernel and disabling all kinds of power saving features. Cheers, -- Vinicius