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: Jiri Pirko <jiri@mellanox.com> Acked-by: Scott Feldman <sfeldma@gmail.com Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0dc1549bfd
commit
fb4bf21434
1 changed files with 7 additions and 12 deletions
|
@ -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)
|
||||||
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);
|
||||||
|
|
Loading…
Add table
Reference in a new issue