• Henrik Bjoernlund's avatar
    bridge: cfm: Netlink GET status Interface. · e77824d8
    Henrik Bjoernlund authored
    This is the implementation of CFM netlink status
    get information interface.
    
    Add new nested netlink attributes. These attributes are used by the
    user space to get status information.
    
    GETLINK:
        Request filter RTEXT_FILTER_CFM_STATUS:
        Indicating that CFM status information must be delivered.
    
        IFLA_BRIDGE_CFM:
            Points to the CFM information.
    
        IFLA_BRIDGE_CFM_MEP_STATUS_INFO:
            This indicate that the MEP instance status are following.
        IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO:
            This indicate that the peer MEP status are following.
    
    CFM nested attribute has the following attributes in next level.
    
    GETLINK RTEXT_FILTER_CFM_STATUS:
        IFLA_BRIDGE_CFM_MEP_STATUS_INSTANCE:
            The MEP instance number of the delivered status.
            The type is u32.
        IFLA_BRIDGE_CFM_MEP_STATUS_OPCODE_UNEXP_SEEN:
            The MEP instance received CFM PDU with unexpected Opcode.
            The type is u32 (bool).
        IFLA_BRIDGE_CFM_MEP_STATUS_VERSION_UNEXP_SEEN:
            The MEP instance received CFM PDU with unexpected version.
            The type is u32 (bool).
        IFLA_BRIDGE_CFM_MEP_STATUS_RX_LEVEL_LOW_SEEN:
            The MEP instance received CCM PDU with MD level lower than
            configured level. This frame is discarded.
            The type is u32 (bool).
    
        IFLA_BRIDGE_CFM_CC_PEER_STATUS_INSTANCE:
            The MEP instance number of the delivered status.
            The type is u32.
        IFLA_BRIDGE_CFM_CC_PEER_STATUS_PEER_MEPID:
            The added Peer MEP ID of the delivered status.
            The type is u32.
        IFLA_BRIDGE_CFM_CC_PEER_STATUS_CCM_DEFECT:
            The CCM defect status.
            The type is u32 (bool).
            True means no CCM frame is received for 3.25 intervals.
            IFLA_BRIDGE_CFM_CC_CONFIG_EXP_INTERVAL.
        IFLA_BRIDGE_CFM_CC_PEER_STATUS_RDI:
            The last received CCM PDU RDI.
            The type is u32 (bool).
        IFLA_BRIDGE_CFM_CC_PEER_STATUS_PORT_TLV_VALUE:
            The last received CCM PDU Port Status TLV value field.
            The type is u8.
        IFLA_BRIDGE_CFM_CC_PEER_STATUS_IF_TLV_VALUE:
            The last received CCM PDU Interface Status TLV value field.
            The type is u8.
        IFLA_BRIDGE_CFM_CC_PEER_STATUS_SEEN:
            A CCM frame has been received from Peer MEP.
            The type is u32 (bool).
            This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
        IFLA_BRIDGE_CFM_CC_PEER_STATUS_TLV_SEEN:
            A CCM frame with TLV has been received from Peer MEP.
            The type is u32 (bool).
            This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
        IFLA_BRIDGE_CFM_CC_PEER_STATUS_SEQ_UNEXP_SEEN:
            A CCM frame with unexpected sequence number has been received
            from Peer MEP.
            The type is u32 (bool).
            When a sequence number is not one higher than previously received
            then it is unexpected.
            This is cleared after GETLINK IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO.
    Signed-off-by: default avatarHenrik Bjoernlund  <henrik.bjoernlund@microchip.com>
    Reviewed-by: default avatarHoratiu Vultur  <horatiu.vultur@microchip.com>
    Acked-by: default avatarNikolay Aleksandrov <nikolay@nvidia.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    e77824d8
br_netlink.c 49.6 KB