All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roberto Nibali <ratz@tac.ch>
To: Patrick Schaaf <bof@bof.de>
Cc: Netfilter Developers <netfilter-devel@lists.netfilter.org>
Subject: Re: rp_filter
Date: Wed, 08 Jan 2003 13:38:37 +0100	[thread overview]
Message-ID: <3E1C1BCD.7030504@tac.ch> (raw)
In-Reply-To: 20021228091730.GC440@oknodo.bof.de

>>  Can we *please* move the rp_filter cruft into the firewalling code
>>  proper?

I agree with Patrick on that it is not an intelligent idea to touch core network 
stuff in the netfilter code. Especially I seem to see more and more routing 
related POM patches for netfilter while I wonder what issues people really have 
with the current routing code which is where rp_filter belongs to?

> Upon thinking a bit more about your request, there is one thing
> that annoys me about rp_filter, and where iptables may eventually
> help: there was (and probably is) the idea of a DROP table, where
> you can LOG packets coming from all kinds of drop sites within
> the network stack. It would be great if I had a way to LOG packets

I've once started it but due to the network core's diversity in handling such 
cases I've stopped doing it. You get everything from silent drop via kfree over 
skb_free over return EINVAL over goto drop and so on ...

> rejected by rp_filter. IMHO the big problem to the unwary end-user,
> is the _invisibility_ of the drops caused by rp_filter.

That is a general nuisance and setting verbose_route_log and log_martians 
already helps a bit but most of the FIB related errors don't get logged. I know 
what you're talking about, I've even once started to debug tcpdump because of a 
badly set rp_filter value while doing asymmetric routing in a load balanced 
environment. It sucks rocks!!

> A simple net_ratelimit()ed printk() in the appropriate place, would
> already help a lot. If you walk your request over to linux-net, maybe
> you could make that your fallback position :-)

netdev or linux-net might be the best place to discuss it, yes. As a start you 
could patch ../linux/net/ipv4/fib_frontend.c:fib_validate_source(). Check for 
the rpf variable and follow it's invariants.

I don't agree with putting a net_ratelimit() on every network related place for 
logging. I took them out in my kernels because I rather have a system that can 
filter less packets but log the most packets than having a packet filter that 
can filter a lot but where syslogd doesn't get enough computing time anymore to 
read the printk ringbuffer.

Best regards,
Roberto Nibali, ratz
-- 
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq' | dc

  reply	other threads:[~2003-01-08 12:38 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-27 21:11 rp_filter Stephen Frost
2002-12-28  8:46 ` rp_filter Patrick Schaaf
2002-12-29 17:28   ` rp_filter Stephen Frost
2002-12-28  9:17 ` rp_filter Patrick Schaaf
2003-01-08 12:38   ` Roberto Nibali [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-07-13 15:23 rp_filter Leroy Tennison
2018-07-13 16:23 ` rp_filter Grant Taylor
2018-07-13 16:26 ` rp_filter Jay Vosburgh
2018-07-13 18:03 ` rp_filter Leroy Tennison
2018-09-04 10:11 ` rp_filter Anton Danilov

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=3E1C1BCD.7030504@tac.ch \
    --to=ratz@tac.ch \
    --cc=bof@bof.de \
    --cc=netfilter-devel@lists.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 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.