OVS_NOT_REACHED();
}
-static bool
-is_icmpv4(const struct flow *flow)
-{
- return (flow->dl_type == htons(ETH_TYPE_IP)
- && flow->nw_proto == IPPROTO_ICMP);
-}
-
-static bool
-is_icmpv6(const struct flow *flow)
-{
- return (flow->dl_type == htons(ETH_TYPE_IPV6)
- && flow->nw_proto == IPPROTO_ICMPV6);
-}
-
/* Returns true if 'flow' meets the prerequisites for 'mf', false otherwise. */
bool
mf_are_prereqs_ok(const struct mf_field *mf, const struct flow *flow)
case MFF_MPLS_BOS:
value->u8 = mpls_lse_to_bos(flow->mpls_lse[0]);
break;
- break;
case MFF_IPV4_SRC:
value->be32 = flow->nw_src;
case MFF_MPLS_BOS:
match_set_mpls_bos(match, 0, value->u8);
break;
- break;
case MFF_IPV4_SRC:
match_set_nw_src(match, value->be32);
case MFF_MPLS_BOS:
flow_set_mpls_bos(flow, 0, value->u8);
break;
- break;
case MFF_IPV4_SRC:
flow->nw_src = value->be32;
break;
case MFF_IP_FRAG:
- flow->nw_frag &= value->u8;
+ flow->nw_frag = value->u8 & FLOW_NW_FRAG_MASK;
break;
case MFF_ARP_OP:
case MFF_MPLS_BOS:
match_set_any_mpls_bos(match, 0);
break;
- break;
case MFF_IPV4_SRC:
case MFF_ARP_SPA: