亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ldp_pdu_setup.c

?? Linux平臺下
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* *  Copyright (C) James R. Leu 2000 *  jleu@mindspring.com * *  This software is covered under the LGPL, for more *  info check out http://www.gnu.org/copyleft/lgpl.html */    #include "ldp_struct.h"#include "ldp_pdu_setup.h"void setBaseMsgId(mplsLdpMsg_t * baseMsg, unsigned int msgId){  baseMsg->msgId = msgId;}void setupBaseMsg(mplsLdpMsg_t * baseMsg, unsigned int type, int uBit,  unsigned int msgId){  baseMsg->flags.flags.msgType = type;  baseMsg->flags.flags.uBit = uBit;  baseMsg->msgLength = MPLS_MSGIDFIXLEN;  setBaseMsgId(baseMsg, msgId);}int setupChpTlv(mplsLdpChpTlv_t * chpTlv, int target, int request, int res,  int holdTime){  chpTlv->baseTlv.flags.flags.tBit = MPLS_CHP_TLVTYPE;  chpTlv->baseTlv.flags.flags.uBit = 0;  chpTlv->baseTlv.flags.flags.fBit = 0;  chpTlv->baseTlv.length = MPLS_CHPFIXLEN;  chpTlv->flags.flags.target = target;  chpTlv->flags.flags.request = request;  chpTlv->flags.flags.res = res;  chpTlv->holdTime = holdTime;  return MPLS_TLVFIXLEN + MPLS_CHPFIXLEN;}int setupPinningTlv(mplsLdpPinningTlv_t * pinningTlv, int pBit, int res){  pinningTlv->baseTlv.flags.flags.tBit = MPLS_PINNING_TLVTYPE;  pinningTlv->baseTlv.flags.flags.uBit = 0;  pinningTlv->baseTlv.flags.flags.fBit = 0;  pinningTlv->baseTlv.length = 4;  pinningTlv->flags.flags.pBit = pBit;  pinningTlv->flags.flags.res = res;  return 4 + MPLS_TLVFIXLEN;}int setupResClassTlv(mplsLdpResClsTlv_t * resClsTlv, unsigned int rsCls){  resClsTlv->baseTlv.flags.flags.tBit = MPLS_RESCLASS_TLVTYPE;  resClsTlv->baseTlv.flags.flags.uBit = 0;  resClsTlv->baseTlv.flags.flags.fBit = 0;  resClsTlv->baseTlv.length = 4;  resClsTlv->rsCls = rsCls;  return 4 + MPLS_TLVFIXLEN;}int setupPreemptTlv(mplsLdpPreemptTlv_t * preemptTlv, unsigned char setPrio,  unsigned char holdPrio, unsigned short res){  preemptTlv->baseTlv.flags.flags.tBit = MPLS_PREEMPT_TLVTYPE;  preemptTlv->baseTlv.flags.flags.uBit = 0;  preemptTlv->baseTlv.flags.flags.fBit = 0;  preemptTlv->baseTlv.length = MPLS_PREEMPTTLV_FIXLEN;  preemptTlv->setPrio = setPrio;  preemptTlv->holdPrio = holdPrio;  preemptTlv->res = res;  return MPLS_PREEMPTTLV_FIXLEN + MPLS_TLVFIXLEN;}int addErHop2ErHopTvl(mplsLdpErTlv_t * erHopTlv, mplsLdpErHop_t * erHop,  unsigned short type){  int num = erHopTlv->numberErHops;  int result = 0;  memcpy(&(erHopTlv->erHopArray[num]), erHop, sizeof(mplsLdpErHop_t));  erHopTlv->erHopTypes[num] = type;  erHopTlv->numberErHops++;  switch (type) {    case MPLS_ERHOP_IPV4_TLVTYPE:      result = MPLS_ERHOP_IPV4_FIXLEN;      break;    case MPLS_ERHOP_IPV6_TLVTYPE:      result = MPLS_ERHOP_IPV6_FIXLEN;      break;    case MPLS_ERHOP_AS_TLVTYPE:      result = MPLS_ERHOP_AS_FIXLEN;      break;    case MPLS_ERHOP_LSPID_TLVTYPE:      result = MPLS_ERHOP_LSPID_FIXLEN;      break;  }  return result + MPLS_TLVFIXLEN;}int setupErHopTlv(mplsLdpErTlv_t * erHopTlv){  erHopTlv->baseTlv.flags.flags.tBit = MPLS_ERHOP_IPV4_TLVTYPE;  erHopTlv->baseTlv.flags.flags.uBit = 0;  erHopTlv->baseTlv.flags.flags.fBit = 0;  erHopTlv->baseTlv.length = 0;  return MPLS_TLVFIXLEN;}int setupTrAddrTlv(mplsLdpTrAdrTlv_t * trAddrTlv, unsigned int trAddr){  trAddrTlv->baseTlv.flags.flags.tBit = MPLS_TRADR_TLVTYPE;  trAddrTlv->baseTlv.flags.flags.uBit = 0;  trAddrTlv->baseTlv.flags.flags.fBit = 0;  trAddrTlv->baseTlv.length = MPLS_TRADRFIXLEN;  trAddrTlv->address = trAddr;  return MPLS_TRADRFIXLEN + MPLS_TLVFIXLEN;}int setupCsnTlv(mplsLdpCsnTlv_t * csnTlv, unsigned int confSeqNum){  csnTlv->baseTlv.flags.flags.tBit = MPLS_CSN_TLVTYPE;  csnTlv->baseTlv.flags.flags.uBit = 0;  csnTlv->baseTlv.flags.flags.fBit = 0;  csnTlv->baseTlv.length = MPLS_CSNFIXLEN;  csnTlv->seqNumber = confSeqNum;  return MPLS_CSNFIXLEN + MPLS_TLVFIXLEN;}int setupCspTlv(mplsLdpCspTlv_t * cspTlv, uint16_t keepalive,  uint8_t adv_discp, uint8_t loop, uint8_t pvl, uint16_t mtu,  uint32_t remote_lsraddr, uint16_t remote_labelspace, uint32_t res){  cspTlv->baseTlv.flags.flags.tBit = MPLS_CSP_TLVTYPE;  cspTlv->baseTlv.flags.flags.uBit = 0;  cspTlv->baseTlv.flags.flags.fBit = 0;  cspTlv->baseTlv.length = MPLS_CSPFIXLEN;  cspTlv->protocolVersion = 1;  cspTlv->holdTime = keepalive;  cspTlv->flags.flags.lad = adv_discp;  cspTlv->flags.flags.ld = loop;  cspTlv->flags.flags.res = res;  cspTlv->flags.flags.pvl = pvl;  cspTlv->maxPduLen = mtu;  cspTlv->rcvLsrAddress = remote_lsraddr;  cspTlv->rcvLsId = remote_labelspace;  return MPLS_CSPFIXLEN + MPLS_TLVFIXLEN;}int addLblRng2AspTlv(mplsLdpAspTlv_t * aspTlv, unsigned int minvpi,  unsigned int minvci, unsigned int maxvpi, unsigned int maxvci){  int num = aspTlv->baseTlv.length / MPLS_ASPFIXLEN;  aspTlv->baseTlv.length += MPLS_ASPFIXLEN;  aspTlv->lblRngList[num].flags.flags.res1 = 0;  aspTlv->lblRngList[num].flags.flags.minVpi = minvpi;  aspTlv->lblRngList[num].flags.flags.minVci = minvci;  aspTlv->lblRngList[num].flags.flags.res2 = 0;  aspTlv->lblRngList[num].flags.flags.maxVpi = maxvpi;  aspTlv->lblRngList[num].flags.flags.maxVci = maxvci;  return MPLS_ASPFIXLEN;}int addLblRng2FspTlv(mplsLdpFspTlv_t * fspTlv, unsigned int resmin,  unsigned int len, unsigned int mindlci, unsigned int resmax,  unsigned int maxdlci){  int num = fspTlv->baseTlv.length / MPLS_FSPFIXLEN;  fspTlv->baseTlv.length += MPLS_FSPFIXLEN;  fspTlv->lblRngList[num].flags.flags.res_min = resmin;  fspTlv->lblRngList[num].flags.flags.len = len;  fspTlv->lblRngList[num].flags.flags.minDlci = mindlci;  fspTlv->lblRngList[num].flags.flags.res_max = resmax;  fspTlv->lblRngList[num].flags.flags.maxDlci = maxdlci;  return MPLS_FSPFIXLEN;}int setupAspTlv(mplsLdpAspTlv_t * aspTlv, uint8_t merge, uint8_t direction){  aspTlv->baseTlv.flags.flags.tBit = MPLS_ASP_TLVTYPE;  aspTlv->baseTlv.flags.flags.uBit = 0;  aspTlv->baseTlv.flags.flags.fBit = 0;  aspTlv->flags.flags.dir = direction;  aspTlv->flags.flags.mergeType = merge;  aspTlv->baseTlv.length = 0;  return MPLS_TLVFIXLEN;}int setupFspTlv(mplsLdpFspTlv_t * fspTlv, uint8_t merge, uint8_t direction){  fspTlv->baseTlv.flags.flags.tBit = MPLS_FSP_TLVTYPE;  fspTlv->baseTlv.flags.flags.uBit = 0;  fspTlv->baseTlv.flags.flags.fBit = 0;  fspTlv->flags.flags.dir = direction;  fspTlv->flags.flags.mergeType = merge;  fspTlv->baseTlv.length = 0;  return MPLS_TLVFIXLEN;}int setupFecTlv(mplsLdpFecTlv_t * fecTlv){  fecTlv->baseTlv.flags.flags.tBit = MPLS_FEC_TLVTYPE;  fecTlv->baseTlv.flags.flags.uBit = 0;  fecTlv->baseTlv.flags.flags.fBit = 0;  fecTlv->baseTlv.length = 0;  fecTlv->wcElemExists = 0;  fecTlv->numberFecElements = 0;  return MPLS_TLVFIXLEN;}#if 0  mplsFecElement_t * createFecElemFromFecType(struct mpls_fec * fec){  mplsFecElement_t * fecElem =    (mplsFecElement_t *) malloc(sizeof(mplsFecElement_t));  fecElem->addressEl.type = MPLS_PREFIX_FEC;  fecElem->addressEl.addressFam = 1;  fecElem->addressEl.preLen = fec->len;  fecElem->addressEl.address = fec->prefix;  return fecElem;}mplsFecElement_t * createFecElemFromRoute(routeT * r){  mplsFecElement_t * fecElem =     (mplsFecElement_t *) malloc(sizeof(mplsFecElement_t));  memset(fecElem, 0, sizeof(mplsFecElement_t));  fecElem->addressEl.type = MPLS_PREFIX_FEC;  fecElem->addressEl.addressFam = 1;  fecElem->addressEl.preLen = r->len;  fecElem->addressEl.address = r->prefix;  return fecElem;}#endif /*  */int addFecElem2FecTlv(mplsLdpFecTlv_t * fecTlv, mplsFecElement_t * elem){  int num = fecTlv->numberFecElements;  int size = 0;  switch (elem->addressEl.type) {    case MPLS_PREFIX_FEC:    case MPLS_HOSTADR_FEC:      size = elem->addressEl.preLen / 8;      if (elem->addressEl.preLen % 8)        size++;      size += 4;      break;    case MPLS_CRLSP_FEC:      size = 4;      break;  }  fecTlv->baseTlv.length += size;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看一区日韩| 69精品人人人人| 99天天综合性| 欧美三日本三级三级在线播放| 欧美日韩在线播| 69成人精品免费视频| 国产成人午夜精品5599| 精品区一区二区| 蜜臀国产一区二区三区在线播放| 亚洲综合成人网| 国产电影精品久久禁18| 狠狠狠色丁香婷婷综合激情| 国产一区二区三区视频在线播放| 成人免费福利片| 日韩丝袜美女视频| 日韩码欧中文字| 久久电影网电视剧免费观看| 一本色道久久综合狠狠躁的推荐| 69堂国产成人免费视频| 欧美国产日韩亚洲一区| 性欧美大战久久久久久久久| 成人午夜精品在线| 日韩一区二区三区免费观看 | 久久久久9999亚洲精品| 亚洲欧洲在线观看av| 狠狠狠色丁香婷婷综合久久五月| 欧美性色黄大片手机版| 亚洲国产高清在线观看视频| 天堂va蜜桃一区二区三区| 97超碰欧美中文字幕| 国产一区啦啦啦在线观看| 久久精品国产99久久6| 亚洲第一会所有码转帖| 97久久超碰国产精品| 日韩电影一区二区三区四区| 中文字幕一区二区三区色视频| 欧美日韩dvd在线观看| 视频一区视频二区中文| 亚洲午夜av在线| 欧美xxxx老人做受| 色香色香欲天天天影视综合网| 天天综合日日夜夜精品| 一区二区三区四区国产精品| 美女在线视频一区| 色综合天天天天做夜夜夜夜做| 毛片av中文字幕一区二区| 欧美日韩视频在线一区二区 | 日韩欧美一区中文| 婷婷激情综合网| 欧美日韩一区小说| 亚洲成av人影院在线观看网| 91久久精品一区二区三| 亚洲欧美另类久久久精品 | 午夜影院在线观看欧美| 久久一二三国产| 欧美日韩久久久一区| 欧美中文字幕一区| 欧美日韩国产一级片| 99久久免费国产| 欧美性大战久久久久久久蜜臀 | 午夜精品在线看| 欧美国产一区二区在线观看| 精品福利一区二区三区免费视频| 欧美成人乱码一区二区三区| 欧美tickle裸体挠脚心vk| 亚洲日本va在线观看| 天堂av在线一区| 午夜影院在线观看欧美| 久久久久久久精| 欧美日韩国产片| 91精品国产欧美一区二区18| 亚洲成人免费影院| 国产精品成人在线观看| 天天av天天翘天天综合网色鬼国产| 色婷婷精品久久二区二区蜜臂av | 成人一区二区三区中文字幕| 国产精品天美传媒沈樵| 欧美最猛性xxxxx直播| 日韩av中文字幕一区二区三区 | 亚洲欧美日韩电影| 欧美日韩卡一卡二| 韩国成人福利片在线播放| 国产欧美日韩综合精品一区二区| 成人免费看黄yyy456| 一区二区三区免费网站| 在线欧美日韩精品| 美国欧美日韩国产在线播放| 国产欧美一区二区三区在线老狼| 91麻豆国产福利精品| 亚洲午夜三级在线| 国产性天天综合网| 欧美挠脚心视频网站| 国产麻豆成人传媒免费观看| 亚洲精品欧美专区| 国产精品欧美极品| 免费视频最近日韩| 亚洲精品一线二线三线| 福利一区福利二区| 一区二区三区在线免费播放| 久久精品噜噜噜成人88aⅴ| 欧美色图激情小说| 亚洲国产精品v| 成人精品视频一区二区三区尤物| 337p日本欧洲亚洲大胆精品| 国产一区二区不卡在线| 久久夜色精品一区| 欧美日韩成人高清| 欧美一级在线观看| 亚洲成在人线在线播放| 日本高清免费不卡视频| 久久久亚洲精华液精华液精华液 | 亚洲男人的天堂av| 免费人成精品欧美精品| 国产电影一区在线| 欧美一区二区网站| 26uuu精品一区二区三区四区在线| 欧美激情中文字幕一区二区| 亚洲国产精品久久久久婷婷884| 国产精品99久久久久久宅男| 久久久久久亚洲综合| 欧美影院一区二区| 岛国精品在线观看| 精品中文字幕一区二区小辣椒| 综合欧美亚洲日本| 国产激情一区二区三区四区| 国产三级三级三级精品8ⅰ区| 久久久久久久国产精品影院| 欧美伦理影视网| 欧美网站一区二区| 色屁屁一区二区| 欧美色视频一区| 欧美精品在线视频| 欧美r级电影在线观看| www激情久久| 中文字幕一区二区三区乱码在线| 亚洲三级理论片| 性做久久久久久久免费看| 理论片日本一区| 成人av免费在线播放| 91福利在线播放| 日韩欧美电影在线| 国产精品九色蝌蚪自拍| 亚洲一区二区欧美| 久久99精品一区二区三区三区| 懂色av一区二区夜夜嗨| 91传媒视频在线播放| 欧美成人精品二区三区99精品| 国产精品色婷婷久久58| 亚洲一卡二卡三卡四卡| 久久99精品久久久| 色94色欧美sute亚洲13| 制服丝袜日韩国产| 国产精品欧美综合在线| 亚洲gay无套男同| 高清成人免费视频| 欧美乱妇20p| 国产精品久久久久一区二区三区| 亚洲va欧美va人人爽午夜| 丰满少妇久久久久久久| 欧美日本在线视频| 中文字幕一区二区三| 精品一二线国产| 91久久精品日日躁夜夜躁欧美| 日韩欧美在线网站| 亚洲欧美日韩综合aⅴ视频| 国内精品写真在线观看| 欧美性大战久久久| 国产精品色婷婷| 国产美女一区二区| 91精品综合久久久久久| 亚洲欧美成aⅴ人在线观看| 国产福利一区在线观看| 日韩欧美激情四射| 亚洲成年人影院| 91视频观看视频| 欧美国产精品中文字幕| 久久99精品久久久| 日韩一区二区不卡| 五月激情六月综合| 一本一道综合狠狠老| 国产精品视频免费看| 国产精品一区二区久激情瑜伽| 91麻豆精品国产91| 亚洲一区中文日韩| 色婷婷综合久久久久中文一区二区 | 亚洲图片你懂的| 国产高清久久久久| 26uuu久久综合| 国产一区二区精品在线观看| 欧美va亚洲va国产综合| 毛片av中文字幕一区二区| 欧美一卡二卡三卡| 毛片av一区二区| 欧美第一区第二区| 久久精品国产亚洲5555| 久久综合九色欧美综合狠狠| 国产主播一区二区三区| 久久免费精品国产久精品久久久久| 美女视频一区二区三区| 欧美电影免费观看完整版|