From: Florian Westphal <fw@strlen.de>
To: Josh Hunt <johunt@akamai.com>
Cc: Pablo Neira Ayuso <pablo@netfilter.org>,
Patrick McHardy <kaber@trash.net>,
Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>,
netfilter-devel@vger.kernel.org, coreteam@netfilter.org,
Harald Welte <laforge@netfilter.org>,
Jan Engelhardt <jengelh@medozas.de>
Subject: Re: [PATCH] netfilter: xt_hashlimit: handle iptables-restore of hash with same name
Date: Thu, 24 Jul 2014 10:49:27 +0200 [thread overview]
Message-ID: <20140724084927.GB18404@breakpoint.cc> (raw)
In-Reply-To: <1406004850-31336-1-git-send-email-johunt@akamai.com>
Josh Hunt <johunt@akamai.com> wrote:
> Below is a first pass attempt at fixing a problem we've come across when
> trying to do an iptables-restore where the hashlimit name stays the same, but
> one of the hashlimit parameters changes but does not take affect.
>
> For ex, if you have an existing hashlimit rule, do an iptables-save, change the
> rate for that rule, and then do an iptables-restore the new rate will not be
> enforced.
>
> This appears to be due to a problem where hashlimit only checks for existing
> hashes by name and family and does not consider any of the other config
> parameters.
>
> I've attempted to fix this by having it check for all hashlimit config params,
> this way it doesn't accidentally match just on name. This brought up an issue
> of having to make hashlimit aware of how many references there are to its
> proc entry.
>
> I'm not submitting this for inclusion yet, but for feedback. Mainly on the approach
> and if there's possibly a better way of resolving this problem. My handling of
> the proc "problem" is pretty messy right now and possibly incomplete, but the
> patch below allows the case I described above to pass now. I hope to clean up
> the proc handling in a v2.
>
> Any feedback is greatly appreciated.
[ ignoring proc issue you pointed out ]
> from:
> -A INPUT -s 10.18.40.44/32 -i eth1 -p tcp -m hashlimit --hashlimit-upto 10/sec --hashlimit-burst 10 --hashlimit-name test -j ACCEPT
>
> to:
> -A INPUT -s 10.18.40.44/32 -i eth1 -p tcp -m hashlimit --hashlimit-upto 1000/sec --hashlimit-burst 10 --hashlimit-name test -j ACCEPT
>
> Currently when we do do this the new parameters are not enforced.
Note that:
-A INPUT -m hashlimit --hashlimit-upto 10/sec --hashlimit-burst 10 --hashlimit-name test
-A INPUT -m hashlimit --hashlimit-upto 1/sec --hashlimit-burst 10 --hashlimit-name test
doesn't work as expected either (rule #2 uses config options of #1).
I think is behaviour is so unexpected that I would consider this a bug...
Wrt. to the patch, aside from proc issue I only see style/indent nits, f.e.
> + hlist_for_each_entry(hinfo, &hashlimit_net->htables, node) {
> + if (!strcmp(name, hinfo->name) &&
> + family == hinfo->family) {
'family' should align with the 'if (', not the body.
Other than that, it looks good to me.
next prev parent reply other threads:[~2014-07-24 8:49 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-22 4:54 [PATCH] netfilter: xt_hashlimit: handle iptables-restore of hash with same name Josh Hunt
2014-07-22 20:49 ` Josh Hunt
2014-07-24 8:49 ` Florian Westphal [this message]
2014-07-24 10:53 ` Patrick McHardy
2014-07-24 11:48 ` Florian Westphal
2014-07-25 16:57 ` Josh Hunt
2014-08-14 14:09 ` Holger Eitzenberger
2014-08-15 3:58 ` Jan Engelhardt
2014-08-15 7:24 ` Holger Eitzenberger
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=20140724084927.GB18404@breakpoint.cc \
--to=fw@strlen.de \
--cc=coreteam@netfilter.org \
--cc=jengelh@medozas.de \
--cc=johunt@akamai.com \
--cc=kaber@trash.net \
--cc=kadlec@blackhole.kfki.hu \
--cc=laforge@netfilter.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=pablo@netfilter.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).