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

📄 cmdfun.c

📁 技术文件名称:MPLSv1.0软件模块测试规程
💻 C
📖 第 1 页 / 共 5 页
字号:
	PID     sendPid;
	uchar   operaType;
	operaType = 1;
	   
   GET_PID("LDPPROCESS",&sendPid);
   
   sendPid.module = module;
   mplsDataIfConfAck(MPLS_LDP_OAM_MESSAGE,&sendPid,operaType);
}
/************************************************************************
 * FUNCTION NAME  : mplsEntityConfig()	                            
 * DESCRIPTION:   : send LDP Entity data to the responding module.			    
 *  INPUT         : module              				
 *  OUTPUT        : none		                           				
 *  AUTHOR/DATE   : Sun Baoping/ 2001-12-22                               
 *  GLOBAL        : none								
 *  NOTE          :  ..                                                 
/************************************************************************/
void mplsEntityConfig(uchar module)
{
   PID     sendPid;
   GET_PID("LDPPROCESS",&sendPid);
   
   sendPid.module = module;
   mplsDataEntityAck(MPLS_LDP_OAM_MESSAGE,sendPid,0);
}

 /*********************************************************************************
 * 函 数 名: mplsMibInitWholedefault(short is_no) 
 * 功    能: 启动所有实体的LDP并设置默认值    
              初始化interface config 表  
              初始化traffic 表      
              初始化Entity 表       
              初始化 generic label, 未做 
              初始化 atm parameter table 
              初始化 atm label range table    
              初始化 transport address table  
              初始化 ENTITY stats table  
              初始化 session stats table  
              初始化 ldp entity parameter talbe, this table is added     
              区分LIC/ETHI/POS                 
 * 输    入: 无         
 * 输    出: 无
 * 返    回: 无               
 * 全局变量: 多个表,NI表、MPLS PORT表,和各个配置表  
 * 修改记录:
   -  修改日期       版本      修 改 人       修改原因及内容
 =========================================================
   -  2001-8-14       1.0      孙保平            创建                                                      
    区别对待端口的标签空间   sbp 2001-12-28                                         
 *********************************************************************************/

int16 mplsMibInitWholedefault(short is_no)
{
    unsigned short       num;
    unsigned short       num1;
    unsigned short       num2;
    unsigned short       num3;
    unsigned short       num4;
    unsigned short       module;
       
    if(arrayLen[NOLSRATTR]==1)
    {             
    	num3 = 0;   
    	num  = 0;          
    	/* 完全初始化:填从数据处要到的数据和初始化默认值 */
      if(mplsOamLocalPlatformType==MPLS_OAM_PLATFORM_M1000) 
      {
        for(num=0; num< MplsPortDataTable1.num; num++)
        {
        	/* change data to marco   sbp 2001-12-28 */
          #ifdef __INSTALL_V22
          if(((MplsPortDataTable1.mplsModule[num].cardType >=MPLS_CARDTYPE_MPU)
             &&(MplsPortDataTable1.mplsModule[num].cardType <=MPLS_MPU_END))||
             MplsPortDataTable1.mplsModule[num].cardType==MPLS_CARDTYPE_LANI ||
             MplsPortDataTable1.mplsModule[num].cardType==MPLS_CARDTYPE_ETH ||
             MplsPortDataTable1.mplsModule[num].cardType==MPLS_CARDTYPE_ETHIF||
             (MplsPortDataTable1.mplsModule[num].cardType>=MPLS_CARDTYPE_LIC1 && 
             MplsPortDataTable1.mplsModule[num].cardType<=MPLS_APCLIC_END)||
             (MplsPortDataTable1.mplsModule[num].cardType>=MPLS_CARDTYPE_GEI && 
             MplsPortDataTable1.mplsModule[num].cardType<=MPLS_GEICARD_END))
          #else    	
          if(MplsPortDataTable1.mplsModule[num].cardType==MPLS_CARDTYPE_MPU  ||
             MplsPortDataTable1.mplsModule[num].cardType==MPLS_CARDTYPE_LANI ||
             MplsPortDataTable1.mplsModule[num].cardType==MPLS_CARDTYPE_ETH ||
             MplsPortDataTable1.mplsModule[num].cardType==MPLS_CARDTYPE_ETHIF||
             (MplsPortDataTable1.mplsModule[num].cardType>=MPLS_CARDTYPE_LIC1 && 
             MplsPortDataTable1.mplsModule[num].cardType<=MPLS_CARDTYPE_LIC10))
         #endif    
          {
          	 for(num1=0;num1<MplsPortDataTable1.mplsModule[num].num; num1++)
             {  
             	if((num==0 && MplsPortDataTable1.mplsModule[num].portData[num1].port<5)||num>0) 
            	{   /* 初始化interface config 表 */
            	    mplsInterfaceConfEntry[num3].ifIndex        = MplsPortDataTable1.mplsModule[num].portData[num1].ifIndex;
            	    if(MplsPortDataTable1.mplsModule[num].cardType!=MPLS_CARDTYPE_LANI && 
                      MplsPortDataTable1.mplsModule[num].cardType!=MPLS_CARDTYPE_ETH &&
                      MplsPortDataTable1.mplsModule[num].cardType!=MPLS_CARDTYPE_ETHIF)
            	        mplsInterfaceConfEntry[num3].totalbandwidth = MplsPortDataTable1.mplsModule[num].portData[num1].speed;
            	    #if 0
            	    mplsInterfaceConfEntry[num3].availablebandwidth = MplsPortDataTable1.mplsModule[num].portData[num1].ifIndex;
            	    #endif
            	    /* 区别对待端口的标签空间   sbp 2001-12-28 */
            	    if(MplsPortDataTable1.mplsModule[num].cardType==MPLS_CARDTYPE_LANI ||
                       MplsPortDataTable1.mplsModule[num].cardType==MPLS_CARDTYPE_ETH||
                       MplsPortDataTable1.mplsModule[num].cardType==MPLS_CARDTYPE_ETHIF)
            	        mplsInterfaceConfEntry[num3].labelparticipationtype = 0;
            	    else
            	    mplsInterfaceConfEntry[num3].labelparticipationtype = 1;
            	    mplsInterfaceConfEntry[num3].storagetype            = 1;
            	    #if 0
            	    mplsInterfaceConfEntry[num3].labelRange             = ;
            	    #endif
            	    if(is_no==1)
            	    mplsInterfaceConfEntry[num3].adminStatus            = 1;
            	    else 
            	    mplsInterfaceConfEntry[num3].adminStatus            = 2;
            	    mplsInterfaceConfEntry[num3].operStatus             = 1;
            	    mplsInterfaceConfEntry[num3].rowStatus              = 1;
            	    mplsInterfaceConfEntry[num3].ifName.module   = MplsPortDataTable1.mplsModule[num].module;
            	    mplsInterfaceConfEntry[num3].ifName.port     = MplsPortDataTable1.mplsModule[num].portData[num1].port;
            	    mplsInterfaceConfEntry[num3].ifName.lsrType  = MplsPortDataTable1.mplsModule[num].cardType;
            	
            	    /* 初始化traffic 表 */
            	    mplsTrafficParamEntry[num3].index  = mplsInterfaceConfEntry[num3].ifIndex;
            	    mplsTrafficParamEntry[num3].ifName = mplsInterfaceConfEntry[num3].ifName;
            	    mplsTrafficParamEntry[num3].rowstatus = 3;
            	
            	    /* 初始化Entity 表 */
            	    mplsLdpEntityEntry[num3].RowStatus = 1;
            	    mplsLdpEntityEntry[num3].ldpId.lsrAddress = mplsLsrAttrEntry.lsrId;
                    mplsLdpEntityEntry[num3].ldpId.labelSpace = mplsInterfaceConfEntry[num3].ifIndex;
                    /********************************************************************/
					/*	wengqing modify
					*/
					/********************************************************************/
					#ifdef __INSTALL_V22
					if(((MplsPortDataTable1.mplsModule[num].cardType >=MPLS_CARDTYPE_MPU)
                       &&(MplsPortDataTable1.mplsModule[num].cardType <=MPLS_MPU_END)) ||
						(MplsPortDataTable1.mplsModule[num].cardType>=MPLS_CARDTYPE_LIC1 && 
						MplsPortDataTable1.mplsModule[num].cardType<=MPLS_APCLIC_END)||
						(MplsPortDataTable1.mplsModule[num].cardType>=MPLS_CARDTYPE_GEI && 
						MplsPortDataTable1.mplsModule[num].cardType<=MPLS_GEICARD_END))
					#else	
					if(MplsPortDataTable1.mplsModule[num].cardType==MPLS_CARDTYPE_MPU ||
						(MplsPortDataTable1.mplsModule[num].cardType>=MPLS_CARDTYPE_LIC1 && 
						MplsPortDataTable1.mplsModule[num].cardType<=MPLS_CARDTYPE_LIC10))
					#endif	
					{
						mplsLdpEntityEntry[num3].ldpId.labelSpace = mplsInterfaceConfEntry[num3].ifIndex;
					}
					else
					{
						mplsLdpEntityEntry[num3].ldpId.labelSpace = 0;
					}
					/********************************************************************/
					/*	wengqing modify end
					*/
					/********************************************************************/
                    mplsLdpEntityEntry[num3].index   = MplsPortDataTable1.mplsModule[num].portData[num1].ifIndex;
                    mplsLdpEntityEntry[num3].ifIndex = MplsPortDataTable1.mplsModule[num].portData[num1].ifIndex;
                    
                    mplsLdpEntityEntry[num3].protocolVersion = 1;
                    mplsLdpEntityEntry[num3].adminStatus     = 1;
                    mplsLdpEntityEntry[num3].operStatus      = 1;
                    mplsLdpEntityEntry[num3].wellKnownTcpDiscoveryPort = 646;
                    mplsLdpEntityEntry[num3].wellKnownUdpDiscoveryPort = 646;
                    mplsLdpEntityEntry[num3].maxPduLength              = 4096;
                    mplsLdpEntityEntry[num3].keepAliveHoldTimer        = 45;
                    mplsLdpEntityEntry[num3].helloHoldTimer            = 15;
                    mplsLdpEntityEntry[num3].failedInitSessiontrapenable= 2;
                    mplsLdpEntityEntry[num3].failedInitSessionThreshold = 8;
                    mplsLdpEntityEntry[num3].labelDistributionMethod    = 1;
                    mplsLdpEntityEntry[num3].labelretentionmode         = 1;
                    /********************************************************************/
					/*	wengqing modify
					*/
					/********************************************************************/
					#ifdef __INSTALL_V22
					if(((MplsPortDataTable1.mplsModule[num].cardType >=MPLS_CARDTYPE_MPU)
                        &&(MplsPortDataTable1.mplsModule[num].cardType <=MPLS_MPU_END))||
						(MplsPortDataTable1.mplsModule[num].cardType>=MPLS_CARDTYPE_LIC1 && 
						MplsPortDataTable1.mplsModule[num].cardType<=MPLS_APCLIC_END)||
						(MplsPortDataTable1.mplsModule[num].cardType>=MPLS_CARDTYPE_GEI && 
						MplsPortDataTable1.mplsModule[num].cardType<=MPLS_GEICARD_END))
					#else	
					if(MplsPortDataTable1.mplsModule[num].cardType==MPLS_CARDTYPE_MPU ||
						(MplsPortDataTable1.mplsModule[num].cardType>=MPLS_CARDTYPE_LIC1 && 
						MplsPortDataTable1.mplsModule[num].cardType<=MPLS_CARDTYPE_LIC10))
					#endif	
					{
						mplsLdpEntityEntry[num3].labelDistributionMethod    = 1;
						mplsLdpEntityEntry[num3].labelretentionmode         = 1;
						mplsLdpEntityEntry[num3].ldpId.labelSpace = mplsInterfaceConfEntry[num3].ifIndex;
					}
					else
					{
						mplsLdpEntityEntry[num3].labelDistributionMethod    = 0;
						mplsLdpEntityEntry[num3].labelretentionmode         = 2;
						mplsLdpEntityEntry[num3].ldpId.labelSpace = 0;
					}
					/********************************************************************/
					/*	wengqing modify end
					*/
					/********************************************************************/

                    mplsLdpEntityEntry[num3].pvLimitMismatchtrapenabled = 1;
                    mplsLdpEntityEntry[num3].pathvectorlimit            = 0;
                    mplsLdpEntityEntry[num3].hopcountlimit              = 0;
                    mplsLdpEntityEntry[num3].targetedpeer               = 0;
                    mplsLdpEntityEntry[num3].targetedPeerAddrType       = 1;
                    #if 0
                    mplsLdpEntityEntry[num3].targetedPeerAddr           = 1;
                    #endif
                    if(MplsPortDataTable1.mplsModule[num].cardType!=MPLS_CARDTYPE_LANI && 
                        MplsPortDataTable1.mplsModule[num].cardType!=MPLS_CARDTYPE_ETH&&
                        MplsPortDataTable1.mplsModule[num].cardType!=MPLS_CARDTYPE_ETHIF)
                    mplsLdpEntityEntry[num3].optionalParameters         = 2;
                    else
                        mplsLdpEntityEntry[num3].optionalParameters     = 1;
                    #if 0
                    mplsLdpEntityEntry[num3].discontinuitytime          = 1;
                    #endif
                    mplsLdpEntityEntry[num3].storagetype                = 1;
                    /*  */
                    if(mplsLdpParam.loopdetection == 5)
                    	mplsLdpEntityEntry[num3].loopDetectionCapable       = 5;
                    else if(mplsLdpParam.loopdetection == 1)
                    	mplsLdpEntityEntry[num3].loopDetectionCapable       = 1;
                    else
                    	mplsLdpEntityEntry[num3].loopDetectionCapable       = 1;
                    mplsLdpEntityEntry[num3].controlMode                = 1;
                    mplsLdpEntityEntry[num3].ifName                     = mplsInterfaceConfEntry[num3].ifName;
                    /* added by sbp 1-11-22 */
                    mplsLdpEntityEntry[num3].backOff.min                = 5;
                    mplsLdpEntityEntry[num3].backOff.max                = 128;
                    mplsLdpEntityEntry[num3].backOff.delaying           = 0;
                    mplsLdpEntityEntry[num3].backOff.waiting            = 0;
                    mplsLdpEntityEntry[num3].mtu                        = 1500;
                    mplsLdpEntityEntry[num3].ifIndex                    = mplsInterfaceConfEntry[num3].ifIndex;
                  
                    /* 初始化 generic label, 做 */
                   mplsLdpEntityConfGenericLabelRangeEntry[num3].ifName  = mplsInterfaceConfEntry[num3].ifName;
                   mplsLdpEntityConfGenericLabelRangeEntry[num3].ifIndex = mplsInterfaceConfEntry[num3].ifIndex;
                   
                
            	   /* 初始化 atm parameter table */
            	   mplsLdpEntityAtmParamsEntry[num3].RowStatus     = 1;
            	   mplsLdpEntityAtmParamsEntry[num3].entityLdpId   = mplsLdpEntityEntry[num3].ldpId;
            	   mplsLdpEntityAtmParamsEntry[num3].entityindex   = mplsLdpEntityEntry[num3].index;
            	   mplsLdpEntityAtmParamsEntry[num3].ifindexorzero = mplsLdpEntityEntry[num3].index;
            	   mplsLdpEntityAtmParamsEntry[num3].mergecap      = 2;
            	   mplsLdpEntityAtmParamsEntry[num3].labelrangecomponents = 1;
            	   mplsLdpEntityAtmParamsEntry[num3].vcdirectionality     = 1;
            	   mplsLdpEntityAtmParamsEntry[num3].lsrconnectivity      = 1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -