• John Hurley's avatar
    nfp: flower: offload phys port MTU change · 29a5dcae
    John Hurley authored
    Trigger a port mod message to request an MTU change on the NIC when any
    physical port representor is assigned a new MTU value. The driver waits
    10 msec for an ack that the FW has set the MTU. If no ack is received the
    request is rejected and an appropriate warning flagged.
    
    Rather than maintain an MTU queue per repr, one is maintained per app.
    Because the MTU ndo is protected by the rtnl lock, there can never be
    contention here. Portmod messages from the NIC are also protected by
    rtnl so we first check if the portmod is an ack and, if so, handle outside
    rtnl and the cmsg work queue.
    
    Acks are detected by the marking of a bit in a portmod response. They are
    then verfied by checking the port number and MTU value expected by the
    app. If the expected MTU is 0 then no acks are currently expected.
    
    Also, ensure that the packet headroom reserved by the flower firmware is
    considered when accepting an MTU change on any repr.
    Signed-off-by: default avatarJohn Hurley <john.hurley@netronome.com>
    Reviewed-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    29a5dcae
main.c 16.9 KB