OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
gmp_map.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _mgm_global_data
 

Macros

#define IGMP_MAX_NOTIF_PER_PASS   10
 
#define IGMP_MAX_HOST_NOTIF_PER_PASS   50
 
#define MGM_GROUP_ADDED   1
 
#define MGM_GROUP_REMOVED   2
 
#define MGM_GROUP_SRC_REMOVED   3
 

Typedefs

typedef struct _mgm_global_data mgm_global_data
 

Enumerations

enum  mc_af { MCAST_AF_IPV4, MCAST_AF_FIRST = MCAST_AF_IPV4, MCAST_AF_IPV6, MCAST_AF_MAX }
 

Functions

mgm_global_datagmp_init (mc_af mcast_af, task *tp, void *gmp_sm)
 
void gmp_deinit (mc_af mcast_af)
 
gmp_intfgmp_attach_intf (mgm_global_data *gd, void *mif_state)
 
void gmp_detach_intf (mgm_global_data *gd, gmp_intf *gif)
 
boolean gmp_update_intf_state (mgm_global_data *gd, gmp_intf *gif, const gmp_addr_string *intf_addr)
 
boolean gmp_update_intf_querying (mgm_global_data *gd, gmp_intf *gif, boolean query)
 
boolean gmp_process_pkt (mgm_global_data *gd, gmp_intf *gif, void *rcv_pkt, uint32_t packet_len, const gmp_addr_string *src_addr, const gmp_addr_string *dst_addr)
 
boolean gmp_oif_map_cb (void *inst_context UNUSED, gmp_intf_handle *handle, uint8_t *group_addr, uint8_t *source_addr, gmp_intf_handle **output_handle)
 
boolean gmp_policy_cb (void *inst_context, gmp_intf_handle *handle, uint8_t *group_addr, uint8_t *source_addr, boolean static_group)
 
void igmp_notification_ready (void *context)
 
void igmp_host_notification_ready (void *context)
 
void mgm_querier_change (void *cli_context UNUSED, gmp_intf_handle *handle, boolean querier, uint8_t *querier_addr)
 
boolean gmp_ssm_check_cb (void *inst_context UNUSED, gmp_intf_handle *handle, uint8_t *group_addr)
 
void gmp_xmit_ready (gmp_role role, gmp_proto proto, gmpx_intf_id intf_id)
 
void gmp_static_peek (gmp_intf_handle *handle, gmp_proto proto, gmp_packet *rcv_packet)
 
boolean gmp_policy_check (mgm_global_data *gd, gmp_intf *intf, gmp_addr_string source, gmp_addr_string group)
 
void gmp_group_notify (mgm_global_data *gd, gmp_intf *gif, int group_action, gmp_addr_string source, gmp_addr_string group)
 
void gmp_cache_resync_notify (mgm_global_data *gd, gmp_intf *gif, gmp_addr_string source, gmp_addr_string group)
 
void gmp_host_update (mgm_global_data *gd, gmp_intf *intf, boolean join, gmp_addr_string host, gmp_addr_string source, gmp_addr_string group)
 
void gmp_notification_ready (mgm_global_data *gd)
 
boolean gmp_notification_handler (mgm_global_data *gd)
 
uint8_t * gmp_get_send_buffer (mgm_global_data *gd, gmp_intf *intf)
 
void gmp_free_send_buffer (mgm_global_data *gd, gmp_intf *intf, uint8_t *buffer)
 
void gmp_send_one_packet (mgm_global_data *gd, gmp_intf *intf, uint8_t *pkt, uint32_t pkt_len, gmp_addr_string dest)
 

Macro Definition Documentation

#define IGMP_MAX_HOST_NOTIF_PER_PASS   50

Definition at line 26 of file gmp_map.h.

#define IGMP_MAX_NOTIF_PER_PASS   10

Definition at line 25 of file gmp_map.h.

#define MGM_GROUP_ADDED   1

Definition at line 28 of file gmp_map.h.

#define MGM_GROUP_REMOVED   2

Definition at line 29 of file gmp_map.h.

#define MGM_GROUP_SRC_REMOVED   3

Definition at line 30 of file gmp_map.h.

Typedef Documentation

Enumeration Type Documentation

enum mc_af
Enumerator
MCAST_AF_IPV4 
MCAST_AF_FIRST 
MCAST_AF_IPV6 
MCAST_AF_MAX 

Definition at line 8 of file gmp_map.h.

Function Documentation

gmp_intf* gmp_attach_intf ( mgm_global_data gd,
void *  mif_state 
)

Definition at line 177 of file gmp_map.cc.

Here is the call graph for this function:

void gmp_cache_resync_notify ( mgm_global_data gd,
gmp_intf gif,
gmp_addr_string  source,
gmp_addr_string  group 
)

Definition at line 899 of file gmp_proto.cc.

Here is the call graph for this function:

void gmp_deinit ( mc_af  mcast_af)

Definition at line 146 of file gmp_map.cc.

Here is the call graph for this function:

void gmp_detach_intf ( mgm_global_data gd,
gmp_intf gif 
)

Definition at line 207 of file gmp_map.cc.

Here is the call graph for this function:

void gmp_free_send_buffer ( mgm_global_data gd,
gmp_intf intf,
uint8_t *  buffer 
)

Definition at line 970 of file gmp_proto.cc.

Here is the call graph for this function:

uint8_t* gmp_get_send_buffer ( mgm_global_data gd,
gmp_intf intf 
)

Definition at line 959 of file gmp_proto.cc.

Here is the call graph for this function:

void gmp_group_notify ( mgm_global_data gd,
gmp_intf gif,
int  group_action,
gmp_addr_string  source,
gmp_addr_string  group 
)

Definition at line 870 of file gmp_proto.cc.

Here is the call graph for this function:

void gmp_host_update ( mgm_global_data gd,
gmp_intf intf,
boolean  join,
gmp_addr_string  host,
gmp_addr_string  source,
gmp_addr_string  group 
)

Definition at line 927 of file gmp_proto.cc.

Here is the call graph for this function:

mgm_global_data* gmp_init ( mc_af  mcast_af,
task tp,
void *  gmp_sm 
)

Definition at line 115 of file gmp_map.cc.

Here is the call graph for this function:

boolean gmp_notification_handler ( mgm_global_data gd)

Definition at line 511 of file gmp_map.cc.

Here is the call graph for this function:

void gmp_notification_ready ( mgm_global_data gd)

Definition at line 856 of file gmp_proto.cc.

Here is the call graph for this function:

boolean gmp_oif_map_cb ( void *inst_context  UNUSED,
gmp_intf_handle handle,
uint8_t *  group_addr,
uint8_t *  source_addr,
gmp_intf_handle **  output_handle 
)
boolean gmp_policy_cb ( void *  inst_context,
gmp_intf_handle handle,
uint8_t *  group_addr,
uint8_t *  source_addr,
boolean  static_group 
)
boolean gmp_policy_check ( mgm_global_data gd,
gmp_intf intf,
gmp_addr_string  source,
gmp_addr_string  group 
)

Definition at line 827 of file gmp_proto.cc.

Here is the call graph for this function:

boolean gmp_process_pkt ( mgm_global_data gd,
gmp_intf gif,
void *  rcv_pkt,
uint32_t  packet_len,
const gmp_addr_string src_addr,
const gmp_addr_string dst_addr 
)
void gmp_send_one_packet ( mgm_global_data gd,
gmp_intf intf,
uint8_t *  pkt,
uint32_t  pkt_len,
gmp_addr_string  dest 
)

Definition at line 983 of file gmp_proto.cc.

Here is the call graph for this function:

boolean gmp_ssm_check_cb ( void *inst_context  UNUSED,
gmp_intf_handle handle,
uint8_t *  group_addr 
)
void gmp_static_peek ( gmp_intf_handle handle,
gmp_proto  proto,
gmp_packet rcv_packet 
)

Definition at line 624 of file gmp_map.cc.

boolean gmp_update_intf_querying ( mgm_global_data gd,
gmp_intf gif,
boolean  query 
)

Definition at line 230 of file gmp_map.cc.

Here is the call graph for this function:

boolean gmp_update_intf_state ( mgm_global_data gd,
gmp_intf gif,
const gmp_addr_string intf_addr 
)

Definition at line 221 of file gmp_map.cc.

Here is the call graph for this function:

void gmp_xmit_ready ( gmp_role  role,
gmp_proto  proto,
gmpx_intf_id  intf_id 
)

Definition at line 604 of file gmp_map.cc.

Here is the call graph for this function:

void igmp_host_notification_ready ( void *  context)

Definition at line 533 of file gmp_map.cc.

Here is the call graph for this function:

void igmp_notification_ready ( void *  context)

Definition at line 524 of file gmp_map.cc.

Here is the call graph for this function:

void mgm_querier_change ( void *cli_context  UNUSED,
gmp_intf_handle handle,
boolean  querier,
uint8_t *  querier_addr 
)