mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
switchdev: s/netdev_switch_/switchdev_/ and s/NETDEV_SWITCH_/SWITCHDEV_/
Turned out that "switchdev" sticks. So just unify all related terms to use this prefix. Signed-off-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: Scott Feldman <sfeldma@gmail.com> Acked-by: Roopa Prabhu <roopa@cumulusnetworks.com> Acked-by: Andy Gospodarek <gospo@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a3eb95f891
commit
ebb9a03a59
11 changed files with 166 additions and 171 deletions
|
@ -19,14 +19,14 @@
|
|||
#include <net/switchdev.h>
|
||||
|
||||
/**
|
||||
* netdev_switch_parent_id_get - Get ID of a switch
|
||||
* switchdev_parent_id_get - Get ID of a switch
|
||||
* @dev: port device
|
||||
* @psid: switch ID
|
||||
*
|
||||
* Get ID of a switch this port is part of.
|
||||
*/
|
||||
int netdev_switch_parent_id_get(struct net_device *dev,
|
||||
struct netdev_phys_item_id *psid)
|
||||
int switchdev_parent_id_get(struct net_device *dev,
|
||||
struct netdev_phys_item_id *psid)
|
||||
{
|
||||
const struct swdev_ops *ops = dev->swdev_ops;
|
||||
|
||||
|
@ -34,17 +34,17 @@ int netdev_switch_parent_id_get(struct net_device *dev,
|
|||
return -EOPNOTSUPP;
|
||||
return ops->swdev_parent_id_get(dev, psid);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(netdev_switch_parent_id_get);
|
||||
EXPORT_SYMBOL_GPL(switchdev_parent_id_get);
|
||||
|
||||
/**
|
||||
* netdev_switch_port_stp_update - Notify switch device port of STP
|
||||
* switchdev_port_stp_update - Notify switch device port of STP
|
||||
* state change
|
||||
* @dev: port device
|
||||
* @state: port STP state
|
||||
*
|
||||
* Notify switch device port of bridge port STP state change.
|
||||
*/
|
||||
int netdev_switch_port_stp_update(struct net_device *dev, u8 state)
|
||||
int switchdev_port_stp_update(struct net_device *dev, u8 state)
|
||||
{
|
||||
const struct swdev_ops *ops = dev->swdev_ops;
|
||||
struct net_device *lower_dev;
|
||||
|
@ -55,57 +55,57 @@ int netdev_switch_port_stp_update(struct net_device *dev, u8 state)
|
|||
return ops->swdev_port_stp_update(dev, state);
|
||||
|
||||
netdev_for_each_lower_dev(dev, lower_dev, iter) {
|
||||
err = netdev_switch_port_stp_update(lower_dev, state);
|
||||
err = switchdev_port_stp_update(lower_dev, state);
|
||||
if (err && err != -EOPNOTSUPP)
|
||||
return err;
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(netdev_switch_port_stp_update);
|
||||
EXPORT_SYMBOL_GPL(switchdev_port_stp_update);
|
||||
|
||||
static DEFINE_MUTEX(netdev_switch_mutex);
|
||||
static RAW_NOTIFIER_HEAD(netdev_switch_notif_chain);
|
||||
static DEFINE_MUTEX(switchdev_mutex);
|
||||
static RAW_NOTIFIER_HEAD(switchdev_notif_chain);
|
||||
|
||||
/**
|
||||
* register_netdev_switch_notifier - Register notifier
|
||||
* register_switchdev_notifier - Register notifier
|
||||
* @nb: notifier_block
|
||||
*
|
||||
* Register switch device notifier. This should be used by code
|
||||
* which needs to monitor events happening in particular device.
|
||||
* Return values are same as for atomic_notifier_chain_register().
|
||||
*/
|
||||
int register_netdev_switch_notifier(struct notifier_block *nb)
|
||||
int register_switchdev_notifier(struct notifier_block *nb)
|
||||
{
|
||||
int err;
|
||||
|
||||
mutex_lock(&netdev_switch_mutex);
|
||||
err = raw_notifier_chain_register(&netdev_switch_notif_chain, nb);
|
||||
mutex_unlock(&netdev_switch_mutex);
|
||||
mutex_lock(&switchdev_mutex);
|
||||
err = raw_notifier_chain_register(&switchdev_notif_chain, nb);
|
||||
mutex_unlock(&switchdev_mutex);
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(register_netdev_switch_notifier);
|
||||
EXPORT_SYMBOL_GPL(register_switchdev_notifier);
|
||||
|
||||
/**
|
||||
* unregister_netdev_switch_notifier - Unregister notifier
|
||||
* unregister_switchdev_notifier - Unregister notifier
|
||||
* @nb: notifier_block
|
||||
*
|
||||
* Unregister switch device notifier.
|
||||
* Return values are same as for atomic_notifier_chain_unregister().
|
||||
*/
|
||||
int unregister_netdev_switch_notifier(struct notifier_block *nb)
|
||||
int unregister_switchdev_notifier(struct notifier_block *nb)
|
||||
{
|
||||
int err;
|
||||
|
||||
mutex_lock(&netdev_switch_mutex);
|
||||
err = raw_notifier_chain_unregister(&netdev_switch_notif_chain, nb);
|
||||
mutex_unlock(&netdev_switch_mutex);
|
||||
mutex_lock(&switchdev_mutex);
|
||||
err = raw_notifier_chain_unregister(&switchdev_notif_chain, nb);
|
||||
mutex_unlock(&switchdev_mutex);
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(unregister_netdev_switch_notifier);
|
||||
EXPORT_SYMBOL_GPL(unregister_switchdev_notifier);
|
||||
|
||||
/**
|
||||
* call_netdev_switch_notifiers - Call notifiers
|
||||
* call_switchdev_notifiers - Call notifiers
|
||||
* @val: value passed unmodified to notifier function
|
||||
* @dev: port device
|
||||
* @info: notifier information data
|
||||
|
@ -114,21 +114,21 @@ EXPORT_SYMBOL_GPL(unregister_netdev_switch_notifier);
|
|||
* when it needs to propagate hardware event.
|
||||
* Return values are same as for atomic_notifier_call_chain().
|
||||
*/
|
||||
int call_netdev_switch_notifiers(unsigned long val, struct net_device *dev,
|
||||
struct netdev_switch_notifier_info *info)
|
||||
int call_switchdev_notifiers(unsigned long val, struct net_device *dev,
|
||||
struct switchdev_notifier_info *info)
|
||||
{
|
||||
int err;
|
||||
|
||||
info->dev = dev;
|
||||
mutex_lock(&netdev_switch_mutex);
|
||||
err = raw_notifier_call_chain(&netdev_switch_notif_chain, val, info);
|
||||
mutex_unlock(&netdev_switch_mutex);
|
||||
mutex_lock(&switchdev_mutex);
|
||||
err = raw_notifier_call_chain(&switchdev_notif_chain, val, info);
|
||||
mutex_unlock(&switchdev_mutex);
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(call_netdev_switch_notifiers);
|
||||
EXPORT_SYMBOL_GPL(call_switchdev_notifiers);
|
||||
|
||||
/**
|
||||
* netdev_switch_port_bridge_setlink - Notify switch device port of bridge
|
||||
* switchdev_port_bridge_setlink - Notify switch device port of bridge
|
||||
* port attributes
|
||||
*
|
||||
* @dev: port device
|
||||
|
@ -137,8 +137,8 @@ EXPORT_SYMBOL_GPL(call_netdev_switch_notifiers);
|
|||
*
|
||||
* Notify switch device port of bridge port attributes
|
||||
*/
|
||||
int netdev_switch_port_bridge_setlink(struct net_device *dev,
|
||||
struct nlmsghdr *nlh, u16 flags)
|
||||
int switchdev_port_bridge_setlink(struct net_device *dev,
|
||||
struct nlmsghdr *nlh, u16 flags)
|
||||
{
|
||||
const struct net_device_ops *ops = dev->netdev_ops;
|
||||
|
||||
|
@ -150,10 +150,10 @@ int netdev_switch_port_bridge_setlink(struct net_device *dev,
|
|||
|
||||
return ops->ndo_bridge_setlink(dev, nlh, flags);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(netdev_switch_port_bridge_setlink);
|
||||
EXPORT_SYMBOL_GPL(switchdev_port_bridge_setlink);
|
||||
|
||||
/**
|
||||
* netdev_switch_port_bridge_dellink - Notify switch device port of bridge
|
||||
* switchdev_port_bridge_dellink - Notify switch device port of bridge
|
||||
* port attribute delete
|
||||
*
|
||||
* @dev: port device
|
||||
|
@ -162,8 +162,8 @@ EXPORT_SYMBOL_GPL(netdev_switch_port_bridge_setlink);
|
|||
*
|
||||
* Notify switch device port of bridge port attribute delete
|
||||
*/
|
||||
int netdev_switch_port_bridge_dellink(struct net_device *dev,
|
||||
struct nlmsghdr *nlh, u16 flags)
|
||||
int switchdev_port_bridge_dellink(struct net_device *dev,
|
||||
struct nlmsghdr *nlh, u16 flags)
|
||||
{
|
||||
const struct net_device_ops *ops = dev->netdev_ops;
|
||||
|
||||
|
@ -175,11 +175,11 @@ int netdev_switch_port_bridge_dellink(struct net_device *dev,
|
|||
|
||||
return ops->ndo_bridge_dellink(dev, nlh, flags);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(netdev_switch_port_bridge_dellink);
|
||||
EXPORT_SYMBOL_GPL(switchdev_port_bridge_dellink);
|
||||
|
||||
/**
|
||||
* ndo_dflt_netdev_switch_port_bridge_setlink - default ndo bridge setlink
|
||||
* op for master devices
|
||||
* ndo_dflt_switchdev_port_bridge_setlink - default ndo bridge setlink
|
||||
* op for master devices
|
||||
*
|
||||
* @dev: port device
|
||||
* @nlh: netlink msg with bridge port attributes
|
||||
|
@ -187,8 +187,8 @@ EXPORT_SYMBOL_GPL(netdev_switch_port_bridge_dellink);
|
|||
*
|
||||
* Notify master device slaves of bridge port attributes
|
||||
*/
|
||||
int ndo_dflt_netdev_switch_port_bridge_setlink(struct net_device *dev,
|
||||
struct nlmsghdr *nlh, u16 flags)
|
||||
int ndo_dflt_switchdev_port_bridge_setlink(struct net_device *dev,
|
||||
struct nlmsghdr *nlh, u16 flags)
|
||||
{
|
||||
struct net_device *lower_dev;
|
||||
struct list_head *iter;
|
||||
|
@ -198,18 +198,18 @@ int ndo_dflt_netdev_switch_port_bridge_setlink(struct net_device *dev,
|
|||
return ret;
|
||||
|
||||
netdev_for_each_lower_dev(dev, lower_dev, iter) {
|
||||
err = netdev_switch_port_bridge_setlink(lower_dev, nlh, flags);
|
||||
err = switchdev_port_bridge_setlink(lower_dev, nlh, flags);
|
||||
if (err && err != -EOPNOTSUPP)
|
||||
ret = err;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ndo_dflt_netdev_switch_port_bridge_setlink);
|
||||
EXPORT_SYMBOL_GPL(ndo_dflt_switchdev_port_bridge_setlink);
|
||||
|
||||
/**
|
||||
* ndo_dflt_netdev_switch_port_bridge_dellink - default ndo bridge dellink
|
||||
* op for master devices
|
||||
* ndo_dflt_switchdev_port_bridge_dellink - default ndo bridge dellink
|
||||
* op for master devices
|
||||
*
|
||||
* @dev: port device
|
||||
* @nlh: netlink msg with bridge port attributes
|
||||
|
@ -217,8 +217,8 @@ EXPORT_SYMBOL_GPL(ndo_dflt_netdev_switch_port_bridge_setlink);
|
|||
*
|
||||
* Notify master device slaves of bridge port attribute deletes
|
||||
*/
|
||||
int ndo_dflt_netdev_switch_port_bridge_dellink(struct net_device *dev,
|
||||
struct nlmsghdr *nlh, u16 flags)
|
||||
int ndo_dflt_switchdev_port_bridge_dellink(struct net_device *dev,
|
||||
struct nlmsghdr *nlh, u16 flags)
|
||||
{
|
||||
struct net_device *lower_dev;
|
||||
struct list_head *iter;
|
||||
|
@ -228,16 +228,16 @@ int ndo_dflt_netdev_switch_port_bridge_dellink(struct net_device *dev,
|
|||
return ret;
|
||||
|
||||
netdev_for_each_lower_dev(dev, lower_dev, iter) {
|
||||
err = netdev_switch_port_bridge_dellink(lower_dev, nlh, flags);
|
||||
err = switchdev_port_bridge_dellink(lower_dev, nlh, flags);
|
||||
if (err && err != -EOPNOTSUPP)
|
||||
ret = err;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ndo_dflt_netdev_switch_port_bridge_dellink);
|
||||
EXPORT_SYMBOL_GPL(ndo_dflt_switchdev_port_bridge_dellink);
|
||||
|
||||
static struct net_device *netdev_switch_get_lowest_dev(struct net_device *dev)
|
||||
static struct net_device *switchdev_get_lowest_dev(struct net_device *dev)
|
||||
{
|
||||
const struct swdev_ops *ops = dev->swdev_ops;
|
||||
struct net_device *lower_dev;
|
||||
|
@ -253,7 +253,7 @@ static struct net_device *netdev_switch_get_lowest_dev(struct net_device *dev)
|
|||
return dev;
|
||||
|
||||
netdev_for_each_lower_dev(dev, lower_dev, iter) {
|
||||
port_dev = netdev_switch_get_lowest_dev(lower_dev);
|
||||
port_dev = switchdev_get_lowest_dev(lower_dev);
|
||||
if (port_dev)
|
||||
return port_dev;
|
||||
}
|
||||
|
@ -261,7 +261,7 @@ static struct net_device *netdev_switch_get_lowest_dev(struct net_device *dev)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
static struct net_device *netdev_switch_get_dev_by_nhs(struct fib_info *fi)
|
||||
static struct net_device *switchdev_get_dev_by_nhs(struct fib_info *fi)
|
||||
{
|
||||
struct netdev_phys_item_id psid;
|
||||
struct netdev_phys_item_id prev_psid;
|
||||
|
@ -276,11 +276,11 @@ static struct net_device *netdev_switch_get_dev_by_nhs(struct fib_info *fi)
|
|||
if (!nh->nh_dev)
|
||||
return NULL;
|
||||
|
||||
dev = netdev_switch_get_lowest_dev(nh->nh_dev);
|
||||
dev = switchdev_get_lowest_dev(nh->nh_dev);
|
||||
if (!dev)
|
||||
return NULL;
|
||||
|
||||
if (netdev_switch_parent_id_get(dev, &psid))
|
||||
if (switchdev_parent_id_get(dev, &psid))
|
||||
return NULL;
|
||||
|
||||
if (nhsel > 0) {
|
||||
|
@ -297,7 +297,7 @@ static struct net_device *netdev_switch_get_dev_by_nhs(struct fib_info *fi)
|
|||
}
|
||||
|
||||
/**
|
||||
* netdev_switch_fib_ipv4_add - Add IPv4 route entry to switch
|
||||
* switchdev_fib_ipv4_add - Add IPv4 route entry to switch
|
||||
*
|
||||
* @dst: route's IPv4 destination address
|
||||
* @dst_len: destination address length (prefix length)
|
||||
|
@ -309,8 +309,8 @@ static struct net_device *netdev_switch_get_dev_by_nhs(struct fib_info *fi)
|
|||
*
|
||||
* Add IPv4 route entry to switch device.
|
||||
*/
|
||||
int netdev_switch_fib_ipv4_add(u32 dst, int dst_len, struct fib_info *fi,
|
||||
u8 tos, u8 type, u32 nlflags, u32 tb_id)
|
||||
int switchdev_fib_ipv4_add(u32 dst, int dst_len, struct fib_info *fi,
|
||||
u8 tos, u8 type, u32 nlflags, u32 tb_id)
|
||||
{
|
||||
struct net_device *dev;
|
||||
const struct swdev_ops *ops;
|
||||
|
@ -328,7 +328,7 @@ int netdev_switch_fib_ipv4_add(u32 dst, int dst_len, struct fib_info *fi,
|
|||
if (fi->fib_net->ipv4.fib_offload_disabled)
|
||||
return 0;
|
||||
|
||||
dev = netdev_switch_get_dev_by_nhs(fi);
|
||||
dev = switchdev_get_dev_by_nhs(fi);
|
||||
if (!dev)
|
||||
return 0;
|
||||
ops = dev->swdev_ops;
|
||||
|
@ -343,10 +343,10 @@ int netdev_switch_fib_ipv4_add(u32 dst, int dst_len, struct fib_info *fi,
|
|||
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(netdev_switch_fib_ipv4_add);
|
||||
EXPORT_SYMBOL_GPL(switchdev_fib_ipv4_add);
|
||||
|
||||
/**
|
||||
* netdev_switch_fib_ipv4_del - Delete IPv4 route entry from switch
|
||||
* switchdev_fib_ipv4_del - Delete IPv4 route entry from switch
|
||||
*
|
||||
* @dst: route's IPv4 destination address
|
||||
* @dst_len: destination address length (prefix length)
|
||||
|
@ -357,8 +357,8 @@ EXPORT_SYMBOL_GPL(netdev_switch_fib_ipv4_add);
|
|||
*
|
||||
* Delete IPv4 route entry from switch device.
|
||||
*/
|
||||
int netdev_switch_fib_ipv4_del(u32 dst, int dst_len, struct fib_info *fi,
|
||||
u8 tos, u8 type, u32 tb_id)
|
||||
int switchdev_fib_ipv4_del(u32 dst, int dst_len, struct fib_info *fi,
|
||||
u8 tos, u8 type, u32 tb_id)
|
||||
{
|
||||
struct net_device *dev;
|
||||
const struct swdev_ops *ops;
|
||||
|
@ -367,7 +367,7 @@ int netdev_switch_fib_ipv4_del(u32 dst, int dst_len, struct fib_info *fi,
|
|||
if (!(fi->fib_flags & RTNH_F_EXTERNAL))
|
||||
return 0;
|
||||
|
||||
dev = netdev_switch_get_dev_by_nhs(fi);
|
||||
dev = switchdev_get_dev_by_nhs(fi);
|
||||
if (!dev)
|
||||
return 0;
|
||||
ops = dev->swdev_ops;
|
||||
|
@ -381,14 +381,14 @@ int netdev_switch_fib_ipv4_del(u32 dst, int dst_len, struct fib_info *fi,
|
|||
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(netdev_switch_fib_ipv4_del);
|
||||
EXPORT_SYMBOL_GPL(switchdev_fib_ipv4_del);
|
||||
|
||||
/**
|
||||
* netdev_switch_fib_ipv4_abort - Abort an IPv4 FIB operation
|
||||
* switchdev_fib_ipv4_abort - Abort an IPv4 FIB operation
|
||||
*
|
||||
* @fi: route FIB info structure
|
||||
*/
|
||||
void netdev_switch_fib_ipv4_abort(struct fib_info *fi)
|
||||
void switchdev_fib_ipv4_abort(struct fib_info *fi)
|
||||
{
|
||||
/* There was a problem installing this route to the offload
|
||||
* device. For now, until we come up with more refined
|
||||
|
@ -401,4 +401,4 @@ void netdev_switch_fib_ipv4_abort(struct fib_info *fi)
|
|||
fib_flush_external(fi->fib_net);
|
||||
fi->fib_net->ipv4.fib_offload_disabled = true;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(netdev_switch_fib_ipv4_abort);
|
||||
EXPORT_SYMBOL_GPL(switchdev_fib_ipv4_abort);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue