Thread (14 messages) flat view 14 messages, 4 authors, 2009-10-14

Re: kernel mode pppoe ppp if + ifb + mirred redirect, ethernet packets in ifb?!

From: Denys Fedoryschenko <hidden>
Date: 2009-10-12 22:46:08

On Tuesday 13 October 2009 01:07:30 jamal wrote:
On Tue, 2009-10-13 at 00:54 +0300, Denys Fedoryschenko wrote:
quoted
I don't have problem with existing behaviour, since i am using other way
of shaping, for my case using pktedit to assign priority to SKB and
shaping by it.
I am dissapointed Denys, you dont like ipt?;->
It kills me :-) Each new version it doesn't work and i notice, i'm almost one  
who use it :-) Probably i should wait till netfilter API and iptables 
conversion will stabilize somehow.

Plus skbedit in some cases will be faster, if i eliminate iptables, unloading 
modules even, basic filtering can be done by iproute2 too, i won't have 
netfilter locks that make things slow on SMP (at least what i heard here and 
what oprofile shows, that MARK was small CPU hog to compare with skbedit).

I am happily running 2k pppoe users on Quad Core CPU/on supercheap r8169
(better nic not available here) with skbedit and flow classifier. It can do 
more even, i think.
After switching to skbedit things improve a lot (before 1k users was near max)
quoted
But generally problem is was told by one of russian developers who is
working on firmware for few models of broadband routers, he asked to help
on ISP forum, and if possible to explain this to someone who can give
advice, and maybe tell that probably there is a bug.
[..]
quoted
If it is not, then just simple question, it will work reliably if i just
use u32 filter with offset on ifb?
Yes, of course you can if you add offset sizeof pppoe header.
But:
It looks like there is a genuine need for this feature.

The challenge is: I am trying to be generic across devices of many
different types (ethernet, atm, virtual etc) at many entry points,
ingress, egress local, forwarding etc.
This feature that this person would need will only work if you _know_
what you are doing; i.e in this case, I can very easily turn it off with
a simple command - but the user must know that they do this on ingress
side. I can cook a very quick patch for kernel and user space - you
think this user can test it?
I can test even, even if he won't.

As i understand, for pppoe case, he can just skip offset for ethernet and 
pppoe header, and he can filter by ip, or not?
Current way is maybe better, cause someone who want to count everything with 
ethernet and pppoe headers - can, and who want without - also can (by setting 
offset , just a bit more difficult.

Like 
/sbin/tc filter add dev eth1 protocol 0x8864  parent 2:0 prio 1 u32 \
match u32 0x$IPREMOTE_HEX 0xffffffff at 24 flowid 2:$ID
(found in LARTC)

cheers,
jamal
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help