On Wed, Sep 13, 2017 at 05:18:03AM +0000, Darrell Ball wrote:
> + /* IP v4 */
> + uint8_t proto = 0;
> + struct rte_flow_item_ipv4 ipv4_spec;
> + struct rte_flow_item_ipv4 ipv4_mask;
> + memset(&ipv4_mask, 0, sizeof(ipv4_mask));
> + if ((match->flow.dl_type == ntohs(ETH_TYPE_IP)) &&
> + (match->wc.masks.nw_src || match->wc.masks.nw_dst ||
> + match->wc.masks.nw_tos || match->wc.masks.nw_ttl ||
> + match->wc.masks.nw_proto)) {
> + ipv4_spec.hdr.type_of_service = match->flow.nw_tos;
> + ipv4_spec.hdr.time_to_live = match->flow.nw_tos;
>
> [Darrell] should be TTL; lots of e-mails but I don’t remember seeing this
> mentioned
That's really a good catch! And actually, I have also noticed it few days,
that I have fixed in my local v3 branch.
> +
> + CHECK_NONZERO_BYTES(&match_zero_wc.flow.tunnel,
> + sizeof(match_zero_wc.flow.tunnel));
> + CHECK_NONZERO(match->wc.masks.metadata);
> + CHECK_NONZERO(match->wc.masks.skb_priority);
> + CHECK_NONZERO(match->wc.masks.pkt_mark);
> + CHECK_NONZERO(match->wc.masks.dp_hash);
> +
> + /* recirc id must be zero */
> + CHECK_NONZERO(match_zero_wc.flow.recirc_id);
> +
> + CHECK_NONZERO(match->wc.masks.ct_state);
> + CHECK_NONZERO(match->wc.masks.ct_zone);
> + CHECK_NONZERO(match->wc.masks.ct_mark);
>
> [Darrell]
> check the other pkt_metadata fields; some are missing here.
I will give it a try.
--yliu
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev