Lines Matching refs:ib_spec
1341 union ib_flow_spec *ib_spec, in parse_flow_attr() argument
1346 switch (ib_spec->type) { in parse_flow_attr()
1348 if (FIELDS_NOT_SUPPORTED(ib_spec->eth.mask, LAST_ETH_FIELD)) in parse_flow_attr()
1352 memcpy(mlx4_spec->eth.dst_mac, ib_spec->eth.val.dst_mac, in parse_flow_attr()
1354 memcpy(mlx4_spec->eth.dst_mac_msk, ib_spec->eth.mask.dst_mac, in parse_flow_attr()
1356 mlx4_spec->eth.vlan_tag = ib_spec->eth.val.vlan_tag; in parse_flow_attr()
1357 mlx4_spec->eth.vlan_tag_msk = ib_spec->eth.mask.vlan_tag; in parse_flow_attr()
1360 if (FIELDS_NOT_SUPPORTED(ib_spec->ib.mask, LAST_IB_FIELD)) in parse_flow_attr()
1372 if (FIELDS_NOT_SUPPORTED(ib_spec->ipv4.mask, LAST_IPV4_FIELD)) in parse_flow_attr()
1376 mlx4_spec->ipv4.src_ip = ib_spec->ipv4.val.src_ip; in parse_flow_attr()
1377 mlx4_spec->ipv4.src_ip_msk = ib_spec->ipv4.mask.src_ip; in parse_flow_attr()
1378 mlx4_spec->ipv4.dst_ip = ib_spec->ipv4.val.dst_ip; in parse_flow_attr()
1379 mlx4_spec->ipv4.dst_ip_msk = ib_spec->ipv4.mask.dst_ip; in parse_flow_attr()
1384 if (FIELDS_NOT_SUPPORTED(ib_spec->tcp_udp.mask, LAST_TCP_UDP_FIELD)) in parse_flow_attr()
1387 type = ib_spec->type == IB_FLOW_SPEC_TCP ? in parse_flow_attr()
1390 mlx4_spec->tcp_udp.dst_port = ib_spec->tcp_udp.val.dst_port; in parse_flow_attr()
1391 mlx4_spec->tcp_udp.dst_port_msk = ib_spec->tcp_udp.mask.dst_port; in parse_flow_attr()
1392 mlx4_spec->tcp_udp.src_port = ib_spec->tcp_udp.val.src_port; in parse_flow_attr()
1393 mlx4_spec->tcp_udp.src_port_msk = ib_spec->tcp_udp.mask.src_port; in parse_flow_attr()
1485 union ib_flow_spec ib_spec = {}; in __mlx4_ib_create_default_rules() local
1493 ib_spec.type = IB_FLOW_SPEC_IB; in __mlx4_ib_create_default_rules()
1494 ib_spec.size = sizeof(struct ib_flow_spec_ib); in __mlx4_ib_create_default_rules()
1502 ret = parse_flow_attr(mdev->dev, 0, &ib_spec, in __mlx4_ib_create_default_rules()
1611 union ib_flow_spec *ib_spec; in mlx4_ib_tunnel_steer_add() local
1620 ib_spec = (union ib_flow_spec *)ib_flow; in mlx4_ib_tunnel_steer_add()
1622 if (ib_spec->type != IB_FLOW_SPEC_ETH || flow_attr->num_of_specs != 1) in mlx4_ib_tunnel_steer_add()
1625 err = mlx4_tunnel_steer_add(to_mdev(qp->device)->dev, ib_spec->eth.val.dst_mac, in mlx4_ib_tunnel_steer_add()
1648 union ib_flow_spec *ib_spec; in mlx4_ib_add_dont_trap_rule() local
1650 ib_spec = (union ib_flow_spec *)(flow_attr + 1); in mlx4_ib_add_dont_trap_rule()
1651 if (ib_spec->type != IB_FLOW_SPEC_ETH) in mlx4_ib_add_dont_trap_rule()
1655 if (is_zero_ether_addr(ib_spec->eth.mask.dst_mac)) { in mlx4_ib_add_dont_trap_rule()
1659 u8 mac[ETH_ALEN] = {ib_spec->eth.mask.dst_mac[0] ^ 0x01, in mlx4_ib_add_dont_trap_rule()
1660 ib_spec->eth.mask.dst_mac[1], in mlx4_ib_add_dont_trap_rule()
1661 ib_spec->eth.mask.dst_mac[2], in mlx4_ib_add_dont_trap_rule()
1662 ib_spec->eth.mask.dst_mac[3], in mlx4_ib_add_dont_trap_rule()
1663 ib_spec->eth.mask.dst_mac[4], in mlx4_ib_add_dont_trap_rule()
1664 ib_spec->eth.mask.dst_mac[5]}; in mlx4_ib_add_dont_trap_rule()
1672 if (is_multicast_ether_addr(ib_spec->eth.val.dst_mac)) in mlx4_ib_add_dont_trap_rule()
2927 struct ib_flow_spec_ib *ib_spec; in mlx4_ib_steer_qp_reg() local
2938 ib_spec = (struct ib_flow_spec_ib *)(flow + 1); in mlx4_ib_steer_qp_reg()
2939 ib_spec->type = IB_FLOW_SPEC_IB; in mlx4_ib_steer_qp_reg()
2940 ib_spec->size = sizeof(struct ib_flow_spec_ib); in mlx4_ib_steer_qp_reg()
2942 memset(&ib_spec->mask, 0, sizeof(ib_spec->mask)); in mlx4_ib_steer_qp_reg()