29#define PIM_ROUTE_ALLOC() (ptrPIM_ROUTE)list_alloc(sizeof(PIM_ROUTE),offsetof(PIM_ROUTE,ele))
30#define PIM_ROUTE_ADD(ls,m) LIST_ADD_LAST((void**)ls,m)
31#define PIM_ROUTE_NEXT(m) (m = LIST_NEXT(m))
94 addr =
realloc(addr, (
c + 1) *
sizeof* addr);
98 id =
realloc(
id, (
c + 1) *
sizeof*
id);
102 rid =
realloc(rid, (
c + 1) *
sizeof* rid);
127 id =
calloc(1,
sizeof*
id);
128 addr =
calloc(1,
sizeof* addr);
137 c =
DEVICE(d)->nNumOfInterface;
139 addr =
calloc(
c,
sizeof* addr);
143 for (k = 0; k <
c; k++)
176 fnNetSimError(
"Unicast route is not found for dest %s from %s. Please check/enable routing protocol.",
ptrIP_FORWARD_ROUTE fn_NetSim_IP_RoutePacket(NetSim_PACKET *packet, NETSIM_ID dev)
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)
#define IP_COMPARE(ip1, ip2)
#define STR_TO_IP4(ipstr)
#define fnNetSimError(x,...)
static ptrPIM_ROUTE find_route(NETSIM_ID d, NETSIM_ID i, NETSIM_IPAddress dest)
void pim_route_add(NETSIM_ID d, NETSIM_ID i, UINT metric, NETSIM_IPAddress dest)
NETSIM_IPAddress pimroute_find_nexthop(NETSIM_ID d, NETSIM_IPAddress dest)
#define PIM_ROUTE_ADD(ls, m)
#define PIM_ROUTE_ALLOC()
#define PIM_ROUTE_NEXT(m)
static ptrPIM_ROUTE pimRoute
struct stru_pim_route * ptrPIM_ROUTE
struct stru_pim_route PIM_ROUTE
#define DEVICE_NWADDRESS(DeviceId, InterfaceId)
#define IP_WRAPPER_GET(DeviceId)
#define fn_NetSim_Packet_CreatePacket(layer)
#define fn_NetSim_Packet_FreePacket(pstruPacket)
NETSIM_IPAddress * nextHop
Structure to store ip routing table.
NETSIM_IPAddress * Interface
NETSIM_IPAddress szDestIP
NETSIM_IPAddress szSourceIP
struct stru_NetSim_Packet_NetworkLayer * pstruNetworkData
char str_ip[_NETSIM_IP_LEN]