⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 encdec.h

📁 技术文件名称:MPLSv1.0软件模块测试规程
💻 H
📖 第 1 页 / 共 5 页
字号:
      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 + -