FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
dhcp6_proxy_node.c File Reference
+ Include dependency graph for dhcp6_proxy_node.c:

Go to the source code of this file.

Data Structures

struct  dhcpv6_proxy_trace_t
 

Macros

#define dhcpv6_proxy_error(n, s)   s,
 
#define foreach_dhcpv6_proxy_to_server_input_next
 

Enumerations

enum  dhcpv6_proxy_to_server_input_next_t { DHCPV6_PROXY_TO_SERVER_INPUT_N_NEXT }
 

Functions

static u8format_dhcpv6_proxy_trace (u8 *s, va_list *args)
 
static u8format_dhcpv6_proxy_header_with_length (u8 *s, va_list *args)
 
static ip6_address_tip6_interface_first_global_or_site_address (ip6_main_t *im, u32 sw_if_index)
 
static void copy_ip6_address (ip6_address_t *dst, ip6_address_t *src)
 
static uword dhcpv6_proxy_to_server_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
static uword dhcpv6_proxy_to_client_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
static clib_error_tdhcp6_proxy_init (vlib_main_t *vm)
 
int dhcp6_proxy_set_server (ip46_address_t *addr, ip46_address_t *src_addr, u32 rx_table_id, u32 server_table_id, int is_del)
 
static clib_error_tdhcpv6_proxy_set_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static u8format_dhcp6_proxy_server (u8 *s, va_list *args)
 
static int dhcp6_proxy_show_walk (dhcp_proxy_t *proxy, void *ctx)
 
static clib_error_tdhcpv6_proxy_show_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tdhcpv6_vss_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tdhcpv6_vss_show_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tdhcpv6_link_address_show_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 

Variables

static char * dhcpv6_proxy_error_strings []
 
static vlib_node_registration_t dhcpv6_proxy_to_server_node
 (constructor) VLIB_REGISTER_NODE (dhcpv6_proxy_to_server_node) More...
 
static vlib_node_registration_t dhcpv6_proxy_to_client_node
 (constructor) VLIB_REGISTER_NODE (dhcpv6_proxy_to_client_node) More...
 
static ip6_address_t all_dhcpv6_server_address
 
static ip6_address_t all_dhcpv6_server_relay_agent_address
 
static vlib_cli_command_t dhcpv6_proxy_set_command
 (constructor) VLIB_CLI_COMMAND (dhcpv6_proxy_set_command) More...
 
static vlib_cli_command_t dhcpv6_proxy_show_command
 (constructor) VLIB_CLI_COMMAND (dhcpv6_proxy_show_command) More...
 
static vlib_cli_command_t dhcpv6_proxy_vss_command
 (constructor) VLIB_CLI_COMMAND (dhcpv6_proxy_vss_command) More...
 
static vlib_cli_command_t dhcpv6_proxy_vss_show_command
 (constructor) VLIB_CLI_COMMAND (dhcpv6_proxy_vss_show_command) More...
 
static vlib_cli_command_t dhcpv6_proxy_address_show_command
 (constructor) VLIB_CLI_COMMAND (dhcpv6_proxy_address_show_command) More...
 

Macro Definition Documentation

◆ dhcpv6_proxy_error

#define dhcpv6_proxy_error (   n,
 
)    s,

◆ foreach_dhcpv6_proxy_to_server_input_next

#define foreach_dhcpv6_proxy_to_server_input_next
Value:
_ (DROP, "error-drop") \
_ (LOOKUP, "ip6-lookup") \
_ (SEND_TO_CLIENT, "dhcpv6-proxy-to-client")
DROP
Definition: error.def:41

Definition at line 32 of file dhcp6_proxy_node.c.

Enumeration Type Documentation

◆ dhcpv6_proxy_to_server_input_next_t

Enumerator
DHCPV6_PROXY_TO_SERVER_INPUT_N_NEXT 

Definition at line 38 of file dhcp6_proxy_node.c.

Function Documentation

◆ copy_ip6_address()

static void copy_ip6_address ( ip6_address_t dst,
ip6_address_t src 
)
inlinestatic

Definition at line 125 of file dhcp6_proxy_node.c.

+ Here is the caller graph for this function:

◆ dhcp6_proxy_init()

static clib_error_t* dhcp6_proxy_init ( vlib_main_t vm)
static

Definition at line 829 of file dhcp6_proxy_node.c.

+ Here is the call graph for this function:

◆ dhcp6_proxy_set_server()

int dhcp6_proxy_set_server ( ip46_address_t *  addr,
ip46_address_t *  src_addr,
u32  rx_table_id,
u32  server_table_id,
int  is_del 
)

Definition at line 854 of file dhcp6_proxy_node.c.

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

◆ dhcp6_proxy_show_walk()

static int dhcp6_proxy_show_walk ( dhcp_proxy_t proxy,
void *  ctx 
)
static

Definition at line 1043 of file dhcp6_proxy_node.c.

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

◆ dhcpv6_link_address_show_command_fn()

static clib_error_t* dhcpv6_link_address_show_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 1141 of file dhcp6_proxy_node.c.

+ Here is the call graph for this function:

◆ dhcpv6_proxy_set_command_fn()

static clib_error_t* dhcpv6_proxy_set_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 943 of file dhcp6_proxy_node.c.

+ Here is the call graph for this function:

◆ dhcpv6_proxy_show_command_fn()

static clib_error_t* dhcpv6_proxy_show_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 1053 of file dhcp6_proxy_node.c.

+ Here is the call graph for this function:

◆ dhcpv6_proxy_to_client_input()

static uword dhcpv6_proxy_to_client_input ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)
static

Definition at line 565 of file dhcp6_proxy_node.c.

+ Here is the call graph for this function:

◆ dhcpv6_proxy_to_server_input()

static uword dhcpv6_proxy_to_server_input ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)
static

Definition at line 132 of file dhcp6_proxy_node.c.

+ Here is the call graph for this function:

◆ dhcpv6_vss_command_fn()

static clib_error_t* dhcpv6_vss_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 1074 of file dhcp6_proxy_node.c.

+ Here is the call graph for this function:

◆ dhcpv6_vss_show_command_fn()

static clib_error_t* dhcpv6_vss_show_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 1123 of file dhcp6_proxy_node.c.

+ Here is the call graph for this function:

◆ format_dhcp6_proxy_server()

static u8* format_dhcp6_proxy_server ( u8 s,
va_list *  args 
)
static

Definition at line 1011 of file dhcp6_proxy_node.c.

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

◆ format_dhcpv6_proxy_header_with_length()

static u8* format_dhcpv6_proxy_header_with_length ( u8 s,
va_list *  args 
)
static

Definition at line 86 of file dhcp6_proxy_node.c.

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

◆ format_dhcpv6_proxy_trace()

static u8* format_dhcpv6_proxy_trace ( u8 s,
va_list *  args 
)
static

Definition at line 64 of file dhcp6_proxy_node.c.

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

◆ ip6_interface_first_global_or_site_address()

static ip6_address_t* ip6_interface_first_global_or_site_address ( ip6_main_t im,
u32  sw_if_index 
)
static

Definition at line 103 of file dhcp6_proxy_node.c.

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

Variable Documentation

◆ all_dhcpv6_server_address

ip6_address_t all_dhcpv6_server_address
static

Definition at line 60 of file dhcp6_proxy_node.c.

◆ all_dhcpv6_server_relay_agent_address

ip6_address_t all_dhcpv6_server_relay_agent_address
static

Definition at line 61 of file dhcp6_proxy_node.c.

◆ dhcpv6_proxy_address_show_command

vlib_cli_command_t dhcpv6_proxy_address_show_command
static
Initial value:
= {
.path = "show dhcpv6 link-address interface",
.short_help = "show dhcpv6 link-address interface <interface>",
}
static clib_error_t * dhcpv6_link_address_show_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (dhcpv6_proxy_address_show_command)

Definition at line 1181 of file dhcp6_proxy_node.c.

◆ dhcpv6_proxy_error_strings

char* dhcpv6_proxy_error_strings[]
static
Initial value:
= {
#define dhcpv6_proxy_error(n,s)
}

Definition at line 26 of file dhcp6_proxy_node.c.

◆ dhcpv6_proxy_set_command

vlib_cli_command_t dhcpv6_proxy_set_command
static
Initial value:
= {
.path = "set dhcpv6 proxy",
.short_help = "set dhcpv6 proxy [del] server <ipv6-addr> src-address <ipv6-addr> "
"[server-fib-id <fib-id>] [rx-fib-id <fib-id>] ",
}
static clib_error_t * dhcpv6_proxy_set_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (dhcpv6_proxy_set_command)

Definition at line 1002 of file dhcp6_proxy_node.c.

◆ dhcpv6_proxy_show_command

vlib_cli_command_t dhcpv6_proxy_show_command
static
Initial value:
= {
.path = "show dhcpv6 proxy",
.short_help = "Display dhcpv6 proxy info",
}
static clib_error_t * dhcpv6_proxy_show_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (dhcpv6_proxy_show_command)

Definition at line 1066 of file dhcp6_proxy_node.c.

◆ dhcpv6_proxy_to_client_node

static vlib_node_registration_t dhcpv6_proxy_to_client_node
static
Initial value:
= {
.name = "dhcpv6-proxy-to-client",
.vector_size = sizeof (u32),
.n_errors = DHCPV6_PROXY_N_ERROR,
.error_strings = dhcpv6_proxy_error_strings,
.format_trace = format_dhcpv6_proxy_trace,
}
static u8 * format_dhcpv6_proxy_trace(u8 *s, va_list *args)
static u8 * format_dhcpv6_proxy_header_with_length(u8 *s, va_list *args)
static char * dhcpv6_proxy_error_strings[]
unsigned int u32
Definition: types.h:88
static uword dhcpv6_proxy_to_client_input(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)

(constructor) VLIB_REGISTER_NODE (dhcpv6_proxy_to_client_node)

Definition at line 57 of file dhcp6_proxy_node.c.

◆ dhcpv6_proxy_to_server_node

static vlib_node_registration_t dhcpv6_proxy_to_server_node
static
Initial value:
= {
.name = "dhcpv6-proxy-to-server",
.vector_size = sizeof (u32),
.n_errors = DHCPV6_PROXY_N_ERROR,
.error_strings = dhcpv6_proxy_error_strings,
.next_nodes = {
#define _(s,n)
},
.format_trace = format_dhcpv6_proxy_trace,
}
static u8 * format_dhcpv6_proxy_trace(u8 *s, va_list *args)
static u8 * format_dhcpv6_proxy_header_with_length(u8 *s, va_list *args)
static char * dhcpv6_proxy_error_strings[]
unsigned int u32
Definition: types.h:88
#define foreach_dhcpv6_proxy_to_server_input_next
static uword dhcpv6_proxy_to_server_input(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)

(constructor) VLIB_REGISTER_NODE (dhcpv6_proxy_to_server_node)

Definition at line 56 of file dhcp6_proxy_node.c.

◆ dhcpv6_proxy_vss_command

vlib_cli_command_t dhcpv6_proxy_vss_command
static
Initial value:
= {
.path = "set dhcpv6 vss",
.short_help = "set dhcpv6 vss table <table-id> [oui <n> vpn-id <n> | vpn-ascii-id <text>]",
.function = dhcpv6_vss_command_fn,
}
static clib_error_t * dhcpv6_vss_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (dhcpv6_proxy_vss_command)

Definition at line 1115 of file dhcp6_proxy_node.c.

◆ dhcpv6_proxy_vss_show_command

vlib_cli_command_t dhcpv6_proxy_vss_show_command
static
Initial value:
= {
.path = "show dhcpv6 vss",
.short_help = "show dhcpv6 VSS",
}
static clib_error_t * dhcpv6_vss_show_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (dhcpv6_proxy_vss_show_command)

Definition at line 1133 of file dhcp6_proxy_node.c.