Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 290143
b: refs/heads/master
c: f1f75f0
h: refs/heads/master
i:
  290141: c709625
  290139: 75dc348
  290135: 72c7216
  290127: 4f415bb
  290111: 99ef40d
v: v3
  • Loading branch information
Eugenia Emantayev authored and David S. Miller committed Feb 14, 2012
1 parent 74a571d commit faf768a
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: de9b43dbb8a81fb58ed092351aa8e35e52368199
refs/heads/master: f1f75f0e2bb94674da540be9c488fe596dd55881
16 changes: 4 additions & 12 deletions trunk/drivers/net/ethernet/mellanox/mlx4/mcg.c
Original file line number Diff line number Diff line change
Expand Up @@ -870,44 +870,36 @@ static int mlx4_QP_ATTACH(struct mlx4_dev *dev, struct mlx4_qp *qp,
int mlx4_multicast_attach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16],
int block_mcast_loopback, enum mlx4_protocol prot)
{
enum mlx4_steer_type steer;

steer = (is_valid_ether_addr(&gid[10])) ? MLX4_UC_STEER : MLX4_MC_STEER;

if (prot == MLX4_PROT_ETH &&
!(dev->caps.flags & MLX4_DEV_CAP_FLAG_VEP_MC_STEER))
return 0;

if (prot == MLX4_PROT_ETH)
gid[7] |= (steer << 1);
gid[7] |= (MLX4_MC_STEER << 1);

if (mlx4_is_mfunc(dev))
return mlx4_QP_ATTACH(dev, qp, gid, 1,
block_mcast_loopback, prot);

return mlx4_qp_attach_common(dev, qp, gid, block_mcast_loopback,
prot, steer);
prot, MLX4_MC_STEER);
}
EXPORT_SYMBOL_GPL(mlx4_multicast_attach);

int mlx4_multicast_detach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16],
enum mlx4_protocol prot)
{
enum mlx4_steer_type steer;

steer = (is_valid_ether_addr(&gid[10])) ? MLX4_UC_STEER : MLX4_MC_STEER;

if (prot == MLX4_PROT_ETH &&
!(dev->caps.flags & MLX4_DEV_CAP_FLAG_VEP_MC_STEER))
return 0;

if (prot == MLX4_PROT_ETH)
gid[7] |= (steer << 1);
gid[7] |= (MLX4_MC_STEER << 1);

if (mlx4_is_mfunc(dev))
return mlx4_QP_ATTACH(dev, qp, gid, 0, 0, prot);

return mlx4_qp_detach_common(dev, qp, gid, prot, steer);
return mlx4_qp_detach_common(dev, qp, gid, prot, MLX4_MC_STEER);
}
EXPORT_SYMBOL_GPL(mlx4_multicast_detach);

Expand Down

0 comments on commit faf768a

Please sign in to comment.