Go to the source code of this file.
|
clib_error_t * | ip6_ioam_enable (int has_trace_option, int has_pot_option, int has_seqno_option, int has_analyse_option) |
|
int | ip6_ioam_set_destination (ip6_address_t *addr, u32 mask_width, u32 vrf_id, int is_add, int is_pop, int is_none) |
|
clib_error_t * | clear_ioam_rewrite_fn (void) |
|
static u8 | is_zero_ip4_address (ip4_address_t *a) |
|
static void | copy_ip6_address (ip6_address_t *dst, ip6_address_t *src) |
|
static void | set_zero_ip6_address (ip6_address_t *a) |
|
static u8 | cmp_ip6_address (ip6_address_t *a1, ip6_address_t *a2) |
|
static u8 | is_zero_ip6_address (ip6_address_t *a) |
|
int | ip6_hbh_add_register_option (u8 option, u8 size, int rewrite_options(u8 *rewrite_string, u8 *size)) |
|
int | ip6_hbh_add_unregister_option (u8 option) |
|
int | ip6_hbh_pop_register_option (u8 option, int options(vlib_buffer_t *b, ip6_header_t *ip, ip6_hop_by_hop_option_t *opt)) |
|
int | ip6_hbh_pop_unregister_option (u8 option) |
|
int | ip6_hbh_get_sizeof_register_option (u8 option, int get_sizeof_hdr_options(u32 *rewrite_size)) |
|
int | ip6_ioam_set_rewrite (u8 **rwp, int has_trace_option, int has_pot_option, int has_seq_no) |
|
int | ip6_hbh_config_handler_register (u8 option, int config_handler(void *data, u8 disable)) |
|
int | ip6_hbh_config_handler_unregister (u8 option) |
|
int | ip6_hbh_flow_handler_register (u8 option, u32 ioam_flow_handler(u32 flow_ctx, u8 add)) |
|
int | ip6_hbh_flow_handler_unregister (u8 option) |
|
u8 * | get_flow_name_from_flow_ctx (u32 flow_ctx) |
|
static flow_data_t * | get_flow (u32 index) |
|
static u32 | get_flow_data_from_flow_ctx (u32 flow_ctx, u8 option) |
|
static u8 | is_seqno_enabled (void) |
|
int | ip6_trace_profile_setup () |
|
static u32 | ioam_flow_add (u8 encap, u8 *flow_name) |
|
static ip6_hop_by_hop_option_t * | ip6_hbh_get_option (ip6_hop_by_hop_header_t *hbh0, u8 option_to_search) |
|
◆ IOAM_DEAP_ENABLED
#define IOAM_DEAP_ENABLED |
( |
|
opaque_data | ) |
(opaque_data & IOAM_DECAP_BIT) |
◆ IOAM_DECAP_BIT
#define IOAM_DECAP_BIT 0x80000000 |
◆ IOAM_HBYH_ADD
◆ IOAM_HBYH_MOD
◆ IOAM_HBYH_POP
◆ IOAM_MASK_DECAP_BIT
◆ IOAM_SET_DECAP
◆ MAX_IP6_HBH_OPTION
#define MAX_IP6_HBH_OPTION 256 |
◆ clear_ioam_rewrite_fn()
◆ cmp_ip6_address()
static u8 cmp_ip6_address |
( |
ip6_address_t * |
a1, |
|
|
ip6_address_t * |
a2 |
|
) |
| |
|
inlinestatic |
◆ copy_ip6_address()
static void copy_ip6_address |
( |
ip6_address_t * |
dst, |
|
|
ip6_address_t * |
src |
|
) |
| |
|
inlinestatic |
◆ get_flow()
◆ get_flow_data_from_flow_ctx()
static u32 get_flow_data_from_flow_ctx |
( |
u32 |
flow_ctx, |
|
|
u8 |
option |
|
) |
| |
|
inlinestatic |
◆ get_flow_name_from_flow_ctx()
u8* get_flow_name_from_flow_ctx |
( |
u32 |
flow_ctx | ) |
|
◆ ioam_flow_add()
static u32 ioam_flow_add |
( |
u8 |
encap, |
|
|
u8 * |
flow_name |
|
) |
| |
|
inlinestatic |
◆ ip6_hbh_add_register_option()
int ip6_hbh_add_register_option |
( |
u8 |
option, |
|
|
u8 |
size, |
|
|
int |
rewrite_optionsu8 *rewrite_string, u8 *size |
|
) |
| |
◆ ip6_hbh_add_unregister_option()
int ip6_hbh_add_unregister_option |
( |
u8 |
option | ) |
|
◆ ip6_hbh_config_handler_register()
int ip6_hbh_config_handler_register |
( |
u8 |
option, |
|
|
int |
config_handlervoid *data, u8 disable |
|
) |
| |
◆ ip6_hbh_config_handler_unregister()
int ip6_hbh_config_handler_unregister |
( |
u8 |
option | ) |
|
◆ ip6_hbh_flow_handler_register()
int ip6_hbh_flow_handler_register |
( |
u8 |
option, |
|
|
u32 |
ioam_flow_handleru32 flow_ctx, u8 add |
|
) |
| |
◆ ip6_hbh_flow_handler_unregister()
int ip6_hbh_flow_handler_unregister |
( |
u8 |
option | ) |
|
◆ ip6_hbh_get_option()
◆ ip6_hbh_get_sizeof_register_option()
int ip6_hbh_get_sizeof_register_option |
( |
u8 |
option, |
|
|
int |
get_sizeof_hdr_optionsu32 *rewrite_size |
|
) |
| |
◆ ip6_hbh_pop_register_option()
int ip6_hbh_pop_register_option |
( |
u8 |
option, |
|
|
int |
optionsvlib_buffer_t *b, ip6_header_t *ip, ip6_hop_by_hop_option_t *opt |
|
) |
| |
◆ ip6_hbh_pop_unregister_option()
int ip6_hbh_pop_unregister_option |
( |
u8 |
option | ) |
|
◆ ip6_ioam_enable()
clib_error_t* ip6_ioam_enable |
( |
int |
has_trace_option, |
|
|
int |
has_pot_option, |
|
|
int |
has_seqno_option, |
|
|
int |
has_analyse_option |
|
) |
| |
◆ ip6_ioam_set_destination()
int ip6_ioam_set_destination |
( |
ip6_address_t * |
addr, |
|
|
u32 |
mask_width, |
|
|
u32 |
vrf_id, |
|
|
int |
is_add, |
|
|
int |
is_pop, |
|
|
int |
is_none |
|
) |
| |
◆ ip6_ioam_set_rewrite()
int ip6_ioam_set_rewrite |
( |
u8 ** |
rwp, |
|
|
int |
has_trace_option, |
|
|
int |
has_pot_option, |
|
|
int |
has_seq_no |
|
) |
| |
◆ ip6_trace_profile_setup()
int ip6_trace_profile_setup |
( |
| ) |
|
◆ is_seqno_enabled()
static u8 is_seqno_enabled |
( |
void |
| ) |
|
|
inlinestatic |
◆ is_zero_ip4_address()
◆ is_zero_ip6_address()
static u8 is_zero_ip6_address |
( |
ip6_address_t * |
a | ) |
|
|
inlinestatic |
◆ set_zero_ip6_address()
static void set_zero_ip6_address |
( |
ip6_address_t * |
a | ) |
|
|
inlinestatic |
◆ ip6_hop_by_hop_ioam_main