📄 encdec.h
字号:
struct mplsLdpTlv_s baseTlv;
union { struct mplsLdpAtmLblFlag_s flags;
unsigned short mark;
} flags;
unsigned short vci;
} mplsLdpAtmLblTlv_t;
/***********************************************************************
Frame Relay Label Tlv encoding
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| Frame Relay Label (0x0202)| Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |Len| DLCI |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
draft-ietf-mpls-ldp-11.txt page 40
***********************************************************************/
typedef struct mplsLdpFrLblFlag_s
{
BITFIELDS_ASCENDING_3( unsigned long res :7,
unsigned long len :2,
unsigned long dlci:23 )
} mplsLdpFrLblFlag_t;
typedef struct mplsLdpFrLblTlv_s
{
struct mplsLdpTlv_s baseTlv;
union { struct mplsLdpFrLblFlag_s flags;
unsigned long mark;
} flags;
} mplsLdpFrLblTlv_t;
/***********************************************************************
Hop Count Tlv encoding
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| Hop Count (0x0103) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| HC Value |
+-+-+-+-+-+-+-+-+
draft-ietf-mpls-ldp-11.txt page 41
***********************************************************************/
typedef struct mplsLdpHopTlv_s
{
struct mplsLdpTlv_s baseTlv;
unsigned char hcValue; /* hop count value */
} mplsLdpHopTlv_t;
/***********************************************************************
Path Vector Tlv encoding
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| Path Vector (0x0104) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LSR Id 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LSR Id n |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
draft-ietf-mpls-ldp-11.txt page 43
***********************************************************************/
typedef struct mplsLdpPathTlv_s
{
struct mplsLdpTlv_s baseTlv;
unsigned long lsrId[MPLS_MAXHOPSNUMBER];
} mplsLdpPathTlv_t;
/***********************************************************************
Lbl request message id Tlv encoding
draft-ietf-mpls-ldp-11.txt page 69
***********************************************************************/
/* typedef struct mplsLdpLblMsgIdTlv_s
{
struct mplsLdpTlv_s baseTlv;
unsigned long msgId;
} mplsLdpLblMsgIdTlv_t;
*/
/***********************************************************************
Preemption Tlv encoding
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| Preemption-TLV (0x0820) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SetPrio | HoldPrio | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
draft-ietf-mpls-crldp-04.txt page 17
***********************************************************************/
typedef struct mplsLdpPreemptTlv_s
{
struct mplsLdpTlv_s baseTlv;
unsigned char setPrio; /* 0 => most important path */
unsigned char holdPrio; /* 0 => most important path */
unsigned short res;
} mplsLdpPreemptTlv_t;
/***********************************************************************
Resource class Tlv encoding
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| ResCls-TLV (0x0822) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RsCls |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
draft-ietf-mpls-crldp-04.txt page 19
***********************************************************************/
typedef struct mplsLdpResClsTlv_s
{
struct mplsLdpTlv_s baseTlv;
unsigned long rsCls; /* resource class bit mask */
} mplsLdpResClsTlv_t;
/***********************************************************************
Lbl return message id Tlv encoding
***********************************************************************/
/*
typedef struct mplsLdpRetMsgIdTlv_s
{
struct mplsLdpTlv_s baseTlv;
} mplsLdpLblRetMsgIdTlv_t;
*/
/* wengqing 2k/11/24 */
/***********************************************************************
ER flag structure which is common to IPV4 and IPV6 ER TLV
draft-ietf-mpls-crldp-04.txt page 20
***********************************************************************/
typedef struct mplsLdpErIPFlag_s
{
BITFIELDS_ASCENDING_3( unsigned long l :1 , /* 0 => loose hop */
unsigned long res :23,
unsigned long preLen:8 )
} mplsLdpErIPFlag_t;
/***********************************************************************
ER flag structure which is common to AS and LSPID ER TLV
draft-ietf-mpls-crldp-04.txt page 21
***********************************************************************/
typedef struct mplsLdpErFlag_s
{
BITFIELDS_ASCENDING_2( unsigned short l :1 , /* 0 => loose hop */
unsigned short res :15 )
} mplsLdpErFlag_t;
/***********************************************************************
Explicit Routing IPv4 Tlv encoding
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| 0x801 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Reserved | PreLen |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 Address (4 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
draft-ietf-mpls-crldp-04.txt page 20
***********************************************************************/
typedef struct mplsLdpErIpv4_s
{
struct mplsLdpTlv_s baseTlv;
union { struct mplsLdpErIPFlag_s flags;
unsigned long mark;
} flags;
unsigned long address;
} mplsLdpErIpv4_t;
/***********************************************************************
Explicit Routing IPv6 Tlv encoding
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| 0x802 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Reserved | PreLen |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPV6 address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPV6 address (continued) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPV6 address (continued) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPV6 address (continued) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
draft-ietf-mpls-crldp-04.txt page 20
***********************************************************************/
typedef struct mplsLdpErIpv6_s
{
struct mplsLdpTlv_s baseTlv;
union { struct mplsLdpErIPFlag_s flags;
unsigned long mark;
} flags;
unsigned char address[MPLS_IPV6ADRLENGTH];
} mplsLdpErIpv6_t;
/***********************************************************************
Explicit Routing Autonomous systen number Tlv encoding
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| 0x803 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Reserved | AS Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
draft-ietf-mpls-crldp-04.txt page 21
***********************************************************************/
typedef struct mplsLdpErAs_s
{
struct mplsLdpTlv_s baseTlv;
union { struct mplsLdpErFlag_s flags;
unsigned short mark;
} flags;
unsigned short asNumber;
} mplsLdpErAs_t;
/***********************************************************************
Explicit Routing LSPID Tlv encoding
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| 0x804 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Reserved | Local LSPID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress LSR Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
draft-ietf-mpls-crldp-04.txt page 21
***********************************************************************/
typedef struct mplsLdpErLspId_s
{
struct mplsLdpTlv_s baseTlv;
union { struct mplsLdpErFlag_s flags;
unsigned short mark;
} flags;
unsigned short lspid;
unsigned long routerId;
} mplsLdpErLs
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -