]> git.proxmox.com Git - ovs.git/commit
Add dl_type to flow metadata for correct interpretation of conntrack metadata
authorDaniel Alvarez <dalvarez@redhat.com>
Thu, 26 Oct 2017 12:52:22 +0000 (14:52 +0200)
committerBen Pfaff <blp@ovn.org>
Thu, 26 Oct 2017 16:39:25 +0000 (09:39 -0700)
commit7827edcaebd8a2098ea8b5165130eb9aa7a1d674
tree92ae1654bda2adeb9b7c963286d63e506a731399
parent7ebfcd3d93fd4aabe4dc516c3b3c43a4d3f9df3f
Add dl_type to flow metadata for correct interpretation of conntrack metadata

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>
lib/flow.c
tests/ofproto-dpif.at