From: Pablo Neira Ayuso <pablo@netfilter.org>
To: Laura Garcia Liebana <nevola@gmail.com>
Cc: netfilter-devel@vger.kernel.org
Subject: Re: [PATCHv3] extensions: libip6t_frag: Add translation to nft
Date: Tue, 7 Jun 2016 12:46:49 +0200 [thread overview]
Message-ID: <20160607104649.GA1766@salvia> (raw)
In-Reply-To: <20160607073309.GA9381@sonyv>
On Tue, Jun 07, 2016 at 09:33:13AM +0200, Laura Garcia Liebana wrote:
> diff --git a/extensions/libip6t_frag.c b/extensions/libip6t_frag.c
> index 023df62..7871fb9 100644
> --- a/extensions/libip6t_frag.c
> +++ b/extensions/libip6t_frag.c
> @@ -173,6 +173,35 @@ static void frag_save(const void *ip, const struct xt_entry_match *match)
> printf(" --fraglast");
> }
>
> +static int frag_xlate(const void *ip, const struct xt_entry_match *match,
> + struct xt_xlate *xl, int numeric)
> +{
> + const struct ip6t_frag *fraginfo = (struct ip6t_frag *)match->data;
> +
> + if (!(fraginfo->ids[0] == 0 && fraginfo->ids[1] == 0xFFFFFFFF)) {
> + xt_xlate_add(xl, "frag id %s",
> + (fraginfo->invflags & IP6T_FRAG_INV_IDS) ?
> + "!= " : "");
> + if (fraginfo->ids[0] != fraginfo->ids[1])
> + xt_xlate_add(xl, "%u-%u ", fraginfo->ids[0],
> + fraginfo->ids[1]);
> + else
> + xt_xlate_add(xl, "%u ", fraginfo->ids[0]);
> + }
> +
> + if (fraginfo->flags & IP6T_FRAG_RES)
> + xt_xlate_add(xl, "frag reserved 1 ");
> +
> + if (fraginfo->flags & IP6T_FRAG_FST)
> + xt_xlate_add(xl, "frag frag-off 0 ");
> +
> + if ((fraginfo->flags & IP6T_FRAG_MF) ||
> + (fraginfo->flags & IP6T_FRAG_NMF))
> + xt_xlate_add(xl, "frag more-fragments 1 ");
I think IP6T_FRAG_NMF means no more fragments, ie. frag more-fragments 0.
While IP6T_FRAG_MF means more fragments, ie. frag more-fragments 1.
Please, review the logic that we have in the kernel module when
providing correct translations.
http://lxr.free-electrons.com/source/net/ipv6/netfilter/ip6t_frag.c
It would be also good if you test these rules from the packet path, by
generating traffic to trigger matches, not only from a control plane
perspective.
Thanks.
prev parent reply other threads:[~2016-06-07 10:46 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-07 7:33 [PATCHv3] extensions: libip6t_frag: Add translation to nft Laura Garcia Liebana
2016-06-07 10:46 ` Pablo Neira Ayuso [this message]
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=20160607104649.GA1766@salvia \
--to=pablo@netfilter.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=nevola@gmail.com \
/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).