📄 ldpfunc1.h
字号:
#ifndef LDPFUNC1_H
#define LDPFUNC1_H
#include "encdec.h"
#include "ldpcomn.h"
#include "ldpi.h"
#include "ldp.h"
#include "ldpstr.h"
#include "pvcmpls.h"
#include "ldppdu.h"
#include "_noalign.h"
#define FLAG_UP 1
#define FLAG_DOWN 2
#define FLAG_UPDOWN 3
#define DEFAULT_PDR 300000.0*48
#define DEFAULT_CDR 180000.0*48
#define DEFAULT_PBS 180000.0*48
/* function in ldppdu.c */
short ProcUdpTcpMsg(LDPMSG_COMM * udptcpMsg);
short ProcessHello(mplsLdpHelloMsg_t *helloRecMsg,
unsigned long localAddr,
unsigned long peerAddr,
mplsLdpId_t peerLdpId);
short SendLdpHello(mplsLdpEntity_t *pEntity);
mplsLdpInterface_t *LDP_ADDR_SEARCH_IF(unsigned long Address);
mplsLdpEntity_t *LDP_IF_SEARCH_ENTITY(mplsLdpInterface_t *ldpInterface);
mplsLdpInterface_t *LDP_ENTITY_SEARCH_IF(mplsLdpEntity_t *pEntity);
short DelHello(mplsLdpHello_t *hello);
mplsLdpEntity_t *ldp_search_entity_index(unsigned long index);
long checkStatuscode(long encodedSize);
void checkRetCode( long encodedSize,
mplsLdpSession_t * session,
mplsLdpMsg_t msgHead);
/* function in ldplspfsm.c */
short LspCBFsm (mplsLdpSession_t *session,
unsigned short eventType,
void *inputEvent,
unsigned char lspType,
void *pEntry,
mplsLdpLspCB *LspCBVar);
short ProcLblReq_status1(mplsLdpSession_t *session,void *pEntry, mplsLdpLspCB *LspCBVar, void * inputEvent);
short ProcFecInquireOk (void * inputEvent);
short ProcBandwithAck(void *inputEvent);
short ProcLblAbort_status1(void *pEntry, mplsLdpLspCB *LspCBVar,char flag);
short ProcLblMap_status2(void *pEntry, mplsLdpLspCB *LspCBVar, void * inputEvent);
short ProcLblAbort_status2(void *pEntry, mplsLdpLspCB *LspCBVar,char flag);
short ProcLblWith_2(void *pEntry, mplsLdpLspCB *LspCBVar);
short ProcCreatePvcAck(void * inputEvent);
short ProcDownNAK_2(void *pEntry, mplsLdpLspCB *LspCBVar,
void *inputEvent, unsigned short eventType);
short ProcLblMap_status3(void *pEntry, mplsLdpLspCB *LspCBVar, void * inputEvent);
short ProcLblRel_status3(void *pEntry, mplsLdpLspCB *LspCBVar,
void *inputEvent, unsigned short eventType);
short ProcLblWith_3(void *pEntry, mplsLdpLspCB *LspCBVar);
short ProcLblRel_status4(void *pEntry, mplsLdpLspCB *LspCBVar);
short ProcRouteAdd_status1(void *pEntry, mplsLdpLspCB *LspCBVar);
void ldp_req_timout(mplsLdpLspCB *LspCBVar);
short ldp_req_resend(mplsLdpLspCB *LspCBVar);
short ProcDownLost_23(void *pEntry, mplsLdpLspCB *LspCBVar);
short ProcDownNAK_23(void *pEntry, mplsLdpLspCB *LspCBVar, void *inputEvent);
short ProcRouteDel_status123(void *pEntry, mplsLdpLspCB *LspCBVar);
short ProcDownLost_1(void *pEntry, mplsLdpLspCB *LspCBVar);
void ProcDownLost_4(void *pEntry, mplsLdpLspCB *LspCBVar);
/* function in ldpfunc.c */
void seg_fec_msg(FecMsg * fec_msg, void * msg);
void set_cr_fec_mag(FecMsg * fec_msg, mplsLdpCrLsp * crEntry);
short ldp_fec2lspCB(mplsLdpLspCB *LspCBVar,FecMsg *fecMsg);
mplsLdpSession_t *search_session_from_sessindex(unsigned long SessionIndex1);
void ldp_del_lspCB(char *pEntry,mplsLdpLspCB *LspCBVar);
short FuncCreatePvc(mplsLdpLspCB *lspCBVar, char *pEntry);
short ldp_fill_crpvcreq(STRUC_MPLS_AD_CRPVC_REQ *createPvcReq,
mplsLdpLspCB *lspCBVar,
unsigned short localLspId,
unsigned long LspCBNo,
mplsLdpTrafficTlv_t *Traffic,
char *pEntry);
short ldp_crpvc_timeout(mplsLdpLspCB *LspCBVar);
short ldp_crpvc_resend(mplsLdpLspCB *LspCBVar);
short FuncResvBW(mplsLdpLspCB *lspCBVar, char *pEntry);
short ldp_fill_bwreq(STRUC_MPLS_AD_BANDWIDTH_REQ *bandwithReq,
mplsLdpLspCB *lspCBVar,
unsigned short localLspId,
unsigned long LspCBNo,
mplsLdpTrafficTlv_t *Traffic,
char *pEntry);
short ldp_bw_timeout(mplsLdpLspCB *LspCBVar);
short ldp_bw_resend(mplsLdpLspCB *LspCBVar);
short FuncRelPVC(mplsLdpLspCB *lspCBVar, char *pEntry);
short ldp_Rlspvc_resend(mplsLdpLspCB *LspCBVar);
short RlsPVC_noCB(STRUC_AD_MPLS_CRPVC_ACK *createPvcAck);
short FuncRlsBW(mplsLdpLspCB *LspCBVar, char *pEntry);
short ldp_Rlsbw_resend(mplsLdpLspCB *LspCBVar);
short RlsBW_noCB(STRUC_AD_MPLS_BANDWIDTH_ACK *bandwithAck);
short bandwidth_to_release(STRUC_MPLS_AD_BANDWIDTH_REQ *bandwithReq);
short crpvc_to_release(STRUC_MPLS_AD_CRPVC_REQ *createPvcReq);
short ldp_label_forward(void *pEntry, mplsLdpLspCB *LspCBVar,char action_flag);
short ldp_get_atm_label(mplsLdpLspCB *lspCBVar,char upordown,char negotiate);
short ldp_free_label(char *pEntry, mplsLdpLspCB *LspCBVar);
short ldp_free_atm_label(char *pEntry, mplsLdpLspCB *LspCBVar,char flag);
short mpls_feclabel_recv_process(mplsLdpFecLabel *FecLabel,mplsLdpLspCB *LspCBVar);
void ldp_lbl_send_timeout(mplsLdpLspCB *LspCBVar);
short mpls_feclabel_send_process(mplsLdpFecLabel *FecLabel,mplsLdpLspCB *LspCBVar);
short mpls_feclabel_close_process(mplsLdpFecLabel *FecLabel,mplsLdpLspCB *LspCBVar);
void ldp_lbl_close_timeout(mplsLdpLspCB *LspCBVar);
void SndNotMsg(unsigned long SessionIndex1, unsigned long statuscode,
unsigned long msgid, unsigned long msgtype);
mplsLdpEntity_t *ldp_session_search_entity(mplsLdpSession_t *session);
void sendToFecCrlsp(mplsLdpCrLsp *pCrfec,unsigned long eventType,unsigned long code);
/*
mplsLdpLspCB *ldp_get_lspCB(mplsLdpSession_t *session,
unsigned short eventType,
void *inputEvent,
unsigned char lspType,
void *pEntry);
*/
short SndLblDownMsg(mplsLdpLspCB *LspCBVar, void *pEntry, unsigned short eventType);
short SndLblUpMsg(mplsLdpLspCB *LspCBVar, void *pEntry, unsigned short eventType);
mplsLdpCrLsp *ldp_search_crentry_from_lspidtlv(mplsLdpLspIdTlv_t lspidTlv);
mplsLdpCrLsp *ldp_search_crentry_from_lspindex(unsigned long LspCBNo,\
unsigned short localLspId,unsigned long IngressId);
mplsLdpFecEntry *ldp_search_fecentry(unsigned short preLen,unsigned long address);
mplsLdpLspCB *ldp_search_lspcb_from_index(mplsLdpFecEntry *pFecEntry,unsigned long lspIndex);
char *lspcb_search_entry(mplsLdpLspCB *LspCBVar);
mplsLdpDownCB *ldp_get_downcb(mplsLdpFecEntry *fecEntry);
/*function in ldpmain.c*/
short DelHello(mplsLdpHello_t *hello);
/*function in ldpsess.c*/
void SessionFSM (mplsLdpSession_t * session, unsigned short eventType, void * inputEvent);
/*function in ldpmib.c*/
void initldpdynmib();
mplsLdpHello_t * MibHello(void * input,unsigned char flag);
mplsLdpHello_t *func_helloset(MIB_LDPHELLO_REQ *in);
mplsLdpHello_t *func_hellosearch(MIB_LDPHELLO_REQ *in);
mplsLdpHello_t *func_hellodel(MIB_LDPHELLO_REQ *in );
mplsLdpSession_t *MibSession(void * input, unsigned char flag);
mplsLdpSession_t *func_sessionset( MIB_LDP_SESSION_REQ *in);
mplsLdpSession_t *func_sessionsearch( MIB_LDP_SESSION_REQ *in);
mplsLdpSession_t *func_sessiondel(MIB_LDP_SESSION_REQ *in);
mplsLdpPeer_t *MibPeer(void * input, unsigned char flag);
mplsLdpPeer_t *func_peerset(MIB_LDP_PEER_REQ *in );
mplsLdpPeer_t *func_peersearch( MIB_LDP_PEER_REQ *in);
mplsLdpPeer_t *func_peerdel(MIB_LDP_PEER_REQ *in);
sessionPeerAddr_t *MibPeerAddr(void * input, unsigned char flag);
sessionPeerAddr_t *func_sess_peerset(MIB_LDP_SESSION_PEERADDR_REQ *in);
sessionPeerAddr_t *func_sess_peersearch( MIB_LDP_SESSION_PEERADDR_REQ *in);
sessionPeerAddr_t *func_sess_peerdel(MIB_LDP_SESSION_PEERADDR_REQ *in);
void processldpstats (unsigned long statstype, mplsLdpSession_t *session);
void ProcFecInquire(FecMsg * fecMsg);
MPLS_BOOL reqCrlsp(mplsLdpCrLsp * crlspCB,mplsLdpFecTlv_t * fecTlv,
mplsLdpSession_t * session,unsigned long msgid,unsigned char lspid);
int fec_key_compare(void *key1, void *key2);
int crfec_key_compare(void *key1, void *key2);
int address_key_compare(void * test_key1, void * test_key2);
int sb_key_compare(void *key1, void *key2);
void ldpHelloSnd(void);
void ldpSessionSnd(void);
void ldpListCheck(void);
void ldpFecSearchCheck( mpls_fec_search *pSearch );
void ldpFecLspcbScan(void);
unsigned long ldp_get_index(void);
void ldp_rel_index(unsigned long index);
void aggr_init(void);
void aggr_insert_tail(mpls_ldpFecAggr * AE);
void aggr_delete(mpls_ldpFecAggr * AE);
void setCrFilter(mplsLdpCrLsp * pCrfec,FecMsg * fecMsg);
#include "_restore.h"
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -