Lines Matching defs:ib_spec

185 			   const union ib_flow_spec *ib_spec,
205 if (ib_spec->type & IB_FLOW_SPEC_INNER) {
221 switch (ib_spec->type & ~IB_FLOW_SPEC_INNER) {
223 if (FIELDS_NOT_SUPPORTED(ib_spec->eth.mask, LAST_ETH_FIELD))
228 ib_spec->eth.mask.dst_mac);
231 ib_spec->eth.val.dst_mac);
235 ib_spec->eth.mask.src_mac);
238 ib_spec->eth.val.src_mac);
240 if (ib_spec->eth.mask.vlan_tag) {
247 first_vid, ntohs(ib_spec->eth.mask.vlan_tag));
249 first_vid, ntohs(ib_spec->eth.val.vlan_tag));
253 ntohs(ib_spec->eth.mask.vlan_tag) >> 12);
256 ntohs(ib_spec->eth.val.vlan_tag) >> 12);
260 ntohs(ib_spec->eth.mask.vlan_tag) >> 13);
263 ntohs(ib_spec->eth.val.vlan_tag) >> 13);
266 ethertype, ntohs(ib_spec->eth.mask.ether_type));
268 ethertype, ntohs(ib_spec->eth.val.ether_type));
271 if (FIELDS_NOT_SUPPORTED(ib_spec->ipv4.mask, LAST_IPV4_FIELD))
288 &ib_spec->ipv4.mask.src_ip,
289 sizeof(ib_spec->ipv4.mask.src_ip));
292 &ib_spec->ipv4.val.src_ip,
293 sizeof(ib_spec->ipv4.val.src_ip));
296 &ib_spec->ipv4.mask.dst_ip,
297 sizeof(ib_spec->ipv4.mask.dst_ip));
300 &ib_spec->ipv4.val.dst_ip,
301 sizeof(ib_spec->ipv4.val.dst_ip));
304 ib_spec->ipv4.mask.tos, ib_spec->ipv4.val.tos);
307 ib_spec->ipv4.mask.proto,
308 ib_spec->ipv4.val.proto))
312 if (FIELDS_NOT_SUPPORTED(ib_spec->ipv6.mask, LAST_IPV6_FIELD))
329 &ib_spec->ipv6.mask.src_ip,
330 sizeof(ib_spec->ipv6.mask.src_ip));
333 &ib_spec->ipv6.val.src_ip,
334 sizeof(ib_spec->ipv6.val.src_ip));
337 &ib_spec->ipv6.mask.dst_ip,
338 sizeof(ib_spec->ipv6.mask.dst_ip));
341 &ib_spec->ipv6.val.dst_ip,
342 sizeof(ib_spec->ipv6.val.dst_ip));
345 ib_spec->ipv6.mask.traffic_class,
346 ib_spec->ipv6.val.traffic_class);
349 ib_spec->ipv6.mask.next_hdr,
350 ib_spec->ipv6.val.next_hdr))
354 ntohl(ib_spec->ipv6.mask.flow_label),
355 ntohl(ib_spec->ipv6.val.flow_label),
356 ib_spec->type & IB_FLOW_SPEC_INNER);
361 if (FIELDS_NOT_SUPPORTED(ib_spec->tcp_udp.mask,
369 ntohs(ib_spec->tcp_udp.mask.src_port));
371 ntohs(ib_spec->tcp_udp.val.src_port));
374 ntohs(ib_spec->tcp_udp.mask.dst_port));
376 ntohs(ib_spec->tcp_udp.val.dst_port));
379 if (FIELDS_NOT_SUPPORTED(ib_spec->tcp_udp.mask,
387 ntohs(ib_spec->tcp_udp.mask.src_port));
389 ntohs(ib_spec->tcp_udp.val.src_port));
392 ntohs(ib_spec->tcp_udp.mask.dst_port));
394 ntohs(ib_spec->tcp_udp.val.dst_port));
397 if (ib_spec->gre.mask.c_ks_res0_ver)
409 ntohs(ib_spec->gre.mask.protocol));
411 ntohs(ib_spec->gre.val.protocol));
415 &ib_spec->gre.mask.key,
416 sizeof(ib_spec->gre.mask.key));
419 &ib_spec->gre.val.key,
420 sizeof(ib_spec->gre.val.key));
427 &ib_spec->mpls.mask.tag))
432 &ib_spec->mpls.val.tag,
433 sizeof(ib_spec->mpls.val.tag));
436 &ib_spec->mpls.mask.tag,
437 sizeof(ib_spec->mpls.mask.tag));
442 &ib_spec->mpls.mask.tag))
447 &ib_spec->mpls.val.tag,
448 sizeof(ib_spec->mpls.val.tag));
451 &ib_spec->mpls.mask.tag,
452 sizeof(ib_spec->mpls.mask.tag));
455 if (ib_spec->type & IB_FLOW_SPEC_INNER) {
458 &ib_spec->mpls.mask.tag))
463 &ib_spec->mpls.val.tag,
464 sizeof(ib_spec->mpls.val.tag));
467 &ib_spec->mpls.mask.tag,
468 sizeof(ib_spec->mpls.mask.tag));
472 &ib_spec->mpls.mask.tag))
477 &ib_spec->mpls.val.tag,
478 sizeof(ib_spec->mpls.val.tag));
481 &ib_spec->mpls.mask.tag,
482 sizeof(ib_spec->mpls.mask.tag));
487 if (FIELDS_NOT_SUPPORTED(ib_spec->tunnel.mask,
492 ntohl(ib_spec->tunnel.mask.tunnel_id));
494 ntohl(ib_spec->tunnel.val.tunnel_id));
497 if (FIELDS_NOT_SUPPORTED(ib_spec->flow_tag,
500 if (ib_spec->flow_tag.tag_id >= BIT(24))
503 flow_context->flow_tag = ib_spec->flow_tag.tag_id;
507 if (FIELDS_NOT_SUPPORTED(ib_spec->drop,
513 ret = parse_flow_flow_action(to_mflow_act(ib_spec->action.act),
519 if (FIELDS_NOT_SUPPORTED(ib_spec->flow_count,
527 action->counters = ib_spec->flow_count.counters;
575 union ib_flow_spec *ib_spec = (union ib_flow_spec *)(flow_attr + 1);
592 if ((ib_spec->type == (IB_FLOW_SPEC_ETH | inner_bit)) &&
593 ib_spec->eth.mask.ether_type) {
594 mask_valid = (ib_spec->eth.mask.ether_type ==
597 eth_type = ntohs(ib_spec->eth.val.ether_type);
598 } else if ((ib_spec->type == (IB_FLOW_SPEC_IPV4 | inner_bit)) ||
599 (ib_spec->type == (IB_FLOW_SPEC_IPV6 | inner_bit))) {
600 ip_spec_type = ib_spec->type;
602 ib_spec = (void *)ib_spec + ib_spec->size;