* Plans for future iptables versions / jumpset feature
@ 2008-05-22 19:00 Thomas Jacob
2008-05-22 19:18 ` Patrick McHardy
0 siblings, 1 reply; 14+ messages in thread
From: Thomas Jacob @ 2008-05-22 19:00 UTC (permalink / raw)
To: netfilter-devel
Hello list,
In a reply to a post last week about netfilter/iptables's performance
(see below for link), Patrick McHardy wrote about him working
on a successor to iptables that would be able to manipulate
single rules in a set without any need to replace the whole
ruleset, and that would also include native support
for match sets and the like:
http://marc.info/?l=netfilter-devel&m=121085934512644
Are the plans for that online somewhere? Is there
a envisioned time line?
I'm asking because I'm thinking about whether or not
it's feasible and/or sensibly to write some kind
of target module that I'm choosing to call "jumpset" for now, that
would act as a fast (>O(log(n)) "jump diststribution point".
The idea is to have a mapping between a a potentially large set of IP
addresses and the chain/target space, so one could have a different
"next chain" for each different source/target IP or possibly
source/target network. The internal implementation of the necessary
data structures would be something along the lines of the ipset
extension.
The application would be being able to provide customized
rule sets for lots of different machines at just a few central netfilter
boxen. Or perhaps to block traffic from different attack sources in
completely different ways in an IDS/IPS system.
In some cases one could of course achieve a similar functionality by
constructing rule trees with the existing standard distribution but that
could create a huge number of rules that simply link to the next chain
and in general looks rather messy.
But if iptables will be fundamentally different next year or if
it will already contain something similar, it would probably not be very
productive to work on such a module.
Also if this whole idea is stupid, a waste of time, has already been
done or whatever, I'd really like to know.
Any thoughts on this would be very welcome.
Regards,
Thomas
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Plans for future iptables versions / jumpset feature
2008-05-22 19:00 Plans for future iptables versions / jumpset feature Thomas Jacob
@ 2008-05-22 19:18 ` Patrick McHardy
2008-05-22 19:57 ` Jan Engelhardt
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Patrick McHardy @ 2008-05-22 19:18 UTC (permalink / raw)
To: Thomas Jacob; +Cc: netfilter-devel
Thomas Jacob wrote:
> Hello list,
>
> In a reply to a post last week about netfilter/iptables's performance
> (see below for link), Patrick McHardy wrote about him working
> on a successor to iptables that would be able to manipulate
> single rules in a set without any need to replace the whole
> ruleset, and that would also include native support
> for match sets and the like:
>
> http://marc.info/?l=netfilter-devel&m=121085934512644
>
> Are the plans for that online somewhere? Is there
> a envisioned time line?
>
The plans come mostly from multiple discussions on this list
and in private, as well as my dislikes of certains aspects
of iptables (like the insane amount of modules).
The time line is vague, I originally wanted to have something
to publish this month, but other things are keeping me busy.
So to be safe I'll not promise anything before the next netfilter
workshop.
I might publish an outline of the new design though if I'll
find some time.
> I'm asking because I'm thinking about whether or not
> it's feasible and/or sensibly to write some kind
> of target module that I'm choosing to call "jumpset" for now, that
> would act as a fast (>O(log(n)) "jump diststribution point".
>
Thats one of the things I also want to add (halfway finished yet).
Jumps are regular verdicts in my new design and verdicts can be
gathered though lookups in sets, hashes etc. So you could do:
unnamed ... -j { 192.168.0.1:chain_1, 192.168.0.2:chain_2, ...}
I also want to have the same working for mark etc:
unnamed ... -j MARK --set-mark { 192.168.0.1:1, 192.168.0.2: 2, .. }
or alternatively:
unnamed ... -j MARK --set-mark ip-dst & 0xFF
> The idea is to have a mapping between a a potentially large set of IP
> addresses and the chain/target space, so one could have a different
> "next chain" for each different source/target IP or possibly
> source/target network. The internal implementation of the necessary
> data structures would be something along the lines of the ipset
> extension.
>
> The application would be being able to provide customized
> rule sets for lots of different machines at just a few central netfilter
> boxen. Or perhaps to block traffic from different attack sources in
> completely different ways in an IDS/IPS system.
>
> In some cases one could of course achieve a similar functionality by
> constructing rule trees with the existing standard distribution but that
> could create a huge number of rules that simply link to the next chain
> and in general looks rather messy.
>
Doing this in iptables might get a bit hairy, but it shouldn't be
that hard.
> But if iptables will be fundamentally different next year or if
> it will already contain something similar, it would probably not be very
> productive to work on such a module.
It would be great to have this in shape by next year, but I won't
promise anything. Should be doable though.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Plans for future iptables versions / jumpset feature
2008-05-22 19:18 ` Patrick McHardy
@ 2008-05-22 19:57 ` Jan Engelhardt
2008-05-22 20:15 ` Patrick McHardy
2008-05-22 20:27 ` Thomas Jacob
2008-05-22 20:14 ` Thomas Jacob
2008-05-23 11:55 ` Nishit Shah
2 siblings, 2 replies; 14+ messages in thread
From: Jan Engelhardt @ 2008-05-22 19:57 UTC (permalink / raw)
To: Patrick McHardy; +Cc: Thomas Jacob, netfilter-devel
On Thursday 2008-05-22 21:18, Patrick McHardy wrote:
> Thomas Jacob wrote:
>> Hello list,
>>
>> In a reply to a post last week about netfilter/iptables's performance
>> (see below for link), Patrick McHardy wrote about him working on a successor
>> to iptables that would be able to manipulate
>> single rules in a set without any need to replace the whole
>> ruleset, and that would also include native support
>> for match sets and the like:
>>
>> http://marc.info/?l=netfilter-devel&m=121085934512644
There have been a few changes regarding insertion speed. Even if one
has 500 rules (see that URL), they can probably be optimized using
IPMARK or chaintrees. Also, one should use iptables-restore for
updates, at least when changing more than one rule in a go. Lots of
people fail to actually use it.
Patrick McHardy wrote (see URL):
>Additionally it natively supports sets, bitmaps and hashes, so your
>500 source IP rules can be represented as a single rule with,
>depending on how the IPs are distributed, either O(1) or O(n) lookup
>time.
That sounds just like what ipsets does today. Also, netlink, at least
when using the TLV infrastructure it provides, does not come without
a cost—namely encoding and decoding to/from nlmsg structures. I
suggest to test-run the current binary protocol (a concatenation of
struct ipt_entries etc.) over netlink first before changing it to
something dynamic. Also, from what I have read from the iproute2
source so far, each attribute has an index, and that's rather bad for
add-on modules which want to define arbitrary attributes.
>> Are the plans for that online somewhere? Is there
>> a envisioned time line?
>
> The plans come mostly from multiple discussions on this list
> and in private, as well as my dislikes of certains aspects
> of iptables (like the insane amount of modules).
If it's just the number of source files, then that is an easy
target; these can be collapsed into one file. That would
reduce both compile time and the runtime overhead.
Concrete thoughts: combine
- xt_{CLASSIFY,CONNMARK,CONNSECMARK,MARK,SECMARK,connmark,mark}
- xt_{ah,esp,policy}
- xt_{conntrack,state}, though I'd say let's obsolete xt_state
- xt_{RATEEST,rateest}
- xt_{connbytes,connlimit,length,limit,hashlimit,quota,statistic}
- xt_{ECN,DSCP,HL,TTL,ecn,hl,dscp,ttl}
- xt_{comment,string,time,u32}
- xt_{addrtype,pkttype}
- xt_{hbh,dst,frag,eui64,ipv6header}
>> I'm asking because I'm thinking about whether or not
>> it's feasible and/or sensibly to write some kind
>> of target module that I'm choosing to call "jumpset" for now, that
>> would act as a fast (>O(log(n)) "jump diststribution point".
>
> Thats one of the things I also want to add (halfway finished yet).
> Jumps are regular verdicts in my new design and verdicts can be
> gathered though lookups in sets, hashes etc. So you could do:
>
> unnamed ... -j { 192.168.0.1:chain_1, 192.168.0.2:chain_2, ...}
This comes at the expense of ease-of-use. But you can persuade me to
agree on something à la
iptables -N 'chainx[0]'
iptables -N 'chainx[1]'
iptables -s 192.168.17.0/24 -j 'chainx[]'
> I also want to have the same working for mark etc:
>
> unnamed ... -j MARK --set-mark { 192.168.0.1:1, 192.168.0.2: 2, .. }
See IPMARK.
> or alternatively:
>
> unnamed ... -j MARK --set-mark ip-dst & 0xFF
See IPMARK!
(Hint: http://dev.medozas.de/gitweb.cgi?p=xtables-addons )
Hint2:
... -j IPMARK --addr dst
... -j MARK --and-mask 0xFF
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Plans for future iptables versions / jumpset feature
2008-05-22 19:18 ` Patrick McHardy
2008-05-22 19:57 ` Jan Engelhardt
@ 2008-05-22 20:14 ` Thomas Jacob
2008-05-22 20:18 ` Patrick McHardy
2008-05-23 11:55 ` Nishit Shah
2 siblings, 1 reply; 14+ messages in thread
From: Thomas Jacob @ 2008-05-22 20:14 UTC (permalink / raw)
To: Patrick McHardy; +Cc: netfilter-devel
> Thats one of the things I also want to add (halfway finished yet).
> Jumps are regular verdicts in my new design and verdicts can be
> gathered though lookups in sets, hashes etc. So you could do:
>
> unnamed ... -j { 192.168.0.1:chain_1, 192.168.0.2:chain_2, ...}
Great news, that's more or less what I'm looking to do.
Would those plans also include some way to incrementally
manipulate these verdict sets, maybe like:
unnamed ... -j dstset:targets
settool --name targets --add 192.168.0.10:chain_10
?
> It would be great to have this in shape by next year, but I won't
> promise anything. Should be doable though.
Looking forward to be an avid beta tester then ;-)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Plans for future iptables versions / jumpset feature
2008-05-22 19:57 ` Jan Engelhardt
@ 2008-05-22 20:15 ` Patrick McHardy
2008-05-22 20:27 ` Thomas Jacob
1 sibling, 0 replies; 14+ messages in thread
From: Patrick McHardy @ 2008-05-22 20:15 UTC (permalink / raw)
To: Jan Engelhardt; +Cc: Thomas Jacob, netfilter-devel
Jan Engelhardt wrote:
> On Thursday 2008-05-22 21:18, Patrick McHardy wrote:
>
>
>
>> Additionally it natively supports sets, bitmaps and hashes, so your
>> 500 source IP rules can be represented as a single rule with,
>> depending on how the IPs are distributed, either O(1) or O(n) lookup
>> time.
>>
>
> That sounds just like what ipsets does today.
Yes, but not for arbitary data. Even verdicts (including jumps) and
argument selection for other modules like MARK, ...
> Also, netlink, at least
> when using the TLV infrastructure it provides, does not come without
> a cost—namely encoding and decoding to/from nlmsg structures. I
> suggest to test-run the current binary protocol (a concatenation of
> struct ipt_entries etc.) over netlink first before changing it to
> something dynamic. Also, from what I have read from the iproute2
> source so far, each attribute has an index, and that's rather bad for
> add-on modules which want to define arbitrary attributes.
>
Netlink message size is limited, but you can of course use
lists of attributes or structures.
>
>>> Are the plans for that online somewhere? Is there
>>> a envisioned time line?
>>>
>> The plans come mostly from multiple discussions on this list
>> and in private, as well as my dislikes of certains aspects
>> of iptables (like the insane amount of modules).
>>
>
> If it's just the number of source files, then that is an easy
> target; these can be collapsed into one file. That would
> reduce both compile time and the runtime overhead.
>
> Concrete thoughts: combine
> - xt_{CLASSIFY,CONNMARK,CONNSECMARK,MARK,SECMARK,connmark,mark}
> - xt_{ah,esp,policy}
> - xt_{conntrack,state}, though I'd say let's obsolete xt_state
> - xt_{RATEEST,rateest}
> - xt_{connbytes,connlimit,length,limit,hashlimit,quota,statistic}
> - xt_{ECN,DSCP,HL,TTL,ecn,hl,dscp,ttl}
> - xt_{comment,string,time,u32}
> - xt_{addrtype,pkttype}
> - xt_{hbh,dst,frag,eui64,ipv6header}
Roughly, there will be:
- data module: any packet data: headers, payload
- meta module: meta-data associated with packet, maybe also conntrack things
and others
- maybe conntrack module if not contained in meta module
- existing stateful modules like limit, hashlimit, ...
And whatever is still missing. The logic how to use them will
be completely in userspace. Meaning the data module doesn't
care at all what kind of data it looks at, the set lookup
doesn't care whether its a port number, an IP address or
an ifindex, ...
>
>>> I'm asking because I'm thinking about whether or not
>>> it's feasible and/or sensibly to write some kind
>>> of target module that I'm choosing to call "jumpset" for now, that
>>> would act as a fast (>O(log(n)) "jump diststribution point".
>>>
>> Thats one of the things I also want to add (halfway finished yet).
>> Jumps are regular verdicts in my new design and verdicts can be
>> gathered though lookups in sets, hashes etc. So you could do:
>>
>> unnamed ... -j { 192.168.0.1:chain_1, 192.168.0.2:chain_2, ...}
>>
>
> This comes at the expense of ease-of-use. But you can persuade me to
> agree on something à la
> iptables -N 'chainx[0]'
> iptables -N 'chainx[1]'
> iptables -s 192.168.17.0/24 -j 'chainx[]'
>
Thats not any simpler. Besides such optimization also may be
performed by the userspace tool, the user doesn't necessarily
has to do them himself. Though this is not planned for an
initial version.
>
>> I also want to have the same working for mark etc:
>>
>> unnamed ... -j MARK --set-mark { 192.168.0.1:1, 192.168.0.2: 2, .. }
>>
>
> See IPMARK.
>
>
>> or alternatively:
>>
>> unnamed ... -j MARK --set-mark ip-dst & 0xFF
>>
>
> See IPMARK!
>
> (Hint: http://dev.medozas.de/gitweb.cgi?p=xtables-addons )
> Hint2:
> ... -j IPMARK --addr dst
> ... -j MARK --and-mask 0xFF
>
1. So?
2. You don't get it. Thats another special-casing module, exactly
the think I *don't* like. How many more of these (with slightly
differing semantic and features) should we add?
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Plans for future iptables versions / jumpset feature
2008-05-22 20:14 ` Thomas Jacob
@ 2008-05-22 20:18 ` Patrick McHardy
2008-05-22 20:47 ` Thomas Jacob
0 siblings, 1 reply; 14+ messages in thread
From: Patrick McHardy @ 2008-05-22 20:18 UTC (permalink / raw)
To: Thomas Jacob; +Cc: netfilter-devel
Thomas Jacob wrote:
>> Thats one of the things I also want to add (halfway finished yet).
>> Jumps are regular verdicts in my new design and verdicts can be
>> gathered though lookups in sets, hashes etc. So you could do:
>>
>> unnamed ... -j { 192.168.0.1:chain_1, 192.168.0.2:chain_2, ...}
>>
>
> Great news, that's more or less what I'm looking to do.
>
> Would those plans also include some way to incrementally
> manipulate these verdict sets, maybe like:
>
> unnamed ... -j dstset:targets
>
> settool --name targets --add 192.168.0.10:chain_10
>
> ?
Not implemented yet, but I'm probably going to add this as an option
(since it may affect the choice of data structure). For jumps its
tricky though because loop detection has to be performed.
>
>> It would be great to have this in shape by next year, but I won't
>> promise anything. Should be doable though.
>>
>
> Looking forward to be an avid beta tester then ;-)
>
Great :)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Plans for future iptables versions / jumpset feature
2008-05-22 19:57 ` Jan Engelhardt
2008-05-22 20:15 ` Patrick McHardy
@ 2008-05-22 20:27 ` Thomas Jacob
1 sibling, 0 replies; 14+ messages in thread
From: Thomas Jacob @ 2008-05-22 20:27 UTC (permalink / raw)
To: Jan Engelhardt; +Cc: netfilter-devel
> There have been a few changes regarding insertion speed. Even if one
> has 500 rules (see that URL), they can probably be optimized using
> IPMARK or chaintrees.
I was thinking more along the lines of >100k rules. Iptables
can easily handles those numbers at the moment, it's just a bit
awkward to deal with.
By chaintrees I presume you mean trees of iptables chains and not
some sort of tool named this way?
> Also, one should use iptables-restore for
> updates, at least when changing more than one rule in a go. Lots of
> people fail to actually use it.
To be sure, but I am also interested in improving the time required
to find to correct chain given 1000s or 10000s of ip to chain mappings
and of course the usability of a construct like that.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Plans for future iptables versions / jumpset feature
2008-05-22 20:18 ` Patrick McHardy
@ 2008-05-22 20:47 ` Thomas Jacob
2008-05-22 20:51 ` Patrick McHardy
0 siblings, 1 reply; 14+ messages in thread
From: Thomas Jacob @ 2008-05-22 20:47 UTC (permalink / raw)
To: Patrick McHardy; +Cc: netfilter-devel
On Thu, May 22, 2008 at 10:18:25PM +0200, Patrick McHardy wrote:
> Not implemented yet, but I'm probably going to add this as an option
> (since it may affect the choice of data structure). For jumps its
> tricky though because loop detection has to be performed.
I don't see why this always has to be performed. There so many ways
to break your system when you're root, so being required to define a loop
free rule sets after specifying some kind of "yes I really want to"-
option should be that much of a burden. As far as I understand
the code, the loop checking at the moment is done in userspace, so
nobody stops you from simply removing that part from the iptables
code.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Plans for future iptables versions / jumpset feature
2008-05-22 20:47 ` Thomas Jacob
@ 2008-05-22 20:51 ` Patrick McHardy
2008-05-22 21:43 ` Thomas Jacob
0 siblings, 1 reply; 14+ messages in thread
From: Patrick McHardy @ 2008-05-22 20:51 UTC (permalink / raw)
To: Thomas Jacob; +Cc: netfilter-devel
Thomas Jacob wrote:
> On Thu, May 22, 2008 at 10:18:25PM +0200, Patrick McHardy wrote:
>
>> Not implemented yet, but I'm probably going to add this as an option
>> (since it may affect the choice of data structure). For jumps its
>> tricky though because loop detection has to be performed.
>>
>
> I don't see why this always has to be performed. There so many ways
> to break your system when you're root, so being required to define a loop
> free rule sets after specifying some kind of "yes I really want to"-
> option should be that much of a burden. As far as I understand
> the code, the loop checking at the moment is done in userspace, so
> nobody stops you from simply removing that part from the iptables
> code.
>
No, its done in the kernel. I also don't buy this argument.
Sure, you can wreck your system if you really want to, but
it should be prevented to do so accidentally. Additionally,
if you consider setups with limited root powers, this becomes
a serious bug.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Plans for future iptables versions / jumpset feature
2008-05-22 20:51 ` Patrick McHardy
@ 2008-05-22 21:43 ` Thomas Jacob
0 siblings, 0 replies; 14+ messages in thread
From: Thomas Jacob @ 2008-05-22 21:43 UTC (permalink / raw)
To: Patrick McHardy; +Cc: netfilter-devel
On Thu, May 22, 2008 at 10:51:59PM +0200, Patrick McHardy wrote:
> No, its done in the kernel. I also don't buy this argument.
Oh yes, mark_source_chains, sorry
> Sure, you can wreck your system if you really want to, but
> it should be prevented to do so accidentally. Additionally,
> if you consider setups with limited root powers, this becomes
> a serious bug.
Well if you can't wreck your system this way now, creating such
a possibility wouldn't be so good... agreed.
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: Plans for future iptables versions / jumpset feature
2008-05-22 19:18 ` Patrick McHardy
2008-05-22 19:57 ` Jan Engelhardt
2008-05-22 20:14 ` Thomas Jacob
@ 2008-05-23 11:55 ` Nishit Shah
2008-05-23 12:15 ` Patrick McHardy
2 siblings, 1 reply; 14+ messages in thread
From: Nishit Shah @ 2008-05-23 11:55 UTC (permalink / raw)
To: 'Patrick McHardy', 'Thomas Jacob'; +Cc: netfilter-devel
Hi,
I am also looking/working for same thing as something like
"jumpset", even discussed with Patrick in last workshop regarding how to do
it, but it looks difficult to me by just seeing at code or understanding the
code without the overall impact.
It would be nice if someone can share the idea of how to do it or
give a lead for how to proceed.
Rgds,
Nishit Shah
-----Original Message-----
From: netfilter-devel-owner@vger.kernel.org
[mailto:netfilter-devel-owner@vger.kernel.org] On Behalf Of Patrick McHardy
Sent: Friday, May 23, 2008 12:48 AM
To: Thomas Jacob
Cc: netfilter-devel@vger.kernel.org
Subject: Re: Plans for future iptables versions / jumpset feature
Thomas Jacob wrote:
> Hello list,
>
> In a reply to a post last week about netfilter/iptables's performance
> (see below for link), Patrick McHardy wrote about him working
> on a successor to iptables that would be able to manipulate
> single rules in a set without any need to replace the whole
> ruleset, and that would also include native support
> for match sets and the like:
>
> http://marc.info/?l=netfilter-devel&m=121085934512644
>
> Are the plans for that online somewhere? Is there
> a envisioned time line?
>
The plans come mostly from multiple discussions on this list
and in private, as well as my dislikes of certains aspects
of iptables (like the insane amount of modules).
The time line is vague, I originally wanted to have something
to publish this month, but other things are keeping me busy.
So to be safe I'll not promise anything before the next netfilter
workshop.
I might publish an outline of the new design though if I'll
find some time.
> I'm asking because I'm thinking about whether or not
> it's feasible and/or sensibly to write some kind
> of target module that I'm choosing to call "jumpset" for now, that
> would act as a fast (>O(log(n)) "jump diststribution point".
>
Thats one of the things I also want to add (halfway finished yet).
Jumps are regular verdicts in my new design and verdicts can be
gathered though lookups in sets, hashes etc. So you could do:
unnamed ... -j { 192.168.0.1:chain_1, 192.168.0.2:chain_2, ...}
I also want to have the same working for mark etc:
unnamed ... -j MARK --set-mark { 192.168.0.1:1, 192.168.0.2: 2, .. }
or alternatively:
unnamed ... -j MARK --set-mark ip-dst & 0xFF
> The idea is to have a mapping between a a potentially large set of IP
> addresses and the chain/target space, so one could have a different
> "next chain" for each different source/target IP or possibly
> source/target network. The internal implementation of the necessary
> data structures would be something along the lines of the ipset
> extension.
>
> The application would be being able to provide customized
> rule sets for lots of different machines at just a few central netfilter
> boxen. Or perhaps to block traffic from different attack sources in
> completely different ways in an IDS/IPS system.
>
> In some cases one could of course achieve a similar functionality by
> constructing rule trees with the existing standard distribution but that
> could create a huge number of rules that simply link to the next chain
> and in general looks rather messy.
>
Doing this in iptables might get a bit hairy, but it shouldn't be
that hard.
> But if iptables will be fundamentally different next year or if
> it will already contain something similar, it would probably not be very
> productive to work on such a module.
It would be great to have this in shape by next year, but I won't
promise anything. Should be doable though.
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel"
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Plans for future iptables versions / jumpset feature
2008-05-23 11:55 ` Nishit Shah
@ 2008-05-23 12:15 ` Patrick McHardy
2008-05-23 12:47 ` Thomas Jacob
0 siblings, 1 reply; 14+ messages in thread
From: Patrick McHardy @ 2008-05-23 12:15 UTC (permalink / raw)
To: Nishit Shah; +Cc: 'Thomas Jacob', netfilter-devel
Nishit Shah wrote:
> Hi,
> I am also looking/working for same thing as something like
> "jumpset", even discussed with Patrick in last workshop regarding how to do
> it, but it looks difficult to me by just seeing at code or understanding the
> code without the overall impact.
> It would be nice if someone can share the idea of how to do it or
> give a lead for how to proceed.
Basically, you'd change (in ipt_do_table):
int newpos = t->verdict;
to get the new position from the target module. This probably
requires to change the target function signature. Alternatively
you could try to encode it in the verdict. Loop detection
needs some way to get all possible jumps from the target
and check each possible path. Maybe the easiest way is probably
a target built into ip_tables.c
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Plans for future iptables versions / jumpset feature
2008-05-23 12:15 ` Patrick McHardy
@ 2008-05-23 12:47 ` Thomas Jacob
2008-05-23 13:28 ` Patrick McHardy
0 siblings, 1 reply; 14+ messages in thread
From: Thomas Jacob @ 2008-05-23 12:47 UTC (permalink / raw)
To: Patrick McHardy; +Cc: netfilter-devel
On Fri, 2008-05-23 at 14:15 +0200, Patrick McHardy wrote:
> Basically, you'd change (in ipt_do_table):
>
> int newpos = t->verdict;
>
>
> to get the new position from the target module. This probably
> requires to change the target function signature. Alternatively
> you could try to encode it in the verdict. Loop detection
> needs some way to get all possible jumps from the target
> and check each possible path. Maybe the easiest way is probably
> a target built into ip_tables.c
Out of curiosity, if Nishit would actually do it (@Nishit: if you do,
maybe we could work together on this?) but there are really major
changes afoot for netfilter during the course of this year, wouldn't
those changes make such an extension obsolete and/or pretty
difficult to port to the new netfilter?
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Plans for future iptables versions / jumpset feature
2008-05-23 12:47 ` Thomas Jacob
@ 2008-05-23 13:28 ` Patrick McHardy
0 siblings, 0 replies; 14+ messages in thread
From: Patrick McHardy @ 2008-05-23 13:28 UTC (permalink / raw)
To: Thomas Jacob; +Cc: netfilter-devel
Thomas Jacob wrote:
> On Fri, 2008-05-23 at 14:15 +0200, Patrick McHardy wrote:
>> Basically, you'd change (in ipt_do_table):
>>
>> int newpos = t->verdict;
>>
>>
>> to get the new position from the target module. This probably
>> requires to change the target function signature. Alternatively
>> you could try to encode it in the verdict. Loop detection
>> needs some way to get all possible jumps from the target
>> and check each possible path. Maybe the easiest way is probably
>> a target built into ip_tables.c
>
> Out of curiosity, if Nishit would actually do it (@Nishit: if you do,
> maybe we could work together on this?) but there are really major
> changes afoot for netfilter during the course of this year, wouldn't
> those changes make such an extension obsolete and/or pretty
> difficult to port to the new netfilter?
If its sanely designed, there shouldn't be much trouble porting
it, especially since this feature will be implemented anyways.
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2008-05-23 13:28 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-22 19:00 Plans for future iptables versions / jumpset feature Thomas Jacob
2008-05-22 19:18 ` Patrick McHardy
2008-05-22 19:57 ` Jan Engelhardt
2008-05-22 20:15 ` Patrick McHardy
2008-05-22 20:27 ` Thomas Jacob
2008-05-22 20:14 ` Thomas Jacob
2008-05-22 20:18 ` Patrick McHardy
2008-05-22 20:47 ` Thomas Jacob
2008-05-22 20:51 ` Patrick McHardy
2008-05-22 21:43 ` Thomas Jacob
2008-05-23 11:55 ` Nishit Shah
2008-05-23 12:15 ` Patrick McHardy
2008-05-23 12:47 ` Thomas Jacob
2008-05-23 13:28 ` Patrick McHardy
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.