|
| #define | DSR_OPTION_HEADER_SIZE 4 |
| |
| #define | DSR_RREQ_SIZE_FIXED 8 |
| |
| #define | DSR_RREQ_SIZE_IPV6_FIXED 20 |
| |
| #define | DSR_RREP_SIZE_FIXED 7 |
| |
| #define | DSR_SOURCEROUTE_SIZE_FIXED 4 |
| |
| #define | DSR_RERR_SIZE_FIXED 12+4/* type specific */ |
| |
| #define | DSR_ACK_OPTION_LEN 10 |
| |
| #define | DSR_ACK_REQUEST_LEN 4 |
| |
| #define | DSR_RREQ_OPT_LEN 6 |
| |
| #define | DSR_DISCOVERY_HOP_LIMIT 255 |
| |
| #define | DSR_MAX_REQUEST_REXMT 16 |
| |
| #define | DSR_MaxMaintRexmt 2 |
| |
| #define | NO_NEXT_HEADER 59 |
| |
| #define | NonpropRequestTimeout (30* MILLISECOND) |
| |
| #define | DSR_REQUEST_PERIOD (500* MILLISECOND) |
| |
| #define | DSR_MAX_REQUEST_PERIOD (10* SECOND) |
| |
| #define | ROUTE_CACHE_TIMEOUT (300* SECOND) |
| |
| #define | BROADCAST_JITTER (10* MILLISECOND) |
| |
| #define | MAINT_HOLD_OFF_TIME (250* MILLISECOND) |
| |
| #define | isDSRPACKET(packet) (packet->nControlDataType/100 == NW_PROTOCOL_DSR) |
| |
| #define | DSR_PACKET_PROCESSING() fn_NetSim_DSR_GeneralPacketProcessing(pstruEventDetails) |
| |
| #define | DSR_CHECK_ROUTE_FOUND(destAddress, devVar, nextHop, dTime, ppcache) fn_NetSim_DSR_CheckRouteFound(destAddress,devVar,nextHop,dTime,ppcache) |
| |
| #define | DSR_ADD_TO_MAINT_BUFFER(nDeviceId, pstruPacket, dTime) fn_NetSim_DSR_AddToMaintBuffer(nDeviceId,pstruPacket,dTime); |
| |
| #define | DSR_MAINT_TIMEOUT() fn_NetSim_DSR_MaintTimeout(pstruEventDetails) |
| |
| #define | DSR_RETRANSMIT_BUFFER(maintBuffer) fn_NetSim_DSR_RetransmitBuffer(maintBuffer,pstruEventDetails) |
| |
| #define | DSR_EMPTY_MAINT_BUFFER(nDeviceId, nextHop) fn_NetSim_DSR_EmptyMaintBuffer(nDeviceId,nextHop) |
| |
| #define | DSR_UPDATE_ROUTE_CACHE(length, address, dTime) fn_NetSim_DSR_UpdateRouteCache(length,address,dTime) |
| |
| #define | DSR_FIND_CACHE(devVar, address, dTime) fn_NetSim_DSR_FindCache(devVar,address,dTime) |
| |
| #define | DSR_VALIDATE_CACHE(cache, addList, count) fn_NetSim_DSR_ValidateRouteCache(cache,addList,count) |
| |
| #define | DSR_DELETE_ENTRY_CACHE(ppcache, ip1, ip2) fn_NetSim_DSR_DeleteEntryFromRouteCache(ppcache,ip1,ip2) |
| |
| #define | DSR_GENERATE_RERR(maintBuffer) fn_NetSim_DSR_GenerateRERR(maintBuffer,pstruEventDetails) |
| |
| #define | DSR_PROCESS_RERR() fn_NetSim_DSR_ProcessRerr(pstruEventDetails) |
| |
| #define | DSR_GENERATE_RREP(rreqPacket) fn_NetSim_DSR_GenerateRREP(rreqPacket,pstruEventDetails) |
| |
| #define | DSR_PROCESS_RREP() fn_NetSim_DSR_ProcessRREP(pstruEventDetails) |
| |
| #define | DSR_GENERATE_RREP_USING_CACHE(devVar, rreqPacket, dTime) fn_NetSim_DSR_GenerateRREPUsingRouteCache(devVar,rreqPacket,dTime,pstruEventDetails) |
| |
| #define | DSR_INIT_RREQ(target, pprreqTable, nDeviceId, dTime) fn_NetSim_DSR_InitRouteRequest(target,pprreqTable,nDeviceId,dTime,pstruEventDetails) |
| |
| #define | DSR_RREQ_TIMEOUT() fn_NetSim_DSR_RREQTimeout(pstruEventDetails) |
| |
| #define | DSR_RETRY_RREQ(targetAddress, nDeviceId, dTime) fn_NetSim_DSR_RetryRREQ(targetAddress,nDeviceId,dTime,pstruEventDetails) |
| |
| #define | DSR_PROCESS_RREQ() fn_NetSim_DSR_ProcessRREQ(pstruEventDetails) |
| |
| #define | DSR_ADD_TO_SEND_BUFFER(ppsendBuffer, packet, dTime) fn_NetSim_DSR_AddToSendBuffer(ppsendBuffer,packet,dTime) |
| |
| #define | DSR_EMPTY_SEND_BUFFER(targetAddress, nDeviceId) fn_NetSim_DSR_EmptySendBuffer(targetAddress,nDeviceId) |
| |
| #define | DSR_CHECK_SEND_BUFFER(nDeviceId, dTime) fn_NetSim_DSR_CheckSendBuffer(nDeviceId,dTime) |
| |
| #define | DSR_TRANSMIT_SEND_BUFFER(sendBuffer, nDeviceId, dTime) fn_NetSim_DSR_TransmitPacketFromSendBuffer(sendBuffer,nDeviceId,dTime) |
| |
| #define | DSR_ADD_SRC_ROUTE(packet, cache) fn_NetSim_DSR_AddSourceRouteOption(packet,cache) |
| |
| #define | DSR_PROCESS_SRC_ROUTE() fn_NetSim_DSR_ProcessSourceRouteOption(pstruEventDetails) |
| |
| #define | DSR_ADD_ACK_REQUEST(packet) fn_NetSim_DSR_Add_Ack_request_Option(packet,pstruEventDetails) |
| |
| #define | DSR_PROCESS_ACK_REQUEST(packet) fn_NetSim_DSR_Process_AckRequestOption(packet,pstruEventDetails) |
| |
| #define | DSR_PROCESS_ACK() fn_NetSim_DSR_ProcessAckOption(pstruEventDetails); |
| |
| #define | DSR_DEV_VAR(dev) ((DSR_DEVICE_VAR*)NETWORK->ppstruDeviceList[dev-1]->pstruNetworkLayer->RoutingVar) |
| |
| #define | DSR_RREQ_LEN(rreq) (int)(rreq->nOptDataLen-6)/4 |
| |
| #define | DSR_RREP_LEN(rrep) (int)(rrep->nOptDataLen-3)/4+1 |
| |
| #define | SENDBUFFER_ALLOC() list_alloc(sizeof(struct stru_DSR_SendBuffer),offsetof(struct stru_DSR_SendBuffer,ele)) |
| |
| #define | RREQTABLE_ALLOC() (DSR_RREQ_TABLE*)list_alloc(sizeof(struct stru_DSR_RouteRequestTable),offsetof(struct stru_DSR_RouteRequestTable,ele)) |
| |
| #define | ROUTECACHE_ALLOC() (DSR_ROUTE_CACHE*)list_alloc(sizeof(struct stru_DSR_RouteCache),offsetof(struct stru_DSR_RouteCache,ele)) |
| |
| #define | MAINTBUFFER_ALLOC() (DSR_MAINT_BUFFER*)list_alloc(sizeof(DSR_MAINT_BUFFER),offsetof(DSR_MAINT_BUFFER,ele)) |
| |
|
| DSR_ROUTE_CACHE * | fn_NetSim_DSR_FindCache (DSR_DEVICE_VAR *devVar, NETSIM_IPAddress address, double dTime) |
| |
| int | fn_NetSim_DSR_GeneralPacketProcessing (NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| bool | fn_NetSim_DSR_CheckRouteFound (NETSIM_IPAddress destAddress, DSR_DEVICE_VAR *devVar, NETSIM_IPAddress *nextHop, double dTime, DSR_ROUTE_CACHE **cache) |
| |
| int | fn_NetSim_DSR_AddSourceRouteOption (NetSim_PACKET *packet, DSR_ROUTE_CACHE *cache) |
| |
| int | fn_NetSim_DSR_ProcessSourceRouteOption (NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| int | fn_NetSim_DSR_AddToMaintBuffer (NETSIM_ID nDeviceId, NetSim_PACKET *pstruPacket, double dTime) |
| |
| int | fn_NetSim_DSR_MaintTimeout (NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| int | fn_NetSim_DSR_RetransmitBuffer (DSR_MAINT_BUFFER *maintBuffer, NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| int | fn_NetSim_DSR_EmptyMaintBuffer (NETSIM_ID nDeviceId, NETSIM_ID nextHop) |
| |
| bool | fn_NetSim_DSR_AddToSendBuffer (DSR_SEND_BUFFER **sendBuffer, NetSim_PACKET *packet, double dTime) |
| |
| void | fn_NetSim_DSR_EmptySendBuffer (NETSIM_IPAddress targetAddress, NETSIM_ID nDeviceId) |
| |
| void | fn_NetSim_DSR_CheckSendBuffer (NETSIM_ID nDeviceId, double dTime) |
| |
| int | fn_NetSim_DSR_TransmitPacketFromSendBuffer (DSR_SEND_BUFFER *sendBuffer, NETSIM_ID nDeviceId, double dTime) |
| |
| int | fn_NetSim_DSR_UpdateRouteCache (unsigned int length, NETSIM_IPAddress *address, double dTime) |
| |
| bool | fn_NetSim_DSR_ValidateRouteCache (DSR_ROUTE_CACHE *cache, NETSIM_IPAddress *addList, int count) |
| |
| int | fn_NetSim_DSR_DeleteEntryFromRouteCache (DSR_ROUTE_CACHE **ppcache, NETSIM_IPAddress ip1, NETSIM_IPAddress ip2) |
| |
| int | fn_NetSim_DSR_GenerateRREP (NetSim_PACKET *rreqPacket, NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| int | fn_NetSim_DSR_ProcessRREP (NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| bool | fn_NetSim_DSR_GenerateRREPUsingRouteCache (DSR_DEVICE_VAR *devVar, NetSim_PACKET *rreqPacket, double dTime, NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| int | fn_NetSim_DSR_ForwardRREP () |
| |
| int | fn_NetSim_DSR_GenerateRERR (DSR_MAINT_BUFFER *maintBuffer, NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| int | fn_NetSim_DSR_ProcessRerr (NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| NetSim_PACKET * | fn_NetSim_DSR_InitRouteRequest (NETSIM_IPAddress target, DSR_RREQ_TABLE **rreqTable, NETSIM_ID nDeviceId, double dTime, NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| int | fn_NetSim_DSR_RREQTimeout (NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| NetSim_PACKET * | fn_NetSim_DSR_RetryRREQ (NETSIM_IPAddress targetAddress, NETSIM_ID nDeviceId, double dTime, NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| int | fn_NetSim_DSR_ProcessRREQ (NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| int | fn_NetSim_DSR_Add_Ack_request_Option (NetSim_PACKET *packet, NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| int | fn_NetSim_DSR_ProcessAckOption (NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| int | fn_NetSim_DSR_Process_AckRequestOption (NetSim_PACKET *packet, NetSim_EVENTDETAILS *pstruEventDetails) |
| |
| NetSim_PACKET * | fn_NetSim_DSR_GenerateCtrlPacket (NETSIM_ID src, NETSIM_ID dest, NETSIM_ID recv, double dTime, DSR_CONTROL_PACKET type) |
| |
| double | fn_NetSim_DSR_GetBroadCastJitter () |
| |
| int | fn_NetSim_DSR_LinkLayerAck (NetSim_PACKET *) |
| |
| unsigned int | fn_NetSim_DSR_FillAddress (DSR_SOURCE_ROUTE_OPTION *srcOption, DSR_ROUTE_CACHE *cache, NETSIM_IPAddress src, NETSIM_IPAddress dest) |
| |
| int | fn_NetSim_DSR_Finish_F () |
| |
| DSR_RREQ_TABLE * | getRREQTable (NETSIM_IPAddress target, DSR_RREQ_TABLE *table) |
| |
| void | set_dsr_curr () |
| |
| NETSIM_IPAddress | dsr_get_curr_ip () |
| |
| NETSIM_ID | dsr_get_curr_if () |
| |
| NETSIM_IPAddress | dsr_get_dev_ip (NETSIM_ID d) |
| |
| bool | isDsrConfigured (NETSIM_ID d, NETSIM_ID in) |
| |
| int | fn_NetSim_DSR_FreePacket (NetSim_PACKET *packet) |
| |
This function is called in the Network Out Event for routing of the packet.
Whenever a packet is to be routed to a destination and the device route cache doesnt have a route to the target, the Packet is added to the Send buffer and a Route Discovery is iitiated.
If the Device route cache has a route to the target, then the packet is added to the Maintanence Buffer and the count of packets originated is incremented.
Definition at line 28 of file PacketProcessing.c.