-
Daniel Alvarez authored
When a packet is sent to the controller, dl_type is not stored in the 'ofputil_packet_in_private'. When the packet is resumed, the flow's dl_type is 0 and this leads to invalid value in ct_orig_tuple in the pkt_metadata. This patch adds the dl_type to the metadata so that conntrack information can be interpreted correctly when packets are resumed. This is a change from the ordinary practice, since flow_get_metadata() is only supposed to deal with metadata and dl_type is not metadata. It is necessary when ct_state is involved, though, because ct_state only applies in the case of particular Ethertypes (IPv4 and IPv6 currently), so we need to add it as a kind of prerequisite. (This isn't ideal; maybe we didn't think through the ct_state mechanism carefully enough.) Reported-by: Daniel Alvarez Sanchez <dalvarez@redhat.com> Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2017-October/339868.html Signed-off-by: Daniel Alvarez <dalvarez@redhat.com> Signed-off-by: Numan Siddique <nusiddiq@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
7827edca