Thanks for the review. Comments below. The 10/09/2020 22:00, Nikolay Aleksandrov wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > On Fri, 2020-10-09 at 14:35 +0000, Henrik Bjoernlund wrote: > > 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: Henrik Bjoernlund <henrik.bjoernlund@xxxxxxxxxxxxx> > > Reviewed-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx> > > --- > > include/uapi/linux/if_bridge.h | 29 +++++++++ > > include/uapi/linux/rtnetlink.h | 1 + > > net/bridge/br_cfm_netlink.c | 105 +++++++++++++++++++++++++++++++++ > > net/bridge/br_netlink.c | 16 ++++- > > net/bridge/br_private.h | 6 ++ > > 5 files changed, 154 insertions(+), 3 deletions(-) > > > [snip] > > diff --git a/net/bridge/br_cfm_netlink.c b/net/bridge/br_cfm_netlink.c > > index 952b6372874e..94e9b46d5fb4 100644 > > --- a/net/bridge/br_cfm_netlink.c > > +++ b/net/bridge/br_cfm_netlink.c > > @@ -617,3 +617,108 @@ int br_cfm_config_fill_info(struct sk_buff *skb, struct net_bridge *br) > > nla_info_failure: > > return -EMSGSIZE; > > } > > + > > +int br_cfm_status_fill_info(struct sk_buff *skb, struct net_bridge *br) > > +{ > > + struct nlattr *tb; > > + struct br_cfm_mep *mep; > > + struct br_cfm_peer_mep *peer_mep; > > + > > > > Reverse xmas tree here, too. Sorry I missed these earlier. > I chande this as requested. > -- /Henrik