diff options
author | Jiri Pirko <jiri@resnulli.us> | 2013-07-29 18:16:49 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-07-31 02:31:24 +0200 |
commit | 66b52b0dc82c5c88d769dc1c7d44cf45d0deb07c (patch) | |
tree | 2fa19024bd1afefcc0fc4a09ea7ae1b6c095edcd /net/core | |
parent | net: mvneta: support big endian (diff) | |
download | linux-66b52b0dc82c5c88d769dc1c7d44cf45d0deb07c.tar.xz linux-66b52b0dc82c5c88d769dc1c7d44cf45d0deb07c.zip |
net: add ndo to get id of physical port of the device
This patch adds a ndo for getting physical port of the device. Driver
which is aware of being virtual function of some physical port should
implement this ndo. This is applicable not only for IOV, but for other
solutions (NPAR, multichannel) as well. Basically if there is possible
to have multiple netdevs on the single hw port.
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Acked-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index dfd9f5d56ae0..58eb802584b9 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -4989,6 +4989,24 @@ int dev_change_carrier(struct net_device *dev, bool new_carrier) EXPORT_SYMBOL(dev_change_carrier); /** + * dev_get_phys_port_id - Get device physical port ID + * @dev: device + * @ppid: port ID + * + * Get device physical port ID + */ +int dev_get_phys_port_id(struct net_device *dev, + struct netdev_phys_port_id *ppid) +{ + const struct net_device_ops *ops = dev->netdev_ops; + + if (!ops->ndo_get_phys_port_id) + return -EOPNOTSUPP; + return ops->ndo_get_phys_port_id(dev, ppid); +} +EXPORT_SYMBOL(dev_get_phys_port_id); + +/** * dev_new_index - allocate an ifindex * @net: the applicable net namespace * |