1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_CFM_BRIDGE_H_ 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_CFM_BRIDGE_H_ 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker #include <linux/if_ether.h> 11*8d67ca89SAndroid Build Coastguard Worker #define ETHER_HEADER_LENGTH (6 + 6 + 4 + 2) 12*8d67ca89SAndroid Build Coastguard Worker #define CFM_MAID_LENGTH 48 13*8d67ca89SAndroid Build Coastguard Worker #define CFM_CCM_PDU_LENGTH 75 14*8d67ca89SAndroid Build Coastguard Worker #define CFM_PORT_STATUS_TLV_LENGTH 4 15*8d67ca89SAndroid Build Coastguard Worker #define CFM_IF_STATUS_TLV_LENGTH 4 16*8d67ca89SAndroid Build Coastguard Worker #define CFM_IF_STATUS_TLV_TYPE 4 17*8d67ca89SAndroid Build Coastguard Worker #define CFM_PORT_STATUS_TLV_TYPE 2 18*8d67ca89SAndroid Build Coastguard Worker #define CFM_ENDE_TLV_TYPE 0 19*8d67ca89SAndroid Build Coastguard Worker #define CFM_CCM_MAX_FRAME_LENGTH (ETHER_HEADER_LENGTH + CFM_CCM_PDU_LENGTH + CFM_PORT_STATUS_TLV_LENGTH + CFM_IF_STATUS_TLV_LENGTH) 20*8d67ca89SAndroid Build Coastguard Worker #define CFM_FRAME_PRIO 7 21*8d67ca89SAndroid Build Coastguard Worker #define CFM_CCM_TLV_OFFSET 70 22*8d67ca89SAndroid Build Coastguard Worker #define CFM_CCM_PDU_MAID_OFFSET 10 23*8d67ca89SAndroid Build Coastguard Worker #define CFM_CCM_PDU_MEPID_OFFSET 8 24*8d67ca89SAndroid Build Coastguard Worker #define CFM_CCM_PDU_SEQNR_OFFSET 4 25*8d67ca89SAndroid Build Coastguard Worker #define CFM_CCM_PDU_TLV_OFFSET 74 26*8d67ca89SAndroid Build Coastguard Worker #define CFM_CCM_ITU_RESERVED_SIZE 16 27*8d67ca89SAndroid Build Coastguard Worker struct br_cfm_common_hdr { 28*8d67ca89SAndroid Build Coastguard Worker __u8 mdlevel_version; 29*8d67ca89SAndroid Build Coastguard Worker __u8 opcode; 30*8d67ca89SAndroid Build Coastguard Worker __u8 flags; 31*8d67ca89SAndroid Build Coastguard Worker __u8 tlv_offset; 32*8d67ca89SAndroid Build Coastguard Worker }; 33*8d67ca89SAndroid Build Coastguard Worker enum br_cfm_opcodes { 34*8d67ca89SAndroid Build Coastguard Worker BR_CFM_OPCODE_CCM = 0x1, 35*8d67ca89SAndroid Build Coastguard Worker }; 36*8d67ca89SAndroid Build Coastguard Worker enum br_cfm_domain { 37*8d67ca89SAndroid Build Coastguard Worker BR_CFM_PORT, 38*8d67ca89SAndroid Build Coastguard Worker BR_CFM_VLAN, 39*8d67ca89SAndroid Build Coastguard Worker }; 40*8d67ca89SAndroid Build Coastguard Worker enum br_cfm_mep_direction { 41*8d67ca89SAndroid Build Coastguard Worker BR_CFM_MEP_DIRECTION_DOWN, 42*8d67ca89SAndroid Build Coastguard Worker BR_CFM_MEP_DIRECTION_UP, 43*8d67ca89SAndroid Build Coastguard Worker }; 44*8d67ca89SAndroid Build Coastguard Worker enum br_cfm_ccm_interval { 45*8d67ca89SAndroid Build Coastguard Worker BR_CFM_CCM_INTERVAL_NONE, 46*8d67ca89SAndroid Build Coastguard Worker BR_CFM_CCM_INTERVAL_3_3_MS, 47*8d67ca89SAndroid Build Coastguard Worker BR_CFM_CCM_INTERVAL_10_MS, 48*8d67ca89SAndroid Build Coastguard Worker BR_CFM_CCM_INTERVAL_100_MS, 49*8d67ca89SAndroid Build Coastguard Worker BR_CFM_CCM_INTERVAL_1_SEC, 50*8d67ca89SAndroid Build Coastguard Worker BR_CFM_CCM_INTERVAL_10_SEC, 51*8d67ca89SAndroid Build Coastguard Worker BR_CFM_CCM_INTERVAL_1_MIN, 52*8d67ca89SAndroid Build Coastguard Worker BR_CFM_CCM_INTERVAL_10_MIN, 53*8d67ca89SAndroid Build Coastguard Worker }; 54*8d67ca89SAndroid Build Coastguard Worker #endif 55