Re: nft: ah expression doesn't work for IPv6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 02, 2017 at 10:25:22PM +0100, Pablo Neira Ayuso wrote:
> On Thu, Mar 02, 2017 at 10:01:29PM +0100, Pablo Neira Ayuso wrote:
> > On Thu, Mar 02, 2017 at 08:56:52PM +0100, Phil Sutter wrote:
> > > Hi,
> > > 
> > > There is currently an open issue with nft in that ah expression doesn't
> > > work for IPv6 since it creates a payload expression which doesn't find
> > > the AH IPv6 extension header.
> > > 
> > > There has been a discussion about this problem off-list in which two
> > > alternative "solutions" were named, both involve checking the context
> > > to find out whether one is trying to match an IPv4 or IPv6 packet and
> > > then create either payload or exthdr expression. Though this solution is
> > > not optimal, as in (at least) inet table the address family is not given
> > > per se.
> > > 
> > > I had the idea of creating a "real" solution to the problem which
> > > consists of a payload/exthdr hybrid in kernel space searching for the
> > > given header in different locations depending on the family of the
> > > actual package being handled. Ideally this should reuse as much code as
> > > possible, so maybe "just" create both expressions in user space and in
> > > kernel space only branch between the two.
> > 
> > If the problem is the inet chain, I would prefer we request explicit
> > dependencies for ah so we generate the right bytecode depending on the
> > family. Yes, I mean we would need two different rules for each case by
> > now.

Well, in bison there would have to be a common entrance point, which
checks the scope and then generates either payload expr, exthdr expr or
an error depending on what it is. Correct?

> > On top of that, do you have a real usecase having both AH traffic for
> > IPv4 and IPv6 traffic? If you don't I would prefer you just fix what
> > we have and focus on a different task, we have plenty of work to do
> > ahead. We can hand over you more useful tasks.

Not sure if I understand you correctly, but the use-case is matching on
some AH header field in IPv6 traffic? But sure, if you think that's too
exotic I could maybe just add some check somewhere which causes an error
if the family is not specified or not IPv4 and ah expression is being
used.

> Sorry, I didn't mean to sound rude. But I would like to see more
> usecases that would fit into such hybrid. I think we need more
> usecases (not only AH) to justify this extra complexity that this
> hybrid (or probably something else we can come up with) requires.

No problem! Didn't sound rude to me, just inappropriate - it's not up to
you what I'm wasting my time for. :)

Cheers, Phil
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux