[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4D7E928C.1030707@cbnco.com>
Date: Mon, 14 Mar 2011 18:11:24 -0400
From: Michael Smith <msmith@...co.com>
To: netdev@...r.kernel.org
Subject: Re: [PATCH] Disable rp_filter for IPsec packets
David Miller wrote:
>> What would be a less costly way to pass it? Could I just hand it the
>> whole skb?
>
> I don't see how passing a pointer is better than passing an interger.
> In both cases you're adding an extra argument to the function.
Yeah, I was thinking an sk_buff could replace the mark parameter,
possibly dev, maybe saddr, daddr, and tos too. On the other hand I can't
think of anything less onerous than an extra stack argument - unless
fib_validate_source() didn't exist at all.
> I was trying to get you to think out of the box and come up with
> something clever, but that isn't working. :-)
Yes, I got that, but I don't know what you are looking for, and don't
expect to succeed by trying something else at random.
> In short, fib_validate_source() is nothing but completely unnecessary
> overhead in the common case.
I'm not entitled to an opinion about fib_validate_source(). It feels
like it might be trying to do one too many things. If it were my code I
might split the RPF out from the spec_dst calculation, move the whole
lot into net/ipv4/route.c, and only do the fib_lookup() if RPF is
enabled or CONFIG_IP_ROUTE_CLASSID (i.e. we need to know the itag).
If that makes sense I'll give it a shot, but beware, I don't even know
what an itag is, and I don't see documentation for CONFIG_IP_ROUTE_CLASSID.
Thanks,
Mike
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists