Lines Matching refs:port

96 static int mlx4_WRITE_PROMISC(struct mlx4_dev *dev, u8 port, u8 steer,
101 in_mod = (u32) port << 16 | steer << 1;
123 static struct mlx4_promisc_qp *get_promisc_qp(struct mlx4_dev *dev, u8 port,
130 if (port < 1 || port > dev->caps.num_ports)
133 s_steer = &mlx4_priv(dev)->steer[port - 1];
147 static int new_steering_entry(struct mlx4_dev *dev, u8 port,
161 if (port < 1 || port > dev->caps.num_ports)
164 s_steer = &mlx4_priv(dev)->steer[port - 1];
176 pqp = get_promisc_qp(dev, port, steer, qpn);
239 static int existing_steering_entry(struct mlx4_dev *dev, u8 port,
248 if (port < 1 || port > dev->caps.num_ports)
251 s_steer = &mlx4_priv(dev)->steer[port - 1];
253 pqp = get_promisc_qp(dev, port, steer, qpn);
288 static bool check_duplicate_entry(struct mlx4_dev *dev, u8 port,
296 if (port < 1 || port > dev->caps.num_ports)
299 s_steer = &mlx4_priv(dev)->steer[port - 1];
302 if (!get_promisc_qp(dev, port, steer, qpn))
330 static bool promisc_steering_entry(struct mlx4_dev *dev, u8 port,
341 if (port < 1 || port > dev->caps.num_ports)
344 s_steer = &mlx4_priv(dev)->steer[port - 1];
359 if (!get_promisc_qp(dev, port, steer, qpn) && qpn != tqpn) {
371 static bool can_remove_steering_entry(struct mlx4_dev *dev, u8 port,
380 if (port < 1 || port > dev->caps.num_ports)
383 s_steer = &mlx4_priv(dev)->steer[port - 1];
385 if (!promisc_steering_entry(dev, port, steer, index, tqpn, &members_count))
420 static int add_promisc_qp(struct mlx4_dev *dev, u8 port,
436 if (port < 1 || port > dev->caps.num_ports)
439 s_steer = &mlx4_priv(dev)->steer[port - 1];
443 if (get_promisc_qp(dev, port, steer, qpn)) {
518 err = mlx4_WRITE_PROMISC(dev, port, steer, mailbox);
537 static int remove_promisc_qp(struct mlx4_dev *dev, u8 port,
553 if (port < 1 || port > dev->caps.num_ports)
556 s_steer = &mlx4_priv(dev)->steer[port - 1];
559 pqp = get_promisc_qp(dev, port, steer, qpn);
584 err = mlx4_WRITE_PROMISC(dev, port, steer, mailbox);
669 static int find_entry(struct mlx4_dev *dev, u8 port,
758 hw->port = ctrl->port;
875 "port = %d prio = 0x%x qp = 0x%x ",
876 rule->port, rule->priority, rule->qpn);
908 "src-port = %d ",
912 "dst-port = %d ",
1019 u8 port = gid[5];
1028 err = find_entry(dev, port, gid, prot,
1095 new_steering_entry(dev, port, steer, index, qp->qpn);
1097 existing_steering_entry(dev, port, steer,
1126 u8 port = gid[5];
1136 err = find_entry(dev, port, gid, prot,
1153 check_duplicate_entry(dev, port, steer, index, qp->qpn) &&
1154 !promisc_steering_entry(dev, port, steer, index, qp->qpn, NULL))
1176 removed_entry = can_remove_steering_entry(dev, port, steer,
1266 u8 gid[16], u8 port,
1281 rule.port = port;
1306 u8 port, int block_mcast_loopback,
1329 return mlx4_trans_to_dmfs_attach(dev, qp, gid, port,
1368 int mlx4_flow_steer_promisc_add(struct mlx4_dev *dev, u8 port,
1376 regid_p = &dev->regid_promisc_array[port];
1379 regid_p = &dev->regid_allmulti_array[port];
1389 rule.port = port;
1392 mlx4_err(dev, "going promisc on %x\n", port);
1398 int mlx4_flow_steer_promisc_remove(struct mlx4_dev *dev, u8 port,
1406 regid_p = &dev->regid_promisc_array[port];
1409 regid_p = &dev->regid_allmulti_array[port];
1462 u8 port = vhcr->in_param >> 62;
1470 return add_promisc_qp(dev, port, steer, qpn);
1472 return remove_promisc_qp(dev, port, steer, qpn);
1476 enum mlx4_steer_type steer, u8 add, u8 port)
1478 return mlx4_cmd(dev, (u64) qpn | (u64) port << 62, (u32) steer, add,
1483 int mlx4_multicast_promisc_add(struct mlx4_dev *dev, u32 qpn, u8 port)
1486 return mlx4_PROMISC(dev, qpn, MLX4_MC_STEER, 1, port);
1488 return add_promisc_qp(dev, port, MLX4_MC_STEER, qpn);
1492 int mlx4_multicast_promisc_remove(struct mlx4_dev *dev, u32 qpn, u8 port)
1495 return mlx4_PROMISC(dev, qpn, MLX4_MC_STEER, 0, port);
1497 return remove_promisc_qp(dev, port, MLX4_MC_STEER, qpn);
1501 int mlx4_unicast_promisc_add(struct mlx4_dev *dev, u32 qpn, u8 port)
1504 return mlx4_PROMISC(dev, qpn, MLX4_UC_STEER, 1, port);
1506 return add_promisc_qp(dev, port, MLX4_UC_STEER, qpn);
1510 int mlx4_unicast_promisc_remove(struct mlx4_dev *dev, u32 qpn, u8 port)
1513 return mlx4_PROMISC(dev, qpn, MLX4_UC_STEER, 0, port);
1515 return remove_promisc_qp(dev, port, MLX4_UC_STEER, qpn);