From: Sven Eckelmann <sven.eckelmann@openmesh.com>
To: Tom Herbert <tom@herbertland.com>
Cc: Linux Kernel Network Developers <netdev@vger.kernel.org>,
"David S . Miller" <davem@davemloft.net>,
Jiri Pirko <jiri@mellanox.com>,
Eric Dumazet <edumazet@google.com>,
LKML <linux-kernel@vger.kernel.org>,
b.a.t.m.a.n@lists.open-mesh.org
Subject: Re: [RFC v2 6/6] flow_dissector: Parse batman-adv unicast headers
Date: Wed, 06 Dec 2017 11:26:49 +0100 [thread overview]
Message-ID: <1932095.qaFFlVjcYD@bentobox> (raw)
In-Reply-To: <CALx6S34QfkvbGqrSahQ17upSPDjNaHnf4wsxk90gXgR2dW_D8A@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1699 bytes --]
On Dienstag, 5. Dezember 2017 09:19:45 CET Tom Herbert wrote:
[...]
> Switch statements with cases having many LOC is hard to read and
> __skb_flow_dissect is aleady quite convoluted to begin with.
>
> I suggest putting this in a static function similar to how MPLS and
> GRE are handled.
Thanks for the feedback.
I was not sure whether "inline" or an extra function would be preferred. I've
then decided to implement it like most of the other protocols. But since an
extra function is the preferred method for handling new protos, I will move it
to an extra function.
The change can already be found in
https://git.open-mesh.org/linux-merge.git/shortlog/refs/heads/ecsv/flowdissector
I also saw that you've introduced in
commit 823b96939578 ("flow_dissector: Add control/reporting of encapsulation")
a flag to stop dissecting when something encapsulated was detected. It is not
100% clear to me when the FLOW_DIS_ENCAPSULATION should be set and
FLOW_DISSECTOR_F_STOP_AT_ENCAP be checked. Only when there is IP/eth in IP
(like in the two examples from the commit message) or also when there is a
ethernet header, followed by batman-adv unicast header and again followed by
an ethernet header?
Right now, the flag FLOW_DISSECTOR_F_STOP_AT_ENCAP is only used by
fib_multipath_hash - so it doesn't really help me to understand it. But the
FLOW_DIS_ENCAPSULATION is checked by drivers/net/ethernet/broadcom/bnxt/bnxt.c
to set it in a special tunnel_type (anytunnel) mode for IPv4/IPv6 packets. So
my (wild) guess right now is that these flags should only be used/checked when
handling encapsulation inside IPv4/IPv6 packets. But maybe you can correct me
here.
Kind regards,
Sven
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2017-12-06 10:26 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-05 14:35 [RFC v2 0/6] flow_dissector: Provide basic batman-adv unicast handling Sven Eckelmann
[not found] ` <20171205143514.4441-1-sven.eckelmann-lv6y7wLVQPlWk0Htik3J/w@public.gmane.org>
2017-12-05 14:35 ` [RFC v2 1/6] batman-adv: Change nl references to genl Sven Eckelmann
2017-12-05 14:35 ` [RFC v2 2/6] batman-adv: Rename batman-adv.h to batadv_genl.h Sven Eckelmann
2017-12-06 16:42 ` Willem de Bruijn
2017-12-06 16:55 ` [B.A.T.M.A.N.] " Sven Eckelmann
2017-12-06 16:58 ` Willem de Bruijn
2017-12-15 10:32 ` [B.A.T.M.A.N.] " Sven Eckelmann
2017-12-15 11:48 ` Sven Eckelmann
2017-12-15 16:57 ` Willem de Bruijn
[not found] ` <CAF=yD-JTfT-iOBG6KMhXv=KggoZ4tEP1fiJMiHMA_d0-wYncLQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-15 17:18 ` Sven Eckelmann
2017-12-15 17:23 ` [B.A.T.M.A.N.] " Willem de Bruijn
2017-12-05 14:35 ` [RFC v2 4/6] batman-adv: Remove usage of BIT(x) in packet.h Sven Eckelmann
2017-12-05 14:35 ` [RFC v2 3/6] batman-adv: Let packet.h include its headers directly Sven Eckelmann
2017-12-05 14:35 ` [RFC v2 5/6] batman-adv: Convert packet.h to uapi header Sven Eckelmann
2017-12-05 14:35 ` [RFC v2 6/6] flow_dissector: Parse batman-adv unicast headers Sven Eckelmann
2017-12-05 17:19 ` Tom Herbert
2017-12-06 10:26 ` Sven Eckelmann [this message]
2017-12-06 16:54 ` Willem de Bruijn
2017-12-06 17:10 ` Tom Herbert
[not found] ` <CAF=yD-LR5WSQt5jwN-+T-1iWyrxovk0qZ1cb-QUO6_+Wy8Ci-A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-06 17:27 ` Sven Eckelmann
2017-12-06 18:24 ` Willem de Bruijn
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=1932095.qaFFlVjcYD@bentobox \
--to=sven.eckelmann@openmesh.com \
--cc=b.a.t.m.a.n@lists.open-mesh.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=jiri@mellanox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=tom@herbertland.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).