Skip to content
  • Zoltan Balogh's avatar
    xlate: fix xport lookup for recirc · 00135b86
    Zoltan Balogh authored
    
    
    Xlate_lookup and xlate_lookup_ofproto_() provides in_port and ofproto
    based on xport determined using flow, which is extracted from packet.
    The lookup can happen due to recirculation as well. It can happen, that
    packet_type has been modified during xlate before recirculation is
    triggered, so the lookup fails or delivers wrong xport.
    This can be worked around by propagating xport to ctx->xin after the very
    first lookup and store it in frozen state of the recirculation.
    So, when lookup is performed due to recirculation, the xport can be
    retrieved from the frozen state.
    
    The packet-type-aware unit tests are updated with a new one to verify
    this behavior.
    
    Signed-off-by: default avatarZoltan Balogh <zoltan.balogh@ericsson.com>
    CC: Jan Scheurich <jan.scheurich@ericsson.com>
    Fixes: beb75a40
    
     ("userspace: Switching of L3 packets in L2 pipeline")
    Signed-off-by: default avatarBen Pfaff <blp@ovn.org>
    00135b86