Commit fb4bf214 authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller

rocker: use new helper to figure out master kind

Looking at rtnl kind string is kind of ugly. So use new helpers to do
this in nicer way.
Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
Acked-by: Scott Feldman <sfeldma@gmail.com
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0dc1549b
...@@ -322,21 +322,16 @@ static u16 rocker_port_vlan_to_vid(const struct rocker_port *rocker_port, ...@@ -322,21 +322,16 @@ static u16 rocker_port_vlan_to_vid(const struct rocker_port *rocker_port,
return ntohs(vlan_id); return ntohs(vlan_id);
} }
static bool rocker_port_is_slave(const struct rocker_port *rocker_port,
const char *kind)
{
return rocker_port->bridge_dev &&
!strcmp(rocker_port->bridge_dev->rtnl_link_ops->kind, kind);
}
static bool rocker_port_is_bridged(const struct rocker_port *rocker_port) static bool rocker_port_is_bridged(const struct rocker_port *rocker_port)
{ {
return rocker_port_is_slave(rocker_port, "bridge"); return rocker_port->bridge_dev &&
netif_is_bridge_master(rocker_port->bridge_dev);
} }
static bool rocker_port_is_ovsed(const struct rocker_port *rocker_port) static bool rocker_port_is_ovsed(const struct rocker_port *rocker_port)
{ {
return rocker_port_is_slave(rocker_port, "openvswitch"); return rocker_port->bridge_dev &&
netif_is_ovs_master(rocker_port->bridge_dev);
} }
#define ROCKER_OP_FLAG_REMOVE BIT(0) #define ROCKER_OP_FLAG_REMOVE BIT(0)
...@@ -5338,10 +5333,10 @@ static int rocker_port_master_changed(struct net_device *dev) ...@@ -5338,10 +5333,10 @@ static int rocker_port_master_changed(struct net_device *dev)
int err = 0; int err = 0;
/* N.B: Do nothing if the type of master is not supported */ /* N.B: Do nothing if the type of master is not supported */
if (master && master->rtnl_link_ops) { if (master) {
if (!strcmp(master->rtnl_link_ops->kind, "bridge")) if (netif_is_bridge_master(master))
err = rocker_port_bridge_join(rocker_port, master); err = rocker_port_bridge_join(rocker_port, master);
else if (!strcmp(master->rtnl_link_ops->kind, "openvswitch")) else if (netif_is_ovs_master(master))
err = rocker_port_ovs_changed(rocker_port, master); err = rocker_port_ovs_changed(rocker_port, master);
} else if (rocker_port_is_bridged(rocker_port)) { } else if (rocker_port_is_bridged(rocker_port)) {
err = rocker_port_bridge_leave(rocker_port); err = rocker_port_bridge_leave(rocker_port);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment