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