All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mr Dash Four <mr.dash.four@googlemail.com>
To: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Cc: netfilter@vger.kernel.org, netfilter-devel@vger.kernel.org
Subject: Re: [ANNOUNCE] ipset 6.11 released
Date: Thu, 19 Jan 2012 22:00:35 +0000	[thread overview]
Message-ID: <4F189283.4000401@googlemail.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1201191154330.7547@blackhole.kfki.hu>


>> One other thing: *if* ipset can only accept single IP addresses instead 
>> of IP ranges (I don't believe this to be the case, but anyway, if it 
>> does), then you could process a single IP address in a loop containing 
>> the whole range to be tested (10.1.12.0/24 in my example - i.e. looping 
>> from 10.1.12.0 until 10.1.12.255 inclusive) and bail out as soon as 
>> there is no match, which would then return 'false' (i.e. no match). You 
>> could even speed things up a bit by implementing batch processing of IP 
>> ranges internally (via a single kernel APIs instead of looping via ipset 
>> and calling the kernel API each time for a single IP address check).
>>
>> I know this implementation is a bit crude, but since this testing takes 
>> place in userspace then this delay won't matter *that* much. How doable 
>> is that?
>>     
>
> The userspace testing is passed to the kernel for execution. There's no
> shadow or backup or whatever set in userspace. The sets exist in kernel 
> space and therefore all operations happen there.
>   
So, is the above doable in any shape or form or not?

> Why do you need such tests at all?
>   
Various reasons. Two common uses (at least in my case) would be to test 
ip range against quite a large set of registered subnets (taken from the 
geoip database and sorted using my own criteria). The tested ip range is 
either candidate to 1). ban that network, in which case I do not want 
duplicates if the existing range is already there; or 2) include the ip 
range in a separate set, making sure that it is not already in the 
'banned' set and also that it is not already included in the 'customer' 
set (which although limited, has quite significant number of set members 
- usually small subnets).

Because the ip range in ipset is not working correctly, I had to first 
manually go over the testing ranges. Later on I devised a small shell 
script doing what I just described in my previous post (quoted above), 
but it is quite ugly and inefficient - it would be much better if ip 
range testing in ipset was functioning properly, saving me all this hassle.

  reply	other threads:[~2012-01-19 22:00 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-14 14:52 [ANNOUNCE] ipset 6.11 released Jozsef Kadlecsik
2012-01-15 17:16 ` Mr Dash Four
2012-01-15 17:27   ` Jozsef Kadlecsik
2012-01-15 18:05     ` Mr Dash Four
2012-01-15 20:21       ` Jozsef Kadlecsik
2012-01-15 22:38         ` Mr Dash Four
2012-01-16  8:27           ` Jozsef Kadlecsik
2012-01-18 23:53             ` Mr Dash Four
2012-01-19 11:04               ` Jozsef Kadlecsik
2012-01-19 22:00                 ` Mr Dash Four [this message]
2012-01-20 12:49                   ` Jozsef Kadlecsik
2012-01-20 16:45                     ` Mr Dash Four
2012-01-21  8:12                       ` Amos Jeffries
2012-01-21 14:07                         ` Jozsef Kadlecsik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F189283.4000401@googlemail.com \
    --to=mr.dash.four@googlemail.com \
    --cc=kadlec@blackhole.kfki.hu \
    --cc=netfilter-devel@vger.kernel.org \
    --cc=netfilter@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.