• Maxime Chevallier's avatar
    net: mvpp2: use classifier to assign default rx queue · b1a962c6
    Maxime Chevallier authored
    The PPv2 Controller has a classifier, that can perform multiple lookup
    operations for each packet, using different engines.
    
    One of these engines is the C2 engine, which performs TCAM based lookups
    on data extracted from the packet header. When a packet matches an
    entry, the engine sets various attributes, used to perform
    classification operations.
    
    One of these attributes is the rx queue in which the packet should be sent.
    The current code uses the lookup_id table (also called decoding table)
    to assign the rx queue. However, this only works if we use one entry per
    port in the decoding table, which won't be the case once we add RSS
    lookups.
    
    This patch uses the C2 engine to assign the rx queue to each packet.
    
    The C2 engine is used through the flow table, which dictates what
    classification operations are done for a given flow.
    
    Right now, we have one flow per port, which contains every ingress
    packet for this port.
    Signed-off-by: default avatarMaxime Chevallier <maxime.chevallier@bootlin.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b1a962c6
mvpp2_cls.h 2.18 KB