From: Florian Fainelli <f.fainelli@gmail.com>
To: "Jakub Kicinski" <kuba@kernel.org>,
"Maciej Żenczykowski" <maze@google.com>,
"Doug Berger" <opendmb@gmail.com>,
"Justin Chen" <justin.chen@broadcom.com>
Cc: "Maciej Żenczykowski" <zenczykowski@gmail.com>,
"Linux Network Development Mailing List" <netdev@vger.kernel.org>,
"David S . Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@google.com>,
"Paolo Abeni" <pabeni@redhat.com>,
"Kory Maincent (Dent Project)" <kory.maincent@bootlin.com>,
"Ahmed Zaki" <ahmed.zaki@intel.com>,
"Edward Cree" <ecree.xilinx@gmail.com>,
"Yuyang Huang" <yuyanghuang@google.com>,
"Lorenzo Colitti" <lorenzo@google.com>
Subject: Re: [PATCH net-next] ethtool: add tunable api to disable various firmware offloads
Date: Wed, 14 Aug 2024 20:08:05 -0700 [thread overview]
Message-ID: <b46f8151-29ab-453c-9830-884adcecdcfb@gmail.com> (raw)
In-Reply-To: <20240814173248.685681d7@kernel.org>
CC Doug, Justin,
On 8/14/2024 5:32 PM, Jakub Kicinski wrote:
> On Tue, 13 Aug 2024 15:33:25 -0700 Maciej Żenczykowski wrote:
>> In order to save power (battery), most network hardware
>> designed for low power environments (ie. battery powered
>> devices) supports varying types of hardware/firmware offload
>> (filtering and/or generating replies) of incoming packets.
>>
>> The goal being to prevent device wakeups caused by ingress 'spam'.
>>
>> This is particularly true for wifi (especially phones/tablets),
>> but isn't actually wifi specific. It can also be implemented
>> in wired nics (TV) or usb ethernet dongles.
>>
>> For examples TVs require this to keep power consumption
>> under (the EU mandated) 2 Watts while idle (display off),
>> while still being discoverable on the network.
>
> Sounds sane, adding Florian, he mentioned MDNS at last netconf.
Yes this looks fine to me:
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
> Tho, wasn't there supposed to be a more granular API in Android
> to control such protocol offloads?
I still am unable to find a public link for the
com.google.tv.mdnsoffload package that describes how we can offload mDNS
records in ATV, but that was what I mentioned during netconf that we
needed to program into the hardware. Ideally using an ethtool API TBD,
or a cfg80211 one, rather than some custom ioctls() and what not.
>
> You gotta find an upstream driver which implements this for us to merge.
> If Florian doesn't have any quick uses -- I think Intel ethernet drivers
> have private flags for enabling/disabling an LLDP agent. That could be
> another way..
Currently we have both bcmgenet and bcmasp support the WAKE_FILTER
Wake-on-LAN specifier. Our configuration is typically done in user-space
for mDNS with something like:
ethtool -N eth0 flow-type ether dst 33:33:00:00:00:fb action
0xfffffffffffffffe user-def 0x320000 m 0xffffffffff000fff
ethtool -N eth0 flow-type ether dst 01:00:5e:00:00:fb action
0xfffffffffffffffe user-def 0x1e0000 m 0xffffffffff000fff
ethtool -s eth0 wol f
I would offer that we wire up the tunable into bcmgenet and bcmasp and
we'd make sure on our side that the respective firmware implementations
behave accordingly, but the respective firmware implementations
currently look at whether any network filter have been programmed into
the hardware, and if so, they are using those for offload. So we do not
really need the tunable in a way, but if we were to add it, then we
would need to find a way to tell the firmware not to use the network
filters. We liked our design because there is no kernel <=> firmware
communication.
Hummm
--
Florian
next prev parent reply other threads:[~2024-08-15 3:08 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-13 22:33 [PATCH net-next] ethtool: add tunable api to disable various firmware offloads Maciej Żenczykowski
2024-08-15 0:32 ` Jakub Kicinski
2024-08-15 3:08 ` Florian Fainelli [this message]
2024-08-15 15:45 ` Jakub Kicinski
2024-08-15 16:38 ` Florian Fainelli
2024-08-16 0:49 ` Maciej Żenczykowski
2024-08-16 17:51 ` Jakub Kicinski
2024-08-15 16:13 ` Nelson, Shannon
2024-08-16 0:55 ` Maciej Żenczykowski
2024-08-16 1:03 ` Nelson, Shannon
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=b46f8151-29ab-453c-9830-884adcecdcfb@gmail.com \
--to=f.fainelli@gmail.com \
--cc=ahmed.zaki@intel.com \
--cc=davem@davemloft.net \
--cc=ecree.xilinx@gmail.com \
--cc=edumazet@google.com \
--cc=justin.chen@broadcom.com \
--cc=kory.maincent@bootlin.com \
--cc=kuba@kernel.org \
--cc=lorenzo@google.com \
--cc=maze@google.com \
--cc=netdev@vger.kernel.org \
--cc=opendmb@gmail.com \
--cc=pabeni@redhat.com \
--cc=yuyanghuang@google.com \
--cc=zenczykowski@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).