• Henrik Bjoernlund's avatar
    bridge: cfm: Kernel space implementation of CFM. MEP create/delete. · 86a14b79
    Henrik Bjoernlund authored
    This is the first commit of the implementation of the CFM protocol
    according to 802.1Q section 12.14.
    
    It contains MEP instance create, delete and configuration.
    
    Connectivity Fault Management (CFM) comprises capabilities for
    detecting, verifying, and isolating connectivity failures in
    Virtual Bridged Networks. These capabilities can be used in
    networks operated by multiple independent organizations, each
    with restricted management access to each others equipment.
    
    CFM functions are partitioned as follows:
        - Path discovery
        - Fault detection
        - Fault verification and isolation
        - Fault notification
        - Fault recovery
    
    Interface consists of these functions:
    br_cfm_mep_create()
    br_cfm_mep_delete()
    br_cfm_mep_config_set()
    br_cfm_cc_config_set()
    br_cfm_cc_peer_mep_add()
    br_cfm_cc_peer_mep_remove()
    
    A MEP instance is created by br_cfm_mep_create()
        -It is the Maintenance association End Point
         described in 802.1Q section 19.2.
        -It is created on a specific level (1-7) and is assuring
         that no CFM frames are passing through this MEP on lower levels.
        -It initiates and validates CFM frames on its level.
        -It can only exist on a port that is related to a bridge.
        -Attributes given cannot be changed until the instance is
         deleted.
    
    A MEP instance can be deleted by br_cfm_mep_delete().
    
    A created MEP instance has attributes that can be
    configured by br_cfm_mep_config_set().
    
    A MEP Continuity Check feature can be configured by
    br_cfm_cc_config_set()
        The Continuity Check Receiver state machine can be
        enabled and disabled.
        According to 802.1Q section 19.2.8
    
    A MEP can have Peer MEPs added and removed by
    br_cfm_cc_peer_mep_add() and br_cfm_cc_peer_mep_remove()
        The Continuity Check feature can maintain connectivity
        status on each added Peer MEP.
    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>
    86a14b79
br_if.c 17.5 KB