📄 mpls.h
字号:
#define LSP_DEL_INDEX_LSPID 1
#define LSP_DEL_INDEX_ADDR 2
/* 用于表示LSP配置过程中的状态: 0: 空,1:正建立,2:建立完毕, 3: 修改, 4: 修改完毕 */
#define LSP_FLAG_NOT_SET 0
#define LSP_FLAG_SETTING 1
#define LSP_FLAG_SETUP_OK 2
#define LSP_FLAG_RESET 3
#define LSP_FLAG_RESET_OK 4
/* down(1),up(2),down表示此LSP建立了或已经发下去,
up表示此LSP已发下去且收到建立成功的消息
用于表示LSP配置完毕后的状态 */
#define LSP_SET_STATUS_DOWN 1 /* ldp detelet and ... */
#define LSP_SET_STATUS_UP 2
/* abort or delete */
#define LSP_SET_STATUS_ABORT 0x4
#define LSP_SET_DOWN_ROUTER_DELETE 0x8 /* LSP IS DOWN WHEN ROUTE is deleted */
#define LSP_SET_UP_ROUTER_DELETE 0x10 /* LSP IS UP WHEN ROUTE is deleted */
#define LSP_SET_SB_OFFLINE 0x20 /* LSP IS UP WHEN ROUTE is deleted */
/* traffic parameter sbp 2001-12-27 */
#define MPLS_OAM_CRLSP_PDR 26
#define MPLS_OAM_CRLSP_PBS 27
#define MPLS_OAM_CRLSP_CDR 28
#define MPLS_OAM_CRLSP_CBS 29
#define MPLS_OAM_CRLSP_EBS 30
#define MPLS_OAM_CRLSP_WEIGHT 31
#define MPLS_OAM_CRLSP_FREQUENCY 32
/* PATH_DYNAMIC: 1; PATH_EXPLICIT: 2 */
#define PATH_DYNAMIC 1
#define PATH_EXPLICIT 2
#define MPLS_NONE 0x0
#define MPLS_INGRESS 0x1
#define MPLS_EGRESS 0x2
#define MPLS_EDGE 0x1
#define MPLS_BACKBONE 0x3
/* end lsp macro */
#define SERVICE_TYPE_CBR 2
#define SERVICE_TYPE_RTVBR 3
#define SERVICE_TYPE_NRTVBR 4
#define SERVICE_TYPE_UBR 6
/* end service type */
/* begin traffic parameter default value */
#define MPLS_PDR_DEFAULT 30000
#define MPLS_PBS_DEFAULT 2000
#define MPLS_CDR_DEFAULT 0
#define MPLS_CBS_DEFAULT 0
#define MPLS_EBS_DEFAULT 0
#define MPLS_WEIGHT_DEFAULT 4
#define FREQUENCY_UNSPECIFIED 0
#define MPLS_FREQUENCY 1 /* SBP 2001-12-27 */
#define MPLS_VERY_FREQUENCY 2 /* SBP 2001-12-27 */
#define MPLS_FREQUENCY_RESERVED 3 /* >=3 RESERVED SBP 2001-12-27 */
/* end traffic parameter default value */
/* fec filter setup(1), hop by hop lsp(2) */
#define LSP_TYPE_FEC 1
#define LSP_TYPE_HOPBYHOP 2
/* get lsp through studying or creating */
#define FECSTUDY 0x1
#define FECROUTECREATE 0x2
/* maximum number of MPLS FEC filters */
#define MAX_MPLS_FEC_FILTER_ITEMS 255
#define MPLS_MAX_QOSPORT 0x0A
#define MPLS_MAX_QOSTOS 0x0A
#define MPLS_MAX_QOSPHY 0x0A
#define MPLS_MAX_QOSTYPE 0x0A
#define MPLS_MAX_QOSSRC 0x0A
#define MPLS_MAX_QOSDSCP 0x0A
#ifndef __INSTALL_V22
/* begin card type macro */
#define MPLS_CARDTYPE_NOUSED (unsigned char)0 /* 空闲 */
#define MPLS_CARDTYPE_MPU (unsigned char)1 /* 主板 */
#define MPLS_CARDTYPE_ASN (unsigned char)2 /* 网板 */
#define MPLS_CARDTYPE_LIC1 (unsigned char)3 /* (1*622)目前提供 */
#define MPLS_CARDTYPE_LIC2 (unsigned char)4 /* (2*622) */
#define MPLS_CARDTYPE_LIC3 (unsigned char)5 /* (4*155)目前提供 */
#define MPLS_CARDTYPE_LIC4 (unsigned char)6 /* (8*155) */
#define MPLS_CARDTYPE_LIC5 (unsigned char)7 /* (1*622+4*155)第一个端口为622,后四个端口为155 */
#define MPLS_CARDTYPE_LIC6 (unsigned char)8 /* (4*155+1*622)前四个端口为155,后一个端口为622 */
#define MPLS_CARDTYPE_LIC7 (unsigned char)9 /* /Lic预留 */
#define MPLS_CARDTYPE_LIC8 (unsigned char)10 /* Lic预留*/
#define MPLS_CARDTYPE_LIC9 (unsigned char)11 /* Lic预留*/
#define MPLS_CARDTYPE_LIC10 (unsigned char)12 /* GEI card */
#define MPLS_CARDTYPE_CES (unsigned char)13 /* 电路仿真(8*E1)目前提供*/
#define MPLS_CARDTYPE_FROA (unsigned char)14 /* 帧中继(8*E1)目前提供*/
#define MPLS_CARDTYPE_LANI (unsigned char)15 /* 局域网 目前提供*/
#define MPLS_CARDTYPE_IMA (unsigned char)16 /* IMA(8*E1)目前提供*/
#define MPLS_CARDTYPE_MPP (unsigned char)17 /* 服务器 */
#define MPLS_CARDTYPE_ETH (unsigned char)18 /* 以太网*/
#define MPLS_CARDTYPE_POSI (unsigned char)19 /* POSI*/
#define MPLS_CARDTYPE_QESI (unsigned char)20 /* 4*E3 CES */
#define MPLS_CARDTYPE_PCSI (unsigned char)21 /* E3TP25纯信元(2*E3 2*25M)目前提供*/
#define MPLS_CARDTYPE_DVXI (unsigned char)22 /* 2*SerialPort(V24 or V35)目前提供*/
#define MPLS_CARDTYPE_OVXI (unsigned char)23 /* 8*SerialPort(V24 or V35)目前提供*/
#define MPLS_CARDTYPE_E3PC (unsigned char)24 /* E3纯信元(2*E3)目前提供 */
#define MPLS_CARDTYPE_25MPC (unsigned char)25 /* TP25纯信元(2*25M)目前提供 */
#define MPLS_CARDTYPE_SESI (unsigned char)26
#define MPLS_CARDTYPE_VDEC (unsigned char)30 /* 视频 */
#define MPLS_CARDTYPE_VENC (unsigned char)31 /* 视频 */
#define MPLS_CARDTYPE_ETHIF (unsigned char)32 //以太网
#define MPLS_CARDTYPE_EISI (unsigned char)33 //EISI板
/* end board type macro */
#endif
#ifdef __INSTALL_V22
/* begin card type macro */
#define MPLS_SBCARD_BEGIN (unsigned char)0
#define MPLS_SBCARD_END (unsigned char)99
#define MPLS_CARDTYPE_CES (unsigned char)MPLS_SBCARD_BEGIN+13 //电路仿真(8*E1)目前提供
#define MPLS_CARDTYPE_FROA (unsigned char)MPLS_SBCARD_BEGIN+14 //帧中继(8*E1)目前提供
#define MPLS_CARDTYPE_LANI (unsigned char)MPLS_SBCARD_BEGIN+15 //局域网 目前提供
#define MPLS_CARDTYPE_IMA (unsigned char)MPLS_SBCARD_BEGIN+16 //IMA(8*E1)目前提供
#define MPLS_CARDTYPE_MPP (unsigned char)MPLS_SBCARD_BEGIN+17 //服务器
#define MPLS_CARDTYPE_ETH (unsigned char)MPLS_SBCARD_BEGIN+18 //以太网
#define MPLS_CARDTYPE_POSI (unsigned char)MPLS_SBCARD_BEGIN+19 //POSI
#define MPLS_CARDTYPE_QESI (unsigned char)MPLS_SBCARD_BEGIN+20 //4*E3 CES
#define MPLS_CARDTYPE_PCSI (unsigned char)MPLS_SBCARD_BEGIN+21 //E3TP25纯信元(2*E3 2*25M)目前提供
#define MPLS_CARDTYPE_DVXI (unsigned char)MPLS_SBCARD_BEGIN+22 //2*SerialPort(V24 or V35)目前提供
#define MPLS_CARDTYPE_OVXI (unsigned char)MPLS_SBCARD_BEGIN+23 //8*SerialPort(V24 or V35)目前提供
#define MPLS_CARDTYPE_E3PC (unsigned char)MPLS_SBCARD_BEGIN+24 //E3纯信元(2*E3)目前提供
#define MPLS_CARDTYPE_25MPC (unsigned char)MPLS_SBCARD_BEGIN+25 //TP25纯信元(2*25M)目前提供
#define MPLS_CARDTYPE_SESI (unsigned char)MPLS_SBCARD_BEGIN+26
#define MPLS_CARDTYPE_V35I (unsigned char)MPLS_SBCARD_BEGIN+27 //V35I
#define MPLS_CARDTYPE_VDEC (unsigned char)MPLS_SBCARD_BEGIN+30 //视频
#define MPLS_CARDTYPE_VENC (unsigned char)MPLS_SBCARD_BEGIN+31 //视频
#define MPLS_CARDTYPE_ETHIF (unsigned char)MPLS_SBCARD_BEGIN+32 //以太网
#define MPLS_CARDTYPE_EISI (unsigned char)MPLS_SBCARD_BEGIN+33 //EISI板
/* lingmiao added 2002-10-17 9:37 */
#define MPLS_CARDTYPE_MCIS (unsigned char)MPLS_SBCARD_BEGIN+34 //32*2M MCIS板
#define MPLS_CARDTYPE_D3EC (unsigned char)MPLS_SBCARD_BEGIN+35 //2*34M D3EC板
/* 6~15 used by MPU MMU XMF and all else */
#define MPLS_LIC_BEGIN (unsigned char)100
#define MPLS_LIC_END (unsigned char)255
#define MPLS_CARDTYPE_NOUSED (unsigned char)MPLS_LIC_BEGIN+0 //空闲
/* 1~5 used by ASN ASM and all else */
#define MPLS_CARDTYPE_ASN (unsigned char)MPLS_LIC_BEGIN+1 //网板
#define MPLS_MPU_END (unsigned char)MPLS_LIC_BEGIN+15
#define MPLS_CARDTYPE_MPU (unsigned char)MPLS_LIC_BEGIN+6 //主板
#define MPLS_CARDTYPE_MPUA (unsigned char)MPLS_LIC_BEGIN+7 //主板
/* 16~40 used by LIC used in AX BX */
#define MPLS_CARDTYPE_LIC1 (unsigned char)MPLS_LIC_BEGIN+16 // (1*622)目前提供
#define MPLS_CARDTYPE_LIC2 (unsigned char)MPLS_LIC_BEGIN+17 // (2*622)
#define MPLS_CARDTYPE_LIC3 (unsigned char)MPLS_LIC_BEGIN+18 // (4*155)目前提供
#define MPLS_CARDTYPE_LIC4 (unsigned char)MPLS_LIC_BEGIN+19 // (8*155)
#define MPLS_CARDTYPE_LIC5 (unsigned char)MPLS_LIC_BEGIN+20 // (1*622+4*155)第一个端口为622,后四个端口为155
#define MPLS_CARDTYPE_LIC6 (unsigned char)MPLS_LIC_BEGIN+21 // (4*155+1*622)前四个端口为155,后一个端口为622
#define MPLS_CARDTYPE_LIC7 (unsigned char)MPLS_LIC_BEGIN+22 // (1*622-4 )目前提供
#define MPLS_CARDTYPE_LIC8 (unsigned char)MPLS_LIC_BEGIN+23 // (2*622-8 )目前提供
#define MPLS_CARDTYPE_LIC9 (unsigned char)MPLS_LIC_BEGIN+24 // DLICE 2*155(光口)+ 2*155(电口)
#define MPLS_CARDTYPE_DLICE2 (unsigned char)MPLS_LIC_BEGIN+25 // DLICE 2*155(光口)+ 2*155(电口),子板与DLICE不一样
/* 41~80 used by APCLIC Gei Smpp and all else */
#define MPLS_APCLIC_BEGIN (unsigned char)MPLS_LIC_BEGIN+41
#define MPLS_APCLIC_END (unsigned char)MPLS_LIC_BEGIN+80
#define MPLS_CARDTYPE_ALC (unsigned char)MPLS_LIC_BEGIN+41 // (4*155)APC
#define MPLS_CARDTYPE_ALCE (unsigned char)MPLS_LIC_BEGIN+42 // 2*155(光口)+ 2*155(电口)APC
#define MPLS_CARDTYPE_ALC4 (unsigned char)MPLS_LIC_BEGIN+43 // (1*622)APC
#define MPLS_CARDTYPE_ALC4C (unsigned char)MPLS_LIC_BEGIN+44 // (1*622)4*155级联APC
#define MPLS_CARDTYPE_ADLC (unsigned char)MPLS_LIC_BEGIN+45 // (8*155)APC
#define MPLS_CARDTYPE_ADLC4 (unsigned char)MPLS_LIC_BEGIN+46 // (2*622)APC
#define MPLS_CARDTYPE_ADLC4C (unsigned char)MPLS_LIC_BEGIN+47 // (2*622-4 )级联APC
/* 81~100 Gei Smpp and something else */
#define MPLS_GEICARD_END (unsigned char)MPLS_LIC_BEGIN+100
#define MPLS_CARDTYPE_GEI (unsigned char)MPLS_LIC_BEGIN+81
#define MPLS_CARDTYPE_LIC10 (unsigned char)MPLS_CARDTYPE_GEI // GEI板千兆口
#define MPLS_CARDTYPE_SMPP (unsigned char)MPLS_LIC_BEGIN+82 //
#define MPLS_CARDTYPE_OFEC (unsigned char)MPLS_LIC_BEGIN+83 //
#define MPLS_CARDTYPE_QPSC (unsigned char)MPLS_LIC_BEGIN+84 //
#define MPLS_CARDTYPE_SGEC (unsigned char)MPLS_LIC_BEGIN+85 //
/* end board type macro */
#endif
/* begin MPLS FEC filter macro */
#define MPLS_FEC_FILTER_NONE (unsigned char)0
#define MPLS_FEC_FILTER_ENABLE_ALL (unsigned char)1
#define MPLS_FEC_FILTER_ENABLE_PART (unsigned char)2
#define MPLS_FEC_FILTER_DISABLE_ALL (unsigned char)3
#define MPLS_FEC_FILTER_DISABLE_PART (unsigned char)4
#define MPLS_FEC_FILTER_ENABLE_SINGLE (unsigned char)5
#define MPLS_FEC_FILTER_DISABLE_SINGLE (unsigned char)6
#define MPLS_FEC_FILTER_SEARCH (unsigned char)1
#define MPLS_FEC_FILTER_CONFIG (unsigned char)2
#define MPLS_FEC_FILTER_PERMIT (unsigned char)3
#define MPLS_FEC_FILTER_DENY (unsigned char)4
#define MPLS_NOT_ADVERTISE_LBLS 1
#define MPLS_ADVERTISE_LBLS 2
/* end MPLS FEC filter macro */
typedef struct{
unsigned char module;
unsigned char port;
}MPLS_PACK InterfaceNoCardtype_t;
typedef struct{
unsigned char ErlspFlag; /*wight, PDR,PBS,CDR,CBS,CBS的协商标志位,对应情况如下示:
/* 7 6 5 4 3 2 1 0
res|res|weight|EBS|CBS|CDR|PBS|PDR| */
unsigned char ErlspFreq; /*frequency,*/
unsigned char ErlspWeight; /* weight*/
unsigned long ErlspPdr; /*traffic parameter的内容*/
unsigned long ErlspPbs;
unsigned long ErLspCdr;
unsigned long ErlspCbs;
unsigned long ErlspEbs;
}MPLS_PACK mplsLdpTraffic_t;
typedef struct{
unsigned long addr;
unsigned char addrType; /* 0: ipv4, 1: ipv6 is it here ?*/
union{
unsigned char addrLen;
unsigned long addrMask;
}mask;
unsigned char routeType; /* 0: strict; 1: loose */
unsigned char nodeType; /* 0: iPv4, 1: ipv6, 2: ERhop-as, 3: Erhop-lspid */
}MPLS_PACK ErLspAddr_t;
#if 0 /* szh mod 2002-6-18 14:12 */
/* LSP控制块序号数据结构 */
typedef struct lspCBNo_s {
unsigned char module;
unsigned short port; /* add wengqing 2001-12-16 */
unsigned long no; /* no就是静态链表的下标 */
}MPLS_PACK lspCBNo_t;
#endif
typedef struct{
unsigned long IpAddr;
unsigned char addrType; /* 0: ipv4, 1: ipv6 is it here ?*/
unsigned char fecType;
union{
unsigned char addrLen;
unsigned long addrMask;
}mask;
}MPLS_PACK hopLspAddr_t;
typedef struct{
unsigned char ErlspSetPrio; /* preemption 建立优先级 */
unsigned char ErlspHoldPrio; /* preemption 保持优先级 */
}MPLS_PACK mplsLdpPreemption_t;
#include"_restore.h"
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -