History

bridge: cfm: Netlink GET status Interface.

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.

Henrik Bjoernlund committed 6 years ago

Commit e77824d1 parent 5e312fc5 files · +154 −3Browse files

Showing the changes to include/uapi (2 of 5 files). Show all

Unified · Split

2 files
  1. include/uapi/linux/if_bridge.h +29 −0
  2. include/uapi/linux/rtnetlink.h +1 −0
include/uapi/linux/if_bridge.h+29−0
@@ -345,6 +345,8 @@ enum { · 344 unmodified lines
345 IFLA_BRIDGE_CFM_CC_RDI_INFO,345 IFLA_BRIDGE_CFM_CC_RDI_INFO,
346 IFLA_BRIDGE_CFM_CC_CCM_TX_INFO,346 IFLA_BRIDGE_CFM_CC_CCM_TX_INFO,
347 IFLA_BRIDGE_CFM_CC_PEER_MEP_INFO,347 IFLA_BRIDGE_CFM_CC_PEER_MEP_INFO,
348 IFLA_BRIDGE_CFM_MEP_STATUS_INFO,
349 IFLA_BRIDGE_CFM_CC_PEER_STATUS_INFO,
348 __IFLA_BRIDGE_CFM_MAX,350 __IFLA_BRIDGE_CFM_MAX,
349};351};
350 352
@@ -424,6 +426,33 @@ enum { · 73 unmodified lines
424 426
425#define IFLA_BRIDGE_CFM_CC_CCM_TX_MAX (__IFLA_BRIDGE_CFM_CC_CCM_TX_MAX - 1)427#define IFLA_BRIDGE_CFM_CC_CCM_TX_MAX (__IFLA_BRIDGE_CFM_CC_CCM_TX_MAX - 1)
426 428
429enum {
430 IFLA_BRIDGE_CFM_MEP_STATUS_UNSPEC,
431 IFLA_BRIDGE_CFM_MEP_STATUS_INSTANCE,
432 IFLA_BRIDGE_CFM_MEP_STATUS_OPCODE_UNEXP_SEEN,
433 IFLA_BRIDGE_CFM_MEP_STATUS_VERSION_UNEXP_SEEN,
434 IFLA_BRIDGE_CFM_MEP_STATUS_RX_LEVEL_LOW_SEEN,
435 __IFLA_BRIDGE_CFM_MEP_STATUS_MAX,
436};
437
438#define IFLA_BRIDGE_CFM_MEP_STATUS_MAX (__IFLA_BRIDGE_CFM_MEP_STATUS_MAX - 1)
439
440enum {
441 IFLA_BRIDGE_CFM_CC_PEER_STATUS_UNSPEC,
442 IFLA_BRIDGE_CFM_CC_PEER_STATUS_INSTANCE,
443 IFLA_BRIDGE_CFM_CC_PEER_STATUS_PEER_MEPID,
444 IFLA_BRIDGE_CFM_CC_PEER_STATUS_CCM_DEFECT,
445 IFLA_BRIDGE_CFM_CC_PEER_STATUS_RDI,
446 IFLA_BRIDGE_CFM_CC_PEER_STATUS_PORT_TLV_VALUE,
447 IFLA_BRIDGE_CFM_CC_PEER_STATUS_IF_TLV_VALUE,
448 IFLA_BRIDGE_CFM_CC_PEER_STATUS_SEEN,
449 IFLA_BRIDGE_CFM_CC_PEER_STATUS_TLV_SEEN,
450 IFLA_BRIDGE_CFM_CC_PEER_STATUS_SEQ_UNEXP_SEEN,
451 __IFLA_BRIDGE_CFM_CC_PEER_STATUS_MAX,
452};
453
454#define IFLA_BRIDGE_CFM_CC_PEER_STATUS_MAX (__IFLA_BRIDGE_CFM_CC_PEER_STATUS_MAX - 1)
455
427struct bridge_stp_xstats {456struct bridge_stp_xstats {
428 __u64 transition_blk;457 __u64 transition_blk;
429 __u64 transition_fwd;458 __u64 transition_fwd;
include/uapi/linux/rtnetlink.h+1−0
@@ -780,6 +780,7 @@ enum { · 779 unmodified lines
780#define RTEXT_FILTER_SKIP_STATS (1 << 3)780#define RTEXT_FILTER_SKIP_STATS (1 << 3)
781#define RTEXT_FILTER_MRP (1 << 4)781#define RTEXT_FILTER_MRP (1 << 4)
782#define RTEXT_FILTER_CFM_CONFIG (1 << 5)782#define RTEXT_FILTER_CFM_CONFIG (1 << 5)
783#define RTEXT_FILTER_CFM_STATUS (1 << 6)
783 784
784/* End of information exported to user level */785/* End of information exported to user level */
785 786