linux-stable/drivers/net
Oleksij Rempel 18ff0bcda6 ethtool: add interface to interact with Ethernet Power Equipment
Add interface to support Power Sourcing Equipment. At current step it
provides generic way to address all variants of PSE devices as defined
in IEEE 802.3-2018 but support only objects specified for IEEE 802.3-2018 104.4
PoDL Power Sourcing Equipment (PSE).

Currently supported and mandatory objects are:
IEEE 802.3-2018 30.15.1.1.3 aPoDLPSEPowerDetectionStatus
IEEE 802.3-2018 30.15.1.1.2 aPoDLPSEAdminState
IEEE 802.3-2018 30.15.1.2.1 acPoDLPSEAdminControl

This is minimal interface needed to control PSE on each separate
ethernet port but it provides not all mandatory objects specified in
IEEE 802.3-2018.

Since "PoDL PSE" and "PSE" have similar names, but some different values
I decide to not merge them and keep separate naming schema. This should
allow as to be as close to IEEE 802.3 spec as possible and avoid name
conflicts in the future.

This implementation is connected to PHYs instead of MACs because PSE
auto classification can potentially interfere with PHY auto negotiation.
So, may be some extra PHY related initialization will be needed.

With WIP version of ethtools interaction with PSE capable link looks
as following:

$ ip l
...
5: t1l1@eth0: <BROADCAST,MULTICAST> ..
...

$ ethtool --show-pse t1l1
PSE attributs for t1l1:
PoDL PSE Admin State: disabled
PoDL PSE Power Detection Status: disabled

$ ethtool --set-pse t1l1 podl-pse-admin-control enable
$ ethtool --show-pse t1l1
PSE attributs for t1l1:
PoDL PSE Admin State: enabled
PoDL PSE Power Detection Status: delivering power

Signed-off-by: kernel test robot <lkp@intel.com>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2022-10-03 17:33:57 -07:00
..
appletalk
arcnet
bonding net: bonding: Convert to use sysfs_emit()/sysfs_emit_at() APIs 2022-09-30 12:29:45 +01:00
caif
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-29 14:30:51 -07:00
dsa net: dsa: hellcreek: Offload per-tc max SDU from tc-taprio 2022-09-29 18:52:06 -07:00
ethernet net: marvell: prestera: Propagate nh state from hw to kernel 2022-10-03 17:14:53 -07:00
fddi skfp/h: fix repeated words in comments 2022-08-12 11:20:29 +01:00
fjes net: drop the weight argument from netif_napi_add 2022-09-28 18:57:14 -07:00
hamradio net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
hippi net: hippi: Add missing pci_disable_device() in rr_init_one() 2022-09-26 13:22:39 -07:00
hyperv net: drop the weight argument from netif_napi_add 2022-09-28 18:57:14 -07:00
ieee802154 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-01 12:58:02 -07:00
ipa net: ipa: update copyrights 2022-10-03 16:49:20 -07:00
ipvlan Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-22 13:02:10 -07:00
mctp
mdio net: mdiobus: search for PSE nodes by parsing PHY nodes. 2022-10-03 17:33:57 -07:00
netdevsim Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-22 13:02:10 -07:00
pcs net: pcs: add new PCS driver for altera TSE PCS 2022-09-05 10:16:53 +01:00
phy net: mdiobus: search for PSE nodes by parsing PHY nodes. 2022-10-03 17:33:57 -07:00
plip plip: avoid rcu debug splat 2022-08-09 12:16:02 -07:00
ppp
pse-pd ethtool: add interface to interact with Ethernet Power Equipment 2022-10-03 17:33:57 -07:00
slip
team Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-22 13:02:10 -07:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-09-29 14:30:51 -07:00
vmxnet3 net: drop the weight argument from netif_napi_add 2022-09-28 18:57:14 -07:00
vxlan net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
wan
wireguard net: drop the weight argument from netif_napi_add 2022-09-28 18:57:14 -07:00
wireless wireless-next patches for v6.1 2022-09-30 10:07:31 -07:00
wwan wwan_hwsim: Use skb_put_data() instead of skb_put/memcpy pair 2022-09-29 09:37:40 +02:00
xen-netback net: drop the weight argument from netif_napi_add 2022-09-28 18:57:14 -07:00
amt.c amt: remove unnecessary skb pointer check 2022-08-19 16:51:21 -07:00
bareudp.c
dummy.c net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
eql.c
geneve.c net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
gtp.c genetlink: start to validate reserved header bytes 2022-08-29 12:47:15 +01:00
ifb.c
Kconfig net: add framework to support Ethernet PSE and PDs devices 2022-10-03 17:33:56 -07:00
LICENSE.SRC
loopback.c
macsec.c macsec: don't free NULL metadata_dst 2022-09-26 09:39:30 -07:00
macvlan.c net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
macvtap.c net: macvtap: add __init/__exit annotations to module init/exit funcs 2022-09-21 18:22:30 -07:00
Makefile net: add framework to support Ethernet PSE and PDs devices 2022-10-03 17:33:56 -07:00
mdio.c
mhi_net.c
mii.c
net_failover.c net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
netconsole.c net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
nlmon.c
ntb_netdev.c net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
rionet.c net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
sb1000.c
Space.c net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
sungem_phy.c net: sungem_phy: Add of_node_put() for reference returned by of_get_parent() 2022-07-21 19:04:19 -07:00
tap.c net: tap: NULL pointer derefence in dev_parse_header_protocol when skb->dev is null 2022-08-05 08:56:35 +01:00
thunderbolt.c net: drop the weight argument from netif_napi_add 2022-09-28 18:57:14 -07:00
tun.c net: tun: Convert to use sysfs_emit() APIs 2022-09-30 12:27:43 +01:00
veth.c net: drop the weight argument from netif_napi_add 2022-09-28 18:57:14 -07:00
virtio_net.c net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
vrf.c net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
vsockmon.c
xen-netfront.c net: drop the weight argument from netif_napi_add 2022-09-28 18:57:14 -07:00