34 RIP_ENTRY *pstru_Router_RIP_RIPEntry=NULL;
44 while(pstru_Router_RIP_RIPEntry)
46 pstru_Router_RIP_TempTraverse=pstru_Router_RIP_TempTable;
48 while(pstru_Router_RIP_TempTraverse)
52 if((pstru_Router_RIP_TempTraverse->
nMetric > pstru_Router_RIP_RIPEntry->
nMetric+1))
58 pstru_Router_RIP_TempTraverse->
nMetric = pstru_Router_RIP_RIPEntry->
nMetric + 1;
70 pstru_Router_RIP_RIPEntry->
nMetric + 1,
79 if(!pstru_Router_RIP_TempTraverse)
83 pstru_Router_RIP_InsertTable->szAddress=pstru_Router_RIP_RIPEntry->
szIPv4_address;
86 pstru_Router_RIP_InsertTable->nInterface=i;
87 pstru_Router_RIP_InsertTable->nMetric=pstru_Router_RIP_RIPEntry->
nMetric+1;
89 fn_NetSim_UpdateEntryinRoutingTable(
NETWORK,
pstruEventDetails,nDeviceId,pstru_Router_RIP_InsertTable->nInterface,0,pstru_Router_RIP_InsertTable->szAddress,pstru_Router_RIP_InsertTable->szRouter,pstru_Router_RIP_InsertTable->szSubnetmask,0,pstru_Router_RIP_InsertTable->nMetric,1);
102 pstru_Router_RIP_RIPEntry->
nMetric + 1,
110 if(pstruControlPacket)
int fn_NetSim_RIP_DistanceVectorAlgorithm(struct stru_NetSim_Network *NETWORK, NetSim_EVENTDETAILS *pstruEventDetails)
ptrIP_ROUTINGTABLE iptable_add(ptrIP_WRAPPER wrapper, NETSIM_IPAddress dest, NETSIM_IPAddress subnet, unsigned int prefix_len, NETSIM_IPAddress gateway, UINT interfaceCount, NETSIM_IPAddress *interfaceIp, NETSIM_ID *interfaceId, unsigned int metric, char *type)
NETSIM_IPAddress IP_COPY(NETSIM_IPAddress ip)
void IP_FREE(NETSIM_IPAddress ip)
#define IP_COMPARE(ip1, ip2)
int fn_NetSim_UpdateEntryinRoutingTable(struct stru_NetSim_Network *NETWORK, NetSim_EVENTDETAILS *pstruEventDetails, NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, unsigned int bgpRemoteAS, NETSIM_IPAddress szDestinationIP, NETSIM_IPAddress szNexthop, NETSIM_IPAddress szSubnetmask, unsigned int prefix_len, int nCost, int nFlag)
#define DEVICE_APPVAR(DeviceId, protocolId)
EXPORTED struct stru_NetSim_Network * NETWORK
EXPORTED struct stru_NetSim_EventDetails * pstruEventDetails
#define IP_WRAPPER_GET(DeviceId)
NETSIM_ID fn_NetSim_Stack_GetDeviceId_asIP(NETSIM_IPAddress ip, NETSIM_ID *nInterfaceId)
#define fn_NetSim_Packet_FreePacket(pstruPacket)
struct stru_NetSim_Packet * pPacket
void * Packet_AppProtocol
NETSIM_IPAddress szGatewayIP
NETSIM_IPAddress szNextHopIp
struct stru_NetSim_Packet_AppLayer * pstruAppData
struct stru_NetSim_Packet_NetworkLayer * pstruNetworkData
struct stru_RIPEntry * pstruRIPEntry
unsigned int nMetric
Cost to reach the destination.
NETSIM_IPAddress szSubnet_Mask
Destination Subnet Mask
NETSIM_IPAddress szIPv4_address
Destination IPv4 address
struct stru_RIPEntry * pstru_RIP_NextEntry
Routing database structure Reference : RFC 2453, November 1998, Page 8.
NETSIM_ID nInterface
The physical network which must be used to reach the first router
double dTimer
The amount of time since the entry was last updated.
unsigned int nMetric
Distance to the destination
NETSIM_IPAddress szRouter
The first router along the route to the destination
struct stru_Router_RIP_Routing_database * pstru_Router_NextEntry
NETSIM_IPAddress szAddress
IP address of the destination host or destination network
NETSIM_IPAddress szSubnetmask
Subnet mask for the destination network