Skip to content
  • Simon Horman's avatar
    flow: Ignore invalid ICMPv6 fields when parsing packets · f8fe60be
    Simon Horman authored
    
    
    There is a miss-match between the handling of invalid ICMPv6 fields in the
    implementations of parse_icmpv6() in user-space and in the kernel datapath.
    
    This patch addresses that by modifying the user-space implementation to
    match that of the kernel datapath; processing is terminated without
    rather than with an error and partial information is cleared.
    
    With these changes the user-space implementation of parse_icmpv6()
    never returns an error. Accordingly the return type and caller have been
    updated.
    
    The original motivation for this is to allow matching the ICMPv6 type and
    code of packets with invalid neighbour discovery options although only the
    change around the '(!opt_len || opt_len > *sizep)' conditional is necessary
    to achieve that goal.
    
    Signed-off-by: default avatarSimon Horman <simon.horman@netronome.com>
    Signed-off-by: default avatarJesse Gross <jesse@nicira.com>
    f8fe60be