* What about adding range support for u32 classifier?
@ 2005-08-30 3:23 zhang yuanyi
2005-08-30 12:14 ` Jesper Juhl
0 siblings, 1 reply; 3+ messages in thread
From: zhang yuanyi @ 2005-08-30 3:23 UTC (permalink / raw)
To: linux-kernel
Hello, everyone!
The "range support" may be puzzled, but I don't know how to express my
problem exactly because of my poor english.
Just take an example, I may need all udp packets received on eth0
which source port is greater than 53 going into flow 10:1, and I only
wanna to type one tc command like this(In fact, I communicated with
kernel directly):
tc filter add dev eth0 parent ffff: protocol ip prio 20 \
u32 match udp sport gt 53 0xffff \
match ip protocol 17 0xff\
flowid 10:1
But I found I can't, because u32 classifier doesn't support matching
multi-value in one key.So I need to add (65535-53) keys to a u32
filter to implement this.
I intend to solve this problem by modifying u32 filter to match
multi-value in one key, but I am worrying the preformance.
Can someone give me some suggestions?
Sincerely.
Yuanyi Zhang
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: What about adding range support for u32 classifier?
2005-08-30 3:23 What about adding range support for u32 classifier? zhang yuanyi
@ 2005-08-30 12:14 ` Jesper Juhl
2005-09-01 7:26 ` zhang yuanyi
0 siblings, 1 reply; 3+ messages in thread
From: Jesper Juhl @ 2005-08-30 12:14 UTC (permalink / raw)
To: zhang yuanyi; +Cc: Alexey Kuznetsov, linux-kernel
On 8/30/05, zhang yuanyi <zhangyuanyi@gmail.com> wrote:
> Hello, everyone!
>
> The "range support" may be puzzled, but I don't know how to express my
> problem exactly because of my poor english.
>
> Just take an example, I may need all udp packets received on eth0
> which source port is greater than 53 going into flow 10:1, and I only
> wanna to type one tc command like this(In fact, I communicated with
> kernel directly):
>
> tc filter add dev eth0 parent ffff: protocol ip prio 20 \
> u32 match udp sport gt 53 0xffff \
> match ip protocol 17 0xff\
> flowid 10:1
>
> But I found I can't, because u32 classifier doesn't support matching
> multi-value in one key.So I need to add (65535-53) keys to a u32
> filter to implement this.
>
> I intend to solve this problem by modifying u32 filter to match
> multi-value in one key, but I am worrying the preformance.
>
> Can someone give me some suggestions?
>
How is this a kernel problem?
"tc" is a userspace app. I think you'd be better off talking to Alexey
Kuznetsov (added to Cc), who wrote tc, about this.
--
Jesper Juhl <jesper.juhl@gmail.com>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: What about adding range support for u32 classifier?
2005-08-30 12:14 ` Jesper Juhl
@ 2005-09-01 7:26 ` zhang yuanyi
0 siblings, 0 replies; 3+ messages in thread
From: zhang yuanyi @ 2005-09-01 7:26 UTC (permalink / raw)
To: Jesper Juhl; +Cc: Alexey Kuznetsov, linux-kernel
2005/8/30, Jesper Juhl <jesper.juhl@gmail.com>:
> On 8/30/05, zhang yuanyi <zhangyuanyi@gmail.com> wrote:
> > Hello, everyone!
> >
> > The "range support" may be puzzled, but I don't know how to express my
> > problem exactly because of my poor english.
> >
> > Just take an example, I may need all udp packets received on eth0
> > which source port is greater than 53 going into flow 10:1, and I only
> > wanna to type one tc command like this(In fact, I communicated with
> > kernel directly):
> >
> > tc filter add dev eth0 parent ffff: protocol ip prio 20 \
> > u32 match udp sport gt 53 0xffff \
> > match ip protocol 17 0xff\
> > flowid 10:1
> >
> > But I found I can't, because u32 classifier doesn't support matching
> > multi-value in one key.So I need to add (65535-53) keys to a u32
> > filter to implement this.
> >
> > I intend to solve this problem by modifying u32 filter to match
> > multi-value in one key, but I am worrying the preformance.
> >
> > Can someone give me some suggestions?
> >
> How is this a kernel problem?
> "tc" is a userspace app. I think you'd be better off talking to Alexey
> Kuznetsov (added to Cc), who wrote tc, about this.
>
Actually, I communicated with kernel directly in my app and don't use tc at all.
That tc command is used just for expressing my problem conveniently.
My problem is that I need to match udp/tcp packets with different s/d
port(f.e., all udp packets which source port is greater than 53 and
less than 5069) on ingress, but u32 classifier in kernel(not the tc
app) doesn't support matching value in a range.
So I think I may need to modify the kernel to add range support for
u32 classifier. But I am worrying its performance will be down.
Does anyone have a more clever solution?
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-09-01 7:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-08-30 3:23 What about adding range support for u32 classifier? zhang yuanyi
2005-08-30 12:14 ` Jesper Juhl
2005-09-01 7:26 ` zhang yuanyi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox