mpls_lm_dm_pkt.h (3139B)
1 /* 2 * 3 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 4 * 5 * Copyright 2007-2019 Broadcom Inc. All rights reserved. 6 * 7 * File: mpls_lm_dm_pkt.h 8 * Purpose: MPLS_LM_DM Packet Format definitions 9 * common to SDK and uKernel. 10 */ 11 12 #ifndef _SOC_SHARED_MPLS_LM_DM_PKT_H_ 13 #define _SOC_SHARED_MPLS_LM_DM_PKT_H_ 14 15 #ifdef BCM_UKERNEL 16 /* Build for uKernel not SDK */ 17 #include "sdk_typedefs.h" 18 #else 19 #include <sal/types.h> 20 #endif 21 #include <shared/pack.h> 22 23 /* 24 * Network Packet Format definitions 25 * 26 * Note: LENGTH is specified in bytes unless noted otherwise 27 */ 28 29 /* MPLS_LM_DM OLP HEADER LENGTH Tx */ 30 #define MPLS_LM_DM_OLP_L2_HDR_LEN 18 31 #define MPLS_LM_DM_OLP_OAM_HDR_LEN 16 32 #define MPLS_LM_DM_OLP_HDR_LEN (MPLS_LM_DM_OLP_L2_HDR_LEN + \ 33 MPLS_LM_DM_OLP_OAM_HDR_LEN) 34 /* MPLS_LM_DM OLP HEADER LENGTH Rx */ 35 #define MPLS_LM_DM_OLP_OAM_HDR_LEN_RX 20 36 #define MPLS_LM_DM_OLP_HDR_LEN_RX (MPLS_LM_DM_OLP_L2_HDR_LEN + \ 37 MPLS_LM_DM_OLP_OAM_HDR_LEN_RX) 38 39 /* MPLS_LM_DM Control Packet lengths */ 40 #define SHR_MPLS_LM_DM_HEADER_LENGTH 4 41 #define SHR_MPLS_LM_DM_ACH_LENGTH 4 42 #define SHR_MPLS_LM_DM_ACH_TYPE_LENGTH 2 43 44 /* Associated Channel Header */ 45 #define SHR_MPLS_LM_DM_ACH_FIRST_NIBBLE 0x1 46 #define SHR_MPLS_LM_DM_ACH_VERSION 0x0 47 48 /* ACH Types for MPLS LM/DM Feature */ 49 #define SHR_MPLS_LM_DM_ACH_TYPE_DLM 0x000A 50 #define SHR_MPLS_LM_DM_ACH_TYPE_ILM 0x000B 51 #define SHR_MPLS_LM_DM_ACH_TYPE_DM 0x000C 52 #define SHR_MPLS_LM_DM_ACH_TYPE_DLM_DM 0x000D 53 #define SHR_MPLS_LM_DM_ACH_TYPE_ILM_DM 0x000E 54 55 /* Msg Flags */ 56 #define SHR_MPLS_LM_DM_FLAG_PKT_TYPE_DLM (1<<0) 57 #define SHR_MPLS_LM_DM_FLAG_PKT_TYPE_DM (1<<1) 58 #define SHR_MPLS_LM_DM_FLAG_PKT_TYPE_DLM_DM (1<<2) 59 #define SHR_MPLS_LM_DM_FLAG_PKT_TYPE_ILM (1<<3) 60 #define SHR_MPLS_LM_DM_FLAG_PKT_TYPE_ILM_DM (1<<4) 61 #define SHR_MPLS_LM_DM_FLAG_PKT_TYPE_COMBINED (1<<5) 62 63 #define SHR_MPLS_LM_DM_PASSIVE_FLAG (1<<6) 64 #define SHR_MPLS_LM_DM_SINGLE_ENDED_FLAG (1<<7) 65 66 #define SHR_MPLS_LM_DM_FLAG_LOSS_ADDED (1<<8) 67 #define SHR_MPLS_LM_DM_FLAG_DELAY_ADDED (1<<9) 68 69 #define SHR_MPLS_LM_DM_BYTE_COUNT_FLAG (1<<10) 70 #define SHR_MPLS_LM_DM_64_BIT_FLAG (1<<11) 71 72 /* Init Flags */ 73 #define SHR_MPLS_LM_DM_PM_MODE_RAW (1<<0) 74 #define SHR_MPLS_LM_DM_PM_MODE_STATS (1<<1) 75 76 77 /* ACH type Mask */ 78 #define SHR_MPLS_LM_DM_PKT_TYPE_MASK 0x001F 79 80 /* MPLS */ 81 #define SHR_MPLS_LM_DM_MPLS_ROUTER_ALERT_LABEL 1 82 #define SHR_MPLS_LM_DM_MPLS_GAL_LABEL 13 83 #define SHR_MPLS_LM_DM_MPLS_PW_LABEL 0xFF 84 #define SHR_MPLS_LM_DM_L2_ETYPE_MPLS_UCAST 0x8847 85 86 #endif /* _SOC_SHARED_MPLS_LM_DM_PKT_H_ */