[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <e4017b1b-56ac-7853-ea81-f89a7f5c9890@gmail.com>
Date: Wed, 12 Jun 2019 15:31:54 +0900
From: Toshiaki Makita <toshiaki.makita1@...il.com>
To: Maxime Chevallier <maxime.chevallier@...tlin.com>,
davem@...emloft.net, Pablo Neira Ayuso <pablo@...filter.org>,
Florian Fainelli <f.fainelli@...il.com>,
Jiri Pirko <jiri@...lanox.com>,
Jakub Kicinski <jakub.kicinski@...ronome.com>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
Antoine Tenart <antoine.tenart@...tlin.com>,
thomas.petazzoni@...tlin.com,
Michał Mirosław <mirq-linux@...e.qmqm.pl>
Subject: Re: [PATCH net] net: ethtool: Allow matching on vlan CFI bit
On 2019/06/12 0:54, Maxime Chevallier wrote:
> Using ethtool, users can specify a classification action matching on the
> full vlan tag, which includes the CFI bit.
>
> However, when converting the ethool_flow_spec to a flow_rule, we use
> dissector keys to represent the matching patterns.
>
> Since the vlan dissector key doesn't include the CFI bit, this
> information was silently discarded when translating the ethtool
> flow spec in to a flow_rule.
>
> This commit adds the CFI bit into the vlan dissector key, and allows
> propagating the information to the driver when parsing the ethtool flow
> spec.
>
> Fixes: eca4205f9ec3 ("ethtool: add ethtool_rx_flow_spec to flow_rule structure translator")
> Reported-by: Michał Mirosław <mirq-linux@...e.qmqm.pl>
> Signed-off-by: Maxime Chevallier <maxime.chevallier@...tlin.com>
> ---
> Hi all,
>
> Although this prevents information to be silently discarded when parsing
> an ethtool_flow_spec, this information doesn't seem to be used by any
> driver that converts an ethtool_flow_spec to a flow_rule, hence I'm not
> sure this is suitable for -net.
>
> Thanks,
>
> Maxime
>
> include/net/flow_dissector.h | 1 +
> net/core/ethtool.c | 5 +++++
> 2 files changed, 6 insertions(+)
>
> diff --git a/include/net/flow_dissector.h b/include/net/flow_dissector.h
> index 7c5a8d9a8d2a..9d2e395c6568 100644
> --- a/include/net/flow_dissector.h
> +++ b/include/net/flow_dissector.h
> @@ -46,6 +46,7 @@ struct flow_dissector_key_tags {
>
> struct flow_dissector_key_vlan {
> u16 vlan_id:12,
> + vlan_cfi:1,
Current IEEE 802.1Q defines this bit as DEI not CFI, so IMO this should be
vlan_dei.
Toshiaki Makita
Powered by blists - more mailing lists