• J
    nfp: flower: ensure ip protocol is specified for L4 matches · 103b7c25
    John Hurley 提交于
    Flower rules on the NFP firmware are able to match on an IP protocol
    field. When parsing rules in the driver, unknown IP protocols are only
    rejected when further matches are to be carried out on layer 4 fields, as
    the firmware will not be able to extract such fields from packets.
    
    L4 protocol dissectors such as FLOW_DISSECTOR_KEY_PORTS are only parsed if
    an IP protocol is specified. This leaves a loophole whereby a rule that
    attempts to match on transport layer information such as port numbers but
    does not explicitly give an IP protocol type can be incorrectly offloaded
    (in this case with wildcard port numbers matches).
    
    Fix this by rejecting the offload of flows that attempt to match on L4
    information, not only when matching on an unknown IP protocol type, but
    also when the protocol is wildcarded.
    
    Fixes: 2a047845 ("nfp: flower: check L4 matches on unknown IP protocols")
    Signed-off-by: NJohn Hurley <john.hurley@netronome.com>
    Reviewed-by: NJakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    103b7c25
offload.c 41.5 KB