NetSim Source Code Help
Loading...
Searching...
No Matches
IGMP_Router.c File Reference
#include "main.h"
#include "List.h"
#include "IP.h"
#include "IGMP.h"
Include dependency graph for IGMP_Router.c:

Go to the source code of this file.

Functions

ptrIGMP_ROUTER_DB find_or_alloc_multicast_db_router (NETSIM_IPAddress addr, NETSIM_ID d, bool *isAlreadyJoined)
 
static ptrIGMP_ROUTER_DB router_join_multicast_group (NETSIM_ID d, NETSIM_IPAddress group)
 
ptrIGMP_ROUTER_DB router_get_multicast_db (NETSIM_ID d, NETSIM_IPAddress ip)
 
static void router_delete_multicast_db (NETSIM_ID d, ptrIGMP_ROUTER_DB db)
 
static bool isBroadcastInterfacePresent (NETSIM_ID d)
 
static bool isInterfacePresentInDatabase (ptrIGMP_ROUTER_DB db, NETSIM_ID ifid)
 
static bool isOtherInterfacePresentInDatabase (ptrIGMP_ROUTER_DB db, NETSIM_ID ifid)
 
static void router_add_ip_route (ptrIGMP_ROUTER_DB db, NETSIM_ID d, NETSIM_ID ifid)
 
void igmp_router_init (NETSIM_ID d)
 
IP_PROTOCOL_ACTION router_is_ip_present_in_db (NETSIM_ID d, NETSIM_IPAddress ip, NetSim_PACKET *packet)
 
bool router_process_query (NetSim_PACKET *packet, ptrIGMP_MSG msg, NETSIM_ID d)
 
void igmp_router_processOtherQuerierPresentTime ()
 
bool router_process_report (NetSim_PACKET *packet, ptrIGMP_MSG msg, NETSIM_ID d)
 
void igmp_router_ProcessGroupMembershipTimer ()
 
void router_free (NETSIM_ID d)
 

Function Documentation

◆ find_or_alloc_multicast_db_router()

ptrIGMP_ROUTER_DB find_or_alloc_multicast_db_router ( NETSIM_IPAddress  addr,
NETSIM_ID  d,
bool *  isAlreadyJoined 
)

Definition at line 20 of file IGMP_Router.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ igmp_router_init()

void igmp_router_init ( NETSIM_ID  d)

Definition at line 158 of file IGMP_Router.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ igmp_router_ProcessGroupMembershipTimer()

void igmp_router_ProcessGroupMembershipTimer ( )

Definition at line 307 of file IGMP_Router.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ igmp_router_processOtherQuerierPresentTime()

void igmp_router_processOtherQuerierPresentTime ( )

Definition at line 239 of file IGMP_Router.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isBroadcastInterfacePresent()

static bool isBroadcastInterfacePresent ( NETSIM_ID  d)
static

Definition at line 78 of file IGMP_Router.c.

Here is the caller graph for this function:

◆ isInterfacePresentInDatabase()

static bool isInterfacePresentInDatabase ( ptrIGMP_ROUTER_DB  db,
NETSIM_ID  ifid 
)
static

Definition at line 91 of file IGMP_Router.c.

Here is the caller graph for this function:

◆ isOtherInterfacePresentInDatabase()

static bool isOtherInterfacePresentInDatabase ( ptrIGMP_ROUTER_DB  db,
NETSIM_ID  ifid 
)
static

Definition at line 101 of file IGMP_Router.c.

Here is the caller graph for this function:

◆ router_add_ip_route()

static void router_add_ip_route ( ptrIGMP_ROUTER_DB  db,
NETSIM_ID  d,
NETSIM_ID  ifid 
)
static

Definition at line 111 of file IGMP_Router.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ router_delete_multicast_db()

static void router_delete_multicast_db ( NETSIM_ID  d,
ptrIGMP_ROUTER_DB  db 
)
static

Definition at line 72 of file IGMP_Router.c.

Here is the caller graph for this function:

◆ router_free()

void router_free ( NETSIM_ID  d)

Definition at line 341 of file IGMP_Router.c.

Here is the caller graph for this function:

◆ router_get_multicast_db()

ptrIGMP_ROUTER_DB router_get_multicast_db ( NETSIM_ID  d,
NETSIM_IPAddress  ip 
)

Definition at line 59 of file IGMP_Router.c.

Here is the caller graph for this function:

◆ router_is_ip_present_in_db()

IP_PROTOCOL_ACTION router_is_ip_present_in_db ( NETSIM_ID  d,
NETSIM_IPAddress  ip,
NetSim_PACKET packet 
)

Definition at line 180 of file IGMP_Router.c.

Here is the call graph for this function:

◆ router_join_multicast_group()

static ptrIGMP_ROUTER_DB router_join_multicast_group ( NETSIM_ID  d,
NETSIM_IPAddress  group 
)
static

Definition at line 46 of file IGMP_Router.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ router_process_query()

bool router_process_query ( NetSim_PACKET packet,
ptrIGMP_MSG  msg,
NETSIM_ID  d 
)

Definition at line 200 of file IGMP_Router.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ router_process_report()

bool router_process_report ( NetSim_PACKET packet,
ptrIGMP_MSG  msg,
NETSIM_ID  d 
)

Definition at line 274 of file IGMP_Router.c.

Here is the call graph for this function:
Here is the caller graph for this function: