Lines Matching defs:flow_attr
1429 struct ib_flow_attr *flow_attr)
1434 u8 link_layer = rdma_port_get_link_layer(qp->device, flow_attr->port);
1443 ib_flow = flow_attr + 1;
1446 j < flow_attr->num_of_specs; k++) {
1467 ib_flow = flow_attr + 1;
1468 for (j = 0; j < flow_attr->num_of_specs;
1521 static int __mlx4_ib_create_flow(struct ib_qp *qp, struct ib_flow_attr *flow_attr,
1534 if (flow_attr->priority > MLX4_IB_FLOW_MAX_PRIO) {
1535 pr_err("Invalid priority value %d\n", flow_attr->priority);
1547 ctrl->prio = cpu_to_be16(domain | flow_attr->priority);
1549 ctrl->port = flow_attr->port;
1552 ib_flow = flow_attr + 1;
1555 default_flow = __mlx4_ib_default_rules_match(qp, flow_attr);
1566 for (i = 0; i < flow_attr->num_of_specs; i++) {
1578 flow_attr->num_of_specs == 1) {
1581 ((union ib_flow_spec *)(flow_attr + 1))->type;
1613 static int mlx4_ib_tunnel_steer_add(struct ib_qp *qp, struct ib_flow_attr *flow_attr,
1625 ib_flow = flow_attr + 1;
1628 if (ib_spec->type != IB_FLOW_SPEC_ETH || flow_attr->num_of_specs != 1)
1632 flow_attr->port, qp->qp_num,
1633 MLX4_DOMAIN_UVERBS | (flow_attr->priority & 0xff),
1639 struct ib_flow_attr *flow_attr,
1646 (flow_attr->num_of_specs > 1) || (flow_attr->priority != 0)) {
1650 if (flow_attr->num_of_specs == 0) {
1656 ib_spec = (union ib_flow_spec *)(flow_attr + 1);
1689 struct ib_flow_attr *flow_attr,
1698 if (flow_attr->flags & ~IB_FLOW_ATTR_FLAGS_DONT_TRAP)
1701 if ((flow_attr->flags & IB_FLOW_ATTR_FLAGS_DONT_TRAP) &&
1702 (flow_attr->type != IB_FLOW_ATTR_NORMAL))
1717 switch (flow_attr->type) {
1723 if (unlikely(flow_attr->flags & IB_FLOW_ATTR_FLAGS_DONT_TRAP)) {
1725 flow_attr,
1753 err = __mlx4_ib_create_flow(qp, flow_attr, MLX4_DOMAIN_UVERBS,
1761 flow_attr->port = 2;
1762 err = __mlx4_ib_create_flow(qp, flow_attr,
1765 flow_attr->port = 1;
1774 if (i < ARRAY_SIZE(type) && flow_attr->type == IB_FLOW_ATTR_NORMAL) {
1775 err = mlx4_ib_tunnel_steer_add(qp, flow_attr,
1781 flow_attr->port = 2;
1782 err = mlx4_ib_tunnel_steer_add(qp, flow_attr,
1784 flow_attr->port = 1;