Go to the source code of this file.
|  | 
| static index_t | replicate_get_index (const replicate_t *rep) | 
|  | 
| static dpo_id_t * | replicate_get_buckets (replicate_t *rep) | 
|  | 
| static replicate_t * | replicate_alloc_i (void) | 
|  | 
| static u8 * | format_replicate_flags (u8 *s, va_list *args) | 
|  | 
| static u8 * | replicate_format (index_t repi, replicate_format_flags_t flags, u32 indent, u8 *s) | 
|  | 
| u8 * | format_replicate (u8 *s, va_list *args) | 
|  | 
| static u8 * | format_replicate_dpo (u8 *s, va_list *args) | 
|  | 
| static replicate_t * | replicate_create_i (u32 num_buckets, dpo_proto_t rep_proto) | 
|  | 
| index_t | replicate_create (u32 n_buckets, dpo_proto_t rep_proto) | 
|  | 
| static void | replicate_set_bucket_i (replicate_t *rep, u32 bucket, dpo_id_t *buckets, const dpo_id_t *next) | 
|  | 
| void | replicate_set_bucket (index_t repi, u32 bucket, const dpo_id_t *next) | 
|  | 
| int | replicate_is_drop (const dpo_id_t *dpo) | 
|  | 
| const dpo_id_t * | replicate_get_bucket (index_t repi, u32 bucket) | 
|  | 
| static load_balance_path_t * | replicate_multipath_next_hop_fixup (load_balance_path_t *nhs, dpo_proto_t drop_proto) | 
|  | 
| static void | replicate_fill_buckets (replicate_t *rep, load_balance_path_t *nhs, dpo_id_t *buckets, u32 n_buckets) | 
|  | 
| static void | replicate_set_n_buckets (replicate_t *rep, u32 n_buckets) | 
|  | 
| void | replicate_multipath_update (const dpo_id_t *dpo, load_balance_path_t *next_hops) | 
|  | 
| static void | replicate_lock (dpo_id_t *dpo) | 
|  | 
| index_t | replicate_dup (replicate_flags_t flags, index_t repi) | 
|  | 
| static void | replicate_destroy (replicate_t *rep) | 
|  | 
| static void | replicate_unlock (dpo_id_t *dpo) | 
|  | 
| static void | replicate_mem_show (void) | 
|  | 
| void | replicate_module_init (void) | 
|  | 
| static clib_error_t * | replicate_show (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) | 
|  | 
| static uword | replicate_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) | 
|  | 
| static u8 * | format_replicate_trace (u8 *s, va_list *args) | 
|  | 
| static uword | ip4_replicate (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) | 
|  | 
| static uword | ip6_replicate (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) | 
|  | 
| static uword | mpls_replicate (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) | 
|  | 
| clib_error_t * | replicate_dpo_init (vlib_main_t *vm) | 
|  | 
◆ foreach_replicate_dpo_error
      
        
          | #define foreach_replicate_dpo_error   _(BUFFER_ALLOCATION_FAILURE, "Buffer Allocation Failure") | 
      
 
 
◆ REP_DBG
      
        
          | #define REP_DBG | ( |  | _rep, | 
        
          |  |  |  | _fmt, | 
        
          |  |  |  | _args... | 
        
          |  | ) |  |  | 
      
 
Value:{                                                                       \
                   "rep:[%U]:" _fmt,                                    \
                   ##_args);                                            \
}
vlib_log_class_t replicate_logger
the logger 
static index_t replicate_get_index(const replicate_t *rep)
u8 * format_replicate(u8 *s, va_list *args)
Definition at line 28 of file replicate_dpo.c.
 
 
◆ replicate_trace_t
◆ replicate_dpo_error_t
◆ format_replicate()
      
        
          | u8* format_replicate | ( | u8 * | s, | 
        
          |  |  | va_list * | args | 
        
          |  | ) |  |  | 
      
 
 
◆ format_replicate_dpo()
  
  | 
        
          | static u8* format_replicate_dpo | ( | u8 * | s, |  
          |  |  | va_list * | args |  
          |  | ) |  |  |  | static | 
 
 
◆ format_replicate_flags()
  
  | 
        
          | static u8* format_replicate_flags | ( | u8 * | s, |  
          |  |  | va_list * | args |  
          |  | ) |  |  |  | static | 
 
 
◆ format_replicate_trace()
  
  | 
        
          | static u8* format_replicate_trace | ( | u8 * | s, |  
          |  |  | va_list * | args |  
          |  | ) |  |  |  | static | 
 
 
◆ ip4_replicate()
◆ ip6_replicate()
◆ mpls_replicate()
◆ replicate_alloc_i()
◆ replicate_create()
◆ replicate_create_i()
◆ replicate_destroy()
◆ replicate_dpo_init()
◆ replicate_dup()
◆ replicate_fill_buckets()
◆ replicate_format()
◆ replicate_get_bucket()
◆ replicate_get_buckets()
◆ replicate_get_index()
◆ replicate_inline()
◆ replicate_is_drop()
      
        
          | int replicate_is_drop | ( | const dpo_id_t * | dpo | ) |  | 
      
 
 
◆ replicate_lock()
  
  | 
        
          | static void replicate_lock | ( | dpo_id_t * | dpo | ) |  |  | static | 
 
 
◆ replicate_mem_show()
  
  | 
        
          | static void replicate_mem_show | ( | void |  | ) |  |  | static | 
 
 
◆ replicate_module_init()
      
        
          | void replicate_module_init | ( | void |  | ) |  | 
      
 
 
◆ replicate_multipath_next_hop_fixup()
◆ replicate_multipath_update()
◆ replicate_set_bucket()
◆ replicate_set_bucket_i()
◆ replicate_set_n_buckets()
  
  | 
        
          | static void replicate_set_n_buckets | ( | replicate_t * | rep, |  
          |  |  | u32 | n_buckets |  
          |  | ) |  |  |  | inlinestatic | 
 
 
◆ replicate_show()
◆ replicate_unlock()
  
  | 
        
          | static void replicate_unlock | ( | dpo_id_t * | dpo | ) |  |  | static | 
 
 
◆ ip4_replicate_node
Initial value:= {
  .name = "ip4-replicate",
  .vector_size = 
sizeof (
u32),
  .n_next_nodes = 1,
  .next_nodes = {
      [0] = "ip4-drop",
  },
}
static u8 * format_replicate_trace(u8 *s, va_list *args)
static char * replicate_dpo_error_strings[]
static uword ip4_replicate(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
IP4 replication node. 
(constructor) VLIB_REGISTER_NODE (ip4_replicate_node) 
Definition at line 843 of file replicate_dpo.c.
 
 
◆ ip6_replicate_node
Initial value:= {
  .name = "ip6-replicate",
  .vector_size = 
sizeof (
u32),
  .n_next_nodes = 1,
  .next_nodes = {
      [0] = "ip6-drop",
  },
}
static u8 * format_replicate_trace(u8 *s, va_list *args)
static char * replicate_dpo_error_strings[]
static uword ip6_replicate(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
IPv6 replication node. 
(constructor) VLIB_REGISTER_NODE (ip6_replicate_node) 
Definition at line 869 of file replicate_dpo.c.
 
 
◆ mpls_replicate_node
Initial value:= {
  .name = "mpls-replicate",
  .vector_size = 
sizeof (
u32),
  .n_next_nodes = 1,
  .next_nodes = {
      [0] = "mpls-drop",
  },
}
static u8 * format_replicate_trace(u8 *s, va_list *args)
static char * replicate_dpo_error_strings[]
static uword mpls_replicate(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
MPLS replication node. 
(constructor) VLIB_REGISTER_NODE (mpls_replicate_node) 
Definition at line 895 of file replicate_dpo.c.
 
 
◆ rep_vft
Initial value:= {
}
static void replicate_unlock(dpo_id_t *dpo)
static void replicate_mem_show(void)
static void replicate_lock(dpo_id_t *dpo)
static u8 * format_replicate_dpo(u8 *s, va_list *args)
Definition at line 629 of file replicate_dpo.c.
 
 
◆ replicate_dpo_error_strings
  
  | 
        
          | char* replicate_dpo_error_strings[] |  | static | 
 
Initial value:= {
#define _(sym,string) 
}
#define foreach_replicate_dpo_error
Definition at line 48 of file replicate_dpo.c.
 
 
◆ replicate_ip4_nodes
  
  | 
        
          | const char* const replicate_ip4_nodes[] |  | static | 
 
Initial value:
The per-protocol VLIB graph nodes that are assigned to a replicate object. 
this means that these graph nodes are ones from which a replicate is the parent object in the DPO-graph. 
Definition at line 643 of file replicate_dpo.c.
 
 
◆ replicate_ip6_nodes
  
  | 
        
          | const char* const replicate_ip6_nodes[] |  | static | 
 
 
◆ replicate_logger
◆ replicate_main
Initial value:= {
    .repm_counters = {
        .name = "mroutes",
        .stat_segment_name = "/net/mroute",
    },
}
The one instance of replicate main. 
Definition at line 62 of file replicate_dpo.c.
 
 
◆ replicate_mpls_nodes
  
  | 
        
          | const char* const replicate_mpls_nodes[] |  | static | 
 
 
◆ replicate_nodes
Initial value:=
{
}
static const char *const replicate_ip6_nodes[]
static const char *const replicate_ip4_nodes[]
The per-protocol VLIB graph nodes that are assigned to a replicate object. 
static const char *const replicate_mpls_nodes[]
Definition at line 659 of file replicate_dpo.c.
 
 
◆ replicate_pool
Pool of all DPOs. 
The encapsulation breakages are for fast DP access.
It's not static so the DP can have fast access 
Definition at line 57 of file replicate_dpo.c.
 
 
◆ replicate_show_command
Initial value:= {
    .path = "show replicate",
    .short_help = "show replicate [<index>]",
}
static clib_error_t * replicate_show(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (replicate_show_command) 
Definition at line 708 of file replicate_dpo.c.