• Horatiu Vultur's avatar
    switchdev: mrp: Extend switchdev API to offload MRP · c284b545
    Horatiu Vultur authored
    Extend switchdev API to add support for MRP. The HW is notified in
    following cases:
    
    SWITCHDEV_OBJ_ID_MRP: This is used when a MRP instance is added/removed
      from the MRP ring.
    
    SWITCHDEV_OBJ_ID_RING_ROLE_MRP: This is used when the role of the node
      changes. The current supported roles are MRM and MRC.
    
    SWITCHDEV_OBJ_ID_RING_TEST_MRP: This is used when to start/stop sending
      MRP_Test frames on the mrp ring ports. This is called only on nodes that have
      the role MRM. In case this fails then the SW will generate the frames.
    
    SWITCHDEV_OBJ_ID_RING_STATE_STATE: This is used when the ring changes it states
      to open or closed. This is required to notify HW because the MRP_Test frame
      contains the field MRP_InState which contains this information.
    
    SWITCHDEV_ATTR_ID_MRP_PORT_STATE: This is used when the port's state is
      changed. It can be in blocking/forwarding mode.
    
    SWITCHDEV_ATTR_ID_MRP_PORT_ROLE: This is used when port's role changes. The
      roles of the port can be primary/secondary. This is required to notify HW
      because the MRP_Test frame contains the field MRP_PortRole that contains this
      information.
    Signed-off-by: default avatarHoratiu Vultur <horatiu.vultur@microchip.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c284b545
switchdev.h 9.47 KB