OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
gmp_map.cc File Reference
#include <cstdarg>
#include "task_map.h"
#include "oper/multicast.h"
#include "mcast_common.h"
#include "task_thread_api.h"
#include "patricia_api.h"
#include "gmp.h"
#include "gmpx_environment.h"
#include "gmp_router.h"
#include "igmp_private.h"
#include "igmp_protocol.h"
#include "gmp_externs.h"
#include "gmp_intf.h"
#include "gmp_map.h"
#include "gmp_private.h"
#include "gmp_trace.h"
#include "gmpr_trace.h"
Include dependency graph for gmp_map.cc:

Go to the source code of this file.

Macros

#define MAXSTRINGSIZE_1   1000
 

Functions

void gmpx_trace (void *context, const char *fmt,...)
 
void gmp_set_def_igmp_version (uint32_t version)
 
void gmp_set_def_ipv4_ivl_params (uint32_t robust_count, uint32_t qivl, uint32_t qrivl, uint32_t lmqi)
 
void gmp_set_def_intf_params (mc_af mcast_af)
 
mgm_global_datagmp_init (mc_af mcast_af, task *tp, void *gmp_sm)
 
void gmp_deinit (mc_af mcast_af)
 
void gmp_set_intf_params (mgm_global_data *gd, gmp_intf *gif)
 
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, u_int32_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, u_int8_t *group_addr, u_int8_t *source_addr, gmp_intf_handle **output_handle)
 
boolean gmp_policy_cb (void *inst_context, gmp_intf_handle *handle, u_int8_t *group_addr, u_int8_t *source_addr, boolean static_group)
 
boolean gmp_ssm_check_cb (void *inst_context UNUSED, gmp_intf_handle *handle, u_int8_t *group_addr)
 
boolean gmp_client_notification (mgm_global_data *gd)
 
boolean gmp_client_host_notification (mgm_global_data *gd)
 
boolean gmp_notification_handler (mgm_global_data *gd)
 
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, u_int8_t *querier_addr)
 
void gmpx_post_event (void *context, gmpx_event_type ev, const void *parms,...)
 
bool igmp_send_one_packet (gmp_intf_handle *intf)
 
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)
 

Variables

mgm_global_data mgm_global [MCAST_AF_MAX]
 
gmpr_intf_params def_gmpr_intf_params [MCAST_AF_MAX]
 
static gmpr_instance_context gmp_inst_ctx
 
static gmpr_client_context igmp_client_context
 

Macro Definition Documentation

#define MAXSTRINGSIZE_1   1000

Definition at line 31 of file gmp_map.cc.

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:

boolean gmp_client_host_notification ( mgm_global_data gd)

Definition at line 423 of file gmp_map.cc.

Here is the call graph for this function:

boolean gmp_client_notification ( mgm_global_data gd)

Definition at line 309 of file gmp_map.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:

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:

boolean gmp_oif_map_cb ( void *inst_context  UNUSED,
gmp_intf_handle handle,
u_int8_t *  group_addr,
u_int8_t *  source_addr,
gmp_intf_handle **  output_handle 
)

Definition at line 257 of file gmp_map.cc.

boolean gmp_policy_cb ( void *  inst_context,
gmp_intf_handle handle,
u_int8_t *  group_addr,
u_int8_t *  source_addr,
boolean  static_group 
)

Definition at line 267 of file gmp_map.cc.

Here is the call graph for this function:

boolean gmp_process_pkt ( mgm_global_data gd,
gmp_intf gif,
void *  rcv_pkt,
u_int32_t  packet_len,
const gmp_addr_string src_addr,
const gmp_addr_string dst_addr 
)

Definition at line 241 of file gmp_map.cc.

Here is the call graph for this function:

void gmp_set_def_igmp_version ( uint32_t  version)

Definition at line 61 of file gmp_map.cc.

Here is the call graph for this function:

void gmp_set_def_intf_params ( mc_af  mcast_af)

Definition at line 86 of file gmp_map.cc.

Here is the call graph for this function:

void gmp_set_def_ipv4_ivl_params ( uint32_t  robust_count,
uint32_t  qivl,
uint32_t  qrivl,
uint32_t  lmqi 
)

Definition at line 71 of file gmp_map.cc.

void gmp_set_intf_params ( mgm_global_data gd,
gmp_intf gif 
)

Definition at line 161 of file gmp_map.cc.

Here is the call graph for this function:

boolean gmp_ssm_check_cb ( void *inst_context  UNUSED,
gmp_intf_handle handle,
u_int8_t *  group_addr 
)

Definition at line 300 of file gmp_map.cc.

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 gmpx_post_event ( void *  context,
gmpx_event_type  ev,
const void *  parms,
  ... 
)

Definition at line 564 of file gmp_map.cc.

void gmpx_trace ( void *  context,
const char *  fmt,
  ... 
)

Definition at line 548 of file gmp_map.cc.

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:

bool igmp_send_one_packet ( gmp_intf_handle intf)

Definition at line 571 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,
u_int8_t *  querier_addr 
)

Definition at line 541 of file gmp_map.cc.

Variable Documentation

gmpr_intf_params def_gmpr_intf_params[MCAST_AF_MAX]

Definition at line 44 of file gmp_map.cc.

gmpr_instance_context gmp_inst_ctx
static
Initial value:
= {
}
boolean gmp_oif_map_cb(void *inst_context UNUSED, gmp_intf_handle *handle, u_int8_t *group_addr, u_int8_t *source_addr, gmp_intf_handle **output_handle)
Definition: gmp_map.cc:257
boolean gmp_policy_cb(void *inst_context, gmp_intf_handle *handle, u_int8_t *group_addr, u_int8_t *source_addr, boolean static_group)
Definition: gmp_map.cc:267
boolean gmp_ssm_check_cb(void *inst_context UNUSED, gmp_intf_handle *handle, u_int8_t *group_addr)
Definition: gmp_map.cc:300

Definition at line 46 of file gmp_map.cc.

gmpr_client_context igmp_client_context
static
Initial value:
= {
TRUE,
}
#define TRUE
Definition: mcast_common.h:15
#define FALSE
Definition: mcast_common.h:14
void igmp_host_notification_ready(void *context)
Definition: gmp_map.cc:533
void mgm_querier_change(void *cli_context UNUSED, gmp_intf_handle *handle, boolean querier, u_int8_t *querier_addr)
Definition: gmp_map.cc:541
void igmp_notification_ready(void *context)
Definition: gmp_map.cc:524

Definition at line 52 of file gmp_map.cc.

Definition at line 43 of file gmp_map.cc.