I have a requirement which I guess it is not too unusually, however I haven''t quite figured out how to do it and couldn''t find any examples which handle that. I have made myself a Linux-based bridge, eth0 bridged with eth1 to form br0. In this bridge, I run ''tc'' script to handle QoS. So far nothing unusual. However, what''s different is that this bridge is sitted in between a pppoe client and pppoe server, ie pppoe frames are bridge between the Linux bridge, and I am interested to perform QoS on the pppoe frames, based on the ip tos setting of the ppp packets ( encapsulated inside the pppoe frames ). For example, normal tc script :- tc filter add dev ppp0 parent 1:0 prio 10 u32 \ match ip tos 0x10 0xff \ flowid 1:4 This will work on a ppp0 device because the ppp0 has ip packets flowing through it. Now in my bridge, there is no such device, I only have access to eth0 or eth1, how could I perform the same thing on devices such as eth0 or eth1, but matching the ip TOS setting inside the pppoe frame ? Best regards. _______________________________________________ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
Resent using text insted of html. ----- Original Message ----- From: Ming-Ching Tiew To: lartc@mailman.ds9a.nl Sent: Monday, February 05, 2007 9:28 AM Subject: tc filter matches ip fileds inside pppoe frames I have a requirement which I guess it is not too unusually, however I haven''t quite figured out how to do it and couldn''t find any examples which handle that. I have made myself a Linux-based bridge, eth0 bridged with eth1 to form br0. In this bridge, I run ''tc'' script to handle QoS. So far nothing unusual. However, what''s different is that this bridge is sitted in between a pppoe client and pppoe server, ie pppoe frames are bridge between the Linux bridge, and I am interested to perform QoS on the pppoe frames, based on the ip tos setting of the ppp packets ( encapsulated inside the pppoe frames ). For example, normal tc script :- tc filter add dev ppp0 parent 1:0 prio 10 u32 \ match ip tos 0x10 0xff \ flowid 1:4 This will work on a ppp0 device because the ppp0 has ip packets flowing through it. Now in my bridge, there is no such device, I only have access to eth0 or eth1, how could I perform the same thing on devices such as eth0 or eth1, but matching the ip TOS setting inside the pppoe frame ? Best regards. _______________________________________________ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
From: Ming-Ching Tiew To: lartc@mailman.ds9a.nl Sent: Monday, February 05, 2007 9:28 AM Subject: tc filter matches ip fileds inside pppoe frames> I have a requirement which I guess it is not too unusually, however Ihaven''t> quite figured out how to do it and couldn''t find any examples which handlethat.> > I have made myself a Linux-based bridge, eth0 bridged with > eth1 to form br0. > > In this bridge, I run ''tc'' script to handle QoS. > > So far nothing unusual. > > However, what''s different is that this bridge is sitted in between a pppoeclient> and pppoe server, ie pppoe frames are bridge between the Linux bridge, and > I am interested to perform QoS on the pppoe frames, based on the ip tossetting> of the ppp packets ( encapsulated inside the pppoe frames ). > > For example, normal tc script :- > > tc filter add dev ppp0 parent 1:0 prio 10 u32 \ > match ip tos 0x10 0xff \ > flowid 1:4 > > This will work on a ppp0 device because the ppp0 has ip packets flowingthrough> it. Now in my bridge, there is no such device, I only have access to eth0or eth1,> how could I perform the same thing on devices such as eth0 or eth1, butmatching> the ip TOS setting inside the pppoe frame ?Perhaps this will be one step closer to matching ip TOS inside the PPPOE frame :- # tc filter add dev vlan0 parent 1:0 protocol 0x8864 prio 10 u32 \ match u32 0x00100000 0x00ff0000 at .... \ flowid 1:4 Protocol 0x8864 refers to PPP_SES. But the question where is the location of the TOS filed in the ip header encapsulated inside the PPP frame ? What if the IP header is compressed inside the ppp frame ? Cheers