Skip to content

Commit

Permalink
rocker: use new helper to figure out master kind
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Jiri Pirko authored and David S. Miller committed Aug 27, 2015
1 parent 0dc1549 commit fb4bf21
Showing 1 changed file with 7 additions and 12 deletions.
19 changes: 7 additions & 12 deletions drivers/net/ethernet/rocker/rocker.c
Original file line number Diff line number Diff line change
Expand Up @@ -322,21 +322,16 @@ static u16 rocker_port_vlan_to_vid(const struct rocker_port *rocker_port,
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)
{
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)
{
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)
Expand Down Expand Up @@ -5338,10 +5333,10 @@ static int rocker_port_master_changed(struct net_device *dev)
int err = 0;

/* N.B: Do nothing if the type of master is not supported */
if (master && master->rtnl_link_ops) {
if (!strcmp(master->rtnl_link_ops->kind, "bridge"))
if (master) {
if (netif_is_bridge_master(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);
} else if (rocker_port_is_bridged(rocker_port)) {
err = rocker_port_bridge_leave(rocker_port);
Expand Down

0 comments on commit fb4bf21

Please sign in to comment.