• Ariel Levkovich's avatar
    IB/mlx5: Add inner spec and IPv6 validation in user's flow attribute list · 0f750966
    Ariel Levkovich authored
    This change fixes an incomplete validation of the user's
    flow attributes list.
    
    Previous implementation validated only matching of IPv4 Ethertype
    to IPv4 spec of outer headers (in case both Ethernet with specified
    Ethertype and IP specs were present) and lacked the validation of:
    1. Matching of IPv6 Ethertype in Ethernet spec (if such exists) to an
       IPv6 protocol spec (if such exists).
    2. Validation of Ethertype to IP protocol matching on inner headers specs.
    Which could cause some combinations of unmatching Ethernet and IP
    protocols to pass validation and apply on the device.
    
    The fix adds validation of IPv6 Ethertype and IP spec as well as
    performing the scan on both outer and inner attributes.
    
    Fixes: 038d2ef8 ("Add flow steering support")
    Signed-off-by: default avatarAriel Levkovich <lariel@mellanox.com>
    Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
    Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
    0f750966
main.c 98 KB