• Home
  • Raw
  • Download

Lines Matching refs:flow_attr

1430 					 struct ib_flow_attr *flow_attr)  in __mlx4_ib_default_rules_match()  argument
1435 u8 link_layer = rdma_port_get_link_layer(qp->device, flow_attr->port); in __mlx4_ib_default_rules_match()
1444 ib_flow = flow_attr + 1; in __mlx4_ib_default_rules_match()
1447 j < flow_attr->num_of_specs; k++) { in __mlx4_ib_default_rules_match()
1468 ib_flow = flow_attr + 1; in __mlx4_ib_default_rules_match()
1469 for (j = 0; j < flow_attr->num_of_specs; in __mlx4_ib_default_rules_match()
1522 static int __mlx4_ib_create_flow(struct ib_qp *qp, struct ib_flow_attr *flow_attr, in __mlx4_ib_create_flow() argument
1535 if (flow_attr->priority > MLX4_IB_FLOW_MAX_PRIO) { in __mlx4_ib_create_flow()
1536 pr_err("Invalid priority value %d\n", flow_attr->priority); in __mlx4_ib_create_flow()
1548 ctrl->prio = cpu_to_be16(domain | flow_attr->priority); in __mlx4_ib_create_flow()
1550 ctrl->port = flow_attr->port; in __mlx4_ib_create_flow()
1553 ib_flow = flow_attr + 1; in __mlx4_ib_create_flow()
1556 default_flow = __mlx4_ib_default_rules_match(qp, flow_attr); in __mlx4_ib_create_flow()
1567 for (i = 0; i < flow_attr->num_of_specs; i++) { in __mlx4_ib_create_flow()
1579 flow_attr->num_of_specs == 1) { in __mlx4_ib_create_flow()
1582 ((union ib_flow_spec *)(flow_attr + 1))->type; in __mlx4_ib_create_flow()
1614 static int mlx4_ib_tunnel_steer_add(struct ib_qp *qp, struct ib_flow_attr *flow_attr, in mlx4_ib_tunnel_steer_add() argument
1626 ib_flow = flow_attr + 1; in mlx4_ib_tunnel_steer_add()
1629 if (ib_spec->type != IB_FLOW_SPEC_ETH || flow_attr->num_of_specs != 1) in mlx4_ib_tunnel_steer_add()
1633 flow_attr->port, qp->qp_num, in mlx4_ib_tunnel_steer_add()
1634 MLX4_DOMAIN_UVERBS | (flow_attr->priority & 0xff), in mlx4_ib_tunnel_steer_add()
1640 struct ib_flow_attr *flow_attr, in mlx4_ib_add_dont_trap_rule() argument
1647 (flow_attr->num_of_specs > 1) || (flow_attr->priority != 0)) { in mlx4_ib_add_dont_trap_rule()
1651 if (flow_attr->num_of_specs == 0) { in mlx4_ib_add_dont_trap_rule()
1657 ib_spec = (union ib_flow_spec *)(flow_attr + 1); in mlx4_ib_add_dont_trap_rule()
1690 struct ib_flow_attr *flow_attr, in mlx4_ib_create_flow() argument
1699 if (flow_attr->port < 1 || flow_attr->port > qp->device->phys_port_cnt) in mlx4_ib_create_flow()
1702 if (flow_attr->flags & ~IB_FLOW_ATTR_FLAGS_DONT_TRAP) in mlx4_ib_create_flow()
1705 if ((flow_attr->flags & IB_FLOW_ATTR_FLAGS_DONT_TRAP) && in mlx4_ib_create_flow()
1706 (flow_attr->type != IB_FLOW_ATTR_NORMAL)) in mlx4_ib_create_flow()
1721 switch (flow_attr->type) { in mlx4_ib_create_flow()
1727 if (unlikely(flow_attr->flags & IB_FLOW_ATTR_FLAGS_DONT_TRAP)) { in mlx4_ib_create_flow()
1729 flow_attr, in mlx4_ib_create_flow()
1757 err = __mlx4_ib_create_flow(qp, flow_attr, MLX4_DOMAIN_UVERBS, in mlx4_ib_create_flow()
1765 flow_attr->port = 2; in mlx4_ib_create_flow()
1766 err = __mlx4_ib_create_flow(qp, flow_attr, in mlx4_ib_create_flow()
1769 flow_attr->port = 1; in mlx4_ib_create_flow()
1778 if (i < ARRAY_SIZE(type) && flow_attr->type == IB_FLOW_ATTR_NORMAL) { in mlx4_ib_create_flow()
1779 err = mlx4_ib_tunnel_steer_add(qp, flow_attr, in mlx4_ib_create_flow()
1785 flow_attr->port = 2; in mlx4_ib_create_flow()
1786 err = mlx4_ib_tunnel_steer_add(qp, flow_attr, in mlx4_ib_create_flow()
1788 flow_attr->port = 1; in mlx4_ib_create_flow()