Merge branch 'switchdev-cleanups'
Scott Feldman says: ==================== switchdev: more (minor) cleanups Fix some sparse warnings and include some documentation review comments that didn't get picked up in the switchdev Spring Cleanup series. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
1f7bd29bc0
|
@ -99,7 +99,7 @@ kernel pick the default netdev name, and let udev set the final name based on a
|
||||||
port attribute.
|
port attribute.
|
||||||
|
|
||||||
Using port PHYS name (ndo_get_phys_port_name) for the key is particularly
|
Using port PHYS name (ndo_get_phys_port_name) for the key is particularly
|
||||||
useful for dynically-named ports where the device names it's ports based on
|
useful for dynamically-named ports where the device names its ports based on
|
||||||
external configuration. For example, if a physical 40G port is split logically
|
external configuration. For example, if a physical 40G port is split logically
|
||||||
into 4 10G ports, resulting in 4 port netdevs, the device can give a unique
|
into 4 10G ports, resulting in 4 port netdevs, the device can give a unique
|
||||||
name for each port using port PHYS name. The udev rule would be:
|
name for each port using port PHYS name. The udev rule would be:
|
||||||
|
@ -131,7 +131,7 @@ NETIF_F_NETNS_LOCAL
|
||||||
If the switchdev driver (and device) only supports offloading of the default
|
If the switchdev driver (and device) only supports offloading of the default
|
||||||
network namespace (netns), the driver should set this feature flag to prevent
|
network namespace (netns), the driver should set this feature flag to prevent
|
||||||
the port netdev from being moved out of the default netns. A netns-aware
|
the port netdev from being moved out of the default netns. A netns-aware
|
||||||
driver/device would not set this flag and be resposible for partitioning
|
driver/device would not set this flag and be responsible for partitioning
|
||||||
hardware to preserve netns containment. This means hardware cannot forward
|
hardware to preserve netns containment. This means hardware cannot forward
|
||||||
traffic from a port in one namespace to another port in another namespace.
|
traffic from a port in one namespace to another port in another namespace.
|
||||||
|
|
||||||
|
@ -177,6 +177,9 @@ entries are installed, for example, using iproute2 bridge cmd:
|
||||||
|
|
||||||
bridge fdb add ADDR dev DEV [vlan VID] [self]
|
bridge fdb add ADDR dev DEV [vlan VID] [self]
|
||||||
|
|
||||||
|
XXX: what should be done if offloading this rule to hardware fails (for
|
||||||
|
example, due to full capacity in hardware tables) ?
|
||||||
|
|
||||||
Note: by default, the bridge does not filter on VLAN and only bridges untagged
|
Note: by default, the bridge does not filter on VLAN and only bridges untagged
|
||||||
traffic. To enable VLAN support, turn on VLAN filtering:
|
traffic. To enable VLAN support, turn on VLAN filtering:
|
||||||
|
|
||||||
|
|
|
@ -4471,7 +4471,7 @@ static int rocker_port_obj_add(struct net_device *dev,
|
||||||
case SWITCHDEV_OBJ_IPV4_FIB:
|
case SWITCHDEV_OBJ_IPV4_FIB:
|
||||||
fib4 = &obj->ipv4_fib;
|
fib4 = &obj->ipv4_fib;
|
||||||
err = rocker_port_fib_ipv4(rocker_port, obj->trans,
|
err = rocker_port_fib_ipv4(rocker_port, obj->trans,
|
||||||
fib4->dst, fib4->dst_len,
|
htonl(fib4->dst), fib4->dst_len,
|
||||||
fib4->fi, fib4->tb_id, 0);
|
fib4->fi, fib4->tb_id, 0);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -4525,8 +4525,9 @@ static int rocker_port_obj_del(struct net_device *dev,
|
||||||
case SWITCHDEV_OBJ_IPV4_FIB:
|
case SWITCHDEV_OBJ_IPV4_FIB:
|
||||||
fib4 = &obj->ipv4_fib;
|
fib4 = &obj->ipv4_fib;
|
||||||
err = rocker_port_fib_ipv4(rocker_port, SWITCHDEV_TRANS_NONE,
|
err = rocker_port_fib_ipv4(rocker_port, SWITCHDEV_TRANS_NONE,
|
||||||
fib4->dst, fib4->dst_len, fib4->fi,
|
htonl(fib4->dst), fib4->dst_len,
|
||||||
fib4->tb_id, ROCKER_OP_FLAG_REMOVE);
|
fib4->fi, fib4->tb_id,
|
||||||
|
ROCKER_OP_FLAG_REMOVE);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
err = -EOPNOTSUPP;
|
err = -EOPNOTSUPP;
|
||||||
|
|
|
@ -53,7 +53,7 @@ struct switchdev_obj {
|
||||||
enum switchdev_obj_id id;
|
enum switchdev_obj_id id;
|
||||||
enum switchdev_trans trans;
|
enum switchdev_trans trans;
|
||||||
union {
|
union {
|
||||||
struct switchdev_obj_vlan { /* PORT_VLAN */
|
struct switchdev_obj_vlan { /* PORT_VLAN */
|
||||||
u16 flags;
|
u16 flags;
|
||||||
u16 vid_start;
|
u16 vid_start;
|
||||||
u16 vid_end;
|
u16 vid_end;
|
||||||
|
|
|
@ -188,7 +188,8 @@ int switchdev_port_attr_set(struct net_device *dev, struct switchdev_attr *attr)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(switchdev_port_attr_set);
|
EXPORT_SYMBOL_GPL(switchdev_port_attr_set);
|
||||||
|
|
||||||
int __switchdev_port_obj_add(struct net_device *dev, struct switchdev_obj *obj)
|
static int __switchdev_port_obj_add(struct net_device *dev,
|
||||||
|
struct switchdev_obj *obj)
|
||||||
{
|
{
|
||||||
const struct switchdev_ops *ops = dev->switchdev_ops;
|
const struct switchdev_ops *ops = dev->switchdev_ops;
|
||||||
struct net_device *lower_dev;
|
struct net_device *lower_dev;
|
||||||
|
@ -644,7 +645,7 @@ int switchdev_fib_ipv4_add(u32 dst, int dst_len, struct fib_info *fi,
|
||||||
struct switchdev_obj fib_obj = {
|
struct switchdev_obj fib_obj = {
|
||||||
.id = SWITCHDEV_OBJ_IPV4_FIB,
|
.id = SWITCHDEV_OBJ_IPV4_FIB,
|
||||||
.ipv4_fib = {
|
.ipv4_fib = {
|
||||||
.dst = htonl(dst),
|
.dst = dst,
|
||||||
.dst_len = dst_len,
|
.dst_len = dst_len,
|
||||||
.fi = fi,
|
.fi = fi,
|
||||||
.tos = tos,
|
.tos = tos,
|
||||||
|
@ -698,7 +699,7 @@ int switchdev_fib_ipv4_del(u32 dst, int dst_len, struct fib_info *fi,
|
||||||
struct switchdev_obj fib_obj = {
|
struct switchdev_obj fib_obj = {
|
||||||
.id = SWITCHDEV_OBJ_IPV4_FIB,
|
.id = SWITCHDEV_OBJ_IPV4_FIB,
|
||||||
.ipv4_fib = {
|
.ipv4_fib = {
|
||||||
.dst = htonl(dst),
|
.dst = dst,
|
||||||
.dst_len = dst_len,
|
.dst_len = dst_len,
|
||||||
.fi = fi,
|
.fi = fi,
|
||||||
.tos = tos,
|
.tos = tos,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user