From: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: Samuel Mendoza-Jonas <sam@mendozajonas.com>,
"David S . Miller" <davem@davemloft.net>,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, openbmc@lists.ozlabs.org
Subject: Re: [PATCH v2 0/6] Configurable VLAN mode for NCSI driver
Date: Sat, 11 Jun 2022 17:58:46 +0800 [thread overview]
Message-ID: <bf66a840-594a-d90a-2ca6-595e95c09514@linux.intel.com> (raw)
In-Reply-To: <20220610224407.4e58dc5a@kernel.org>
On 2022-06-11 13:44, Jakub Kicinski wrote:
> On Sat, 11 Jun 2022 13:18:51 +0800 Jiaqing Zhao wrote:
>> All ncsi devices uses the same driver as they uses same command set,
>> so the driver doesn't know what modes are supported. And in current
>> driver, the vlan related parameters are configured when registering
>> the device, adding an ncsi-netlink command to do so seems to be
>> unsuitable.
>
> Maybe you could draw a diagram? NC-SI is a bit confusing.
Yes I admit NC-SI is confusing as its design is not as straightforward
as the MAC-PHY structure. In NC-SI, there are two macs like below.
Packets + NCSI commands Packets
MAC-------------------------External controller MAC---------PHY
The NCSI commands are used to set the behavior of the External controller
MAC, like it's MAC address filter, VLAN filters. Those filtered packets
will be transferred back to the MAC.
Unlike PHY has standard registers to determine its model and capabilities,
NC-SI seems does not have such way.
>> And adding a netlink command requires extra application in userspace
>> to switch the mode. In my opinion, it would be more user-friendly to
>> make it usable on boot.
>
> Unfortunately convenience is not reason to start adding system config
> into DT.
Currently there is already a DT config "use-ncsi" is used to choose using
MDIO PHY or NCSI stack in the MAC driver with NCSI support like ftgmac100.
That's why I choose adding another DT option here.
>> Netdev also does not work as the ncsi device itself does not have
>> its own netdev, the netdev comes from the mac device. For different
>> vlan modes, the netdev feature set of its parent mac device are the
>> same.
>
> You say that, yet the command handling already takes into account the
> VLAN list:
>
> if (list_empty(&ndp->vlan_vids)) {
>
> which come from the MAC netdev. What's wrong with setting the filtering
> mode based on NETIF_F_HW_VLAN_CTAG_FILTER ?
When configuring the mac driver, there might be two net_device_ops sets
for MDIO or NC-SI. When using NC-SI, some features need to be delegated
to the external controller MAC, like VLAN hardware filtering, different
ndo_vlan_rx_{add,kill}_vid callbacks need to be assigned.
The filtering mode is an optional mode defined in NC-SI spec, some
devices does not support it. In this case, to support VLAN, I would
personally in favor of using the "Any VLAN" mode to let the external
MAC pass all packets to the internal one, and let the internal MAC
handle it either with its own hardware filter or software filter. In
this case, the VLAN list in NC-SI driver (used for setting the external
MAC filter) is not used.
prev parent reply other threads:[~2022-06-11 9:58 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-10 16:59 [PATCH v2 0/6] Configurable VLAN mode for NCSI driver Jiaqing Zhao
2022-06-10 16:59 ` [PATCH v2 1/6] net/ncsi: Fix value of NCSI_CAP_VLAN_ANY Jiaqing Zhao
2022-06-10 16:59 ` [PATCH v2 2/6] net/ncsi: Rename NCSI_CAP_VLAN_NO to NCSI_CAP_VLAN_FILTERED Jiaqing Zhao
2022-06-10 16:59 ` [PATCH v2 3/6] net/ncsi: Enable VLAN filtering when callback is registered Jiaqing Zhao
2022-06-10 16:59 ` [PATCH v2 4/6] ftgmac100: Remove enable NCSI VLAN filtering Jiaqing Zhao
2022-06-10 16:59 ` [PATCH v2 5/6] dt-bindings: net: Add NCSI bindings Jiaqing Zhao
2022-06-10 23:19 ` Rob Herring
2022-06-11 3:09 ` Jiaqing Zhao
2022-06-13 15:28 ` Rob Herring
2022-06-14 2:33 ` Jiaqing Zhao
2022-06-10 16:59 ` [PATCH v2 6/6] net/ncsi: Support VLAN mode configuration Jiaqing Zhao
2022-06-10 20:09 ` [PATCH v2 0/6] Configurable VLAN mode for NCSI driver Jakub Kicinski
2022-06-11 3:25 ` Jiaqing Zhao
2022-06-11 4:45 ` Jakub Kicinski
2022-06-11 5:18 ` Jiaqing Zhao
2022-06-11 5:44 ` Jakub Kicinski
2022-06-11 9:58 ` Jiaqing Zhao [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=bf66a840-594a-d90a-2ca6-595e95c09514@linux.intel.com \
--to=jiaqing.zhao@linux.intel.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=openbmc@lists.ozlabs.org \
--cc=sam@mendozajonas.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).