FD.io VPP  v17.10-9-gd594711
Vector Packet Processing
client.c File Reference
+ Include dependency graph for client.c:

Go to the source code of this file.

Functions

static u8format_dhcp_client_state (u8 *s, va_list *va)
 
static void dhcp_client_add_rx_address (dhcp_client_main_t *dcm, dhcp_client_t *c)
 
static void dhcp_client_remove_rx_address (dhcp_client_main_t *dcm, dhcp_client_t *c)
 
static void dhcp_client_acquire_address (dhcp_client_main_t *dcm, dhcp_client_t *c)
 
static void dhcp_client_release_address (dhcp_client_main_t *dcm, dhcp_client_t *c)
 
static void set_l2_rewrite (dhcp_client_main_t *dcm, dhcp_client_t *c)
 
void vl_api_rpc_call_main_thread (void *fp, u8 *data, u32 data_length)
 
static void dhcp_client_proc_callback (uword *client_index)
 
int dhcp_client_for_us (u32 bi, vlib_buffer_t *b, ip4_header_t *ip, udp_header_t *udp, dhcp_header_t *dhcp)
 
static void send_dhcp_pkt (dhcp_client_main_t *dcm, dhcp_client_t *c, dhcp_packet_type_t type, int is_broadcast)
 
static int dhcp_discover_state (dhcp_client_main_t *dcm, dhcp_client_t *c, f64 now)
 
static int dhcp_request_state (dhcp_client_main_t *dcm, dhcp_client_t *c, f64 now)
 
static int dhcp_bound_state (dhcp_client_main_t *dcm, dhcp_client_t *c, f64 now)
 
static f64 dhcp_client_sm (f64 now, f64 timeout, uword pool_index)
 
static uword dhcp_client_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 
static u8format_dhcp_client (u8 *s, va_list *va)
 
static clib_error_tshow_dhcp_client_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
int dhcp_client_add_del (dhcp_client_add_del_args_t *a)
 
int dhcp_client_config (vlib_main_t *vm, u32 sw_if_index, u8 *hostname, u8 *client_id, u32 is_add, u32 client_index, void *event_callback, u32 pid)
 
static clib_error_tdhcp_client_set_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tdhcp_client_init (vlib_main_t *vm)
 

Variables

dhcp_client_main_t dhcp_client_main
 
static vlib_node_registration_t dhcp_client_process_node
 (constructor) VLIB_REGISTER_NODE (dhcp_client_process_node) More...
 
static vlib_cli_command_t show_dhcp_client_command
 (constructor) VLIB_CLI_COMMAND (show_dhcp_client_command) More...
 
static vlib_cli_command_t dhcp_client_set_command
 (constructor) VLIB_CLI_COMMAND (dhcp_client_set_command) More...
 

Function Documentation

static int dhcp_bound_state ( dhcp_client_main_t dcm,
dhcp_client_t c,
f64  now 
)
static

Definition at line 586 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void dhcp_client_acquire_address ( dhcp_client_main_t dcm,
dhcp_client_t c 
)
static

Definition at line 89 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int dhcp_client_add_del ( dhcp_client_add_del_args_t a)

Definition at line 835 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void dhcp_client_add_rx_address ( dhcp_client_main_t dcm,
dhcp_client_t c 
)
static

Definition at line 25 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int dhcp_client_config ( vlib_main_t vm,
u32  sw_if_index,
u8 hostname,
u8 client_id,
u32  is_add,
u32  client_index,
void *  event_callback,
u32  pid 
)

Definition at line 937 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int dhcp_client_for_us ( u32  bi,
vlib_buffer_t b,
ip4_header_t ip,
udp_header_t udp,
dhcp_header_t dhcp 
)

Definition at line 141 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* dhcp_client_init ( vlib_main_t vm)
static

Definition at line 1125 of file client.c.

+ Here is the call graph for this function:

static void dhcp_client_proc_callback ( uword client_index)
static

Definition at line 126 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword dhcp_client_process ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 689 of file client.c.

+ Here is the call graph for this function:

static void dhcp_client_release_address ( dhcp_client_main_t dcm,
dhcp_client_t c 
)
static

Definition at line 100 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void dhcp_client_remove_rx_address ( dhcp_client_main_t dcm,
dhcp_client_t c 
)
static

Definition at line 60 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 1021 of file client.c.

+ Here is the call graph for this function:

static f64 dhcp_client_sm ( f64  now,
f64  timeout,
uword  pool_index 
)
static

Definition at line 643 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int dhcp_discover_state ( dhcp_client_main_t dcm,
dhcp_client_t c,
f64  now 
)
static

Definition at line 548 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int dhcp_request_state ( dhcp_client_main_t dcm,
dhcp_client_t c,
f64  now 
)
static

Definition at line 565 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8* format_dhcp_client ( u8 s,
va_list *  va 
)
static

Definition at line 762 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8 * format_dhcp_client_state ( u8 s,
va_list *  va 
)
static

Definition at line 741 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void send_dhcp_pkt ( dhcp_client_main_t dcm,
dhcp_client_t c,
dhcp_packet_type_t  type,
int  is_broadcast 
)
static

Definition at line 352 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void set_l2_rewrite ( dhcp_client_main_t dcm,
dhcp_client_t c 
)
static

Definition at line 113 of file client.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 788 of file client.c.

+ Here is the call graph for this function:

void vl_api_rpc_call_main_thread ( void *  fp,
u8 data,
u32  data_length 
)

Definition at line 1517 of file memory_vlib.c.

+ Here is the caller graph for this function:

Variable Documentation

dhcp_client_main_t dhcp_client_main

Definition at line 20 of file client.c.

static vlib_node_registration_t dhcp_client_process_node
static
Initial value:
= {
.function = dhcp_client_process,
.name = "dhcp-client-process",
.process_log2_n_stack_bytes = 16,
}
static uword dhcp_client_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: client.c:689

(constructor) VLIB_REGISTER_NODE (dhcp_client_process_node)

Definition at line 22 of file client.c.

vlib_cli_command_t dhcp_client_set_command
static
Initial value:
= {
.path = "set dhcp client",
.short_help = "set dhcp client [del] intfc <interface> [hostname <name>]",
}
static clib_error_t * dhcp_client_set_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: client.c:1021

(constructor) VLIB_CLI_COMMAND (dhcp_client_set_command)

Definition at line 1118 of file client.c.

vlib_cli_command_t show_dhcp_client_command
static
Initial value:
= {
.path = "show dhcp client",
.short_help = "show dhcp client [intfc <intfc>][verbose]",
}
static clib_error_t * show_dhcp_client_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: client.c:788

(constructor) VLIB_CLI_COMMAND (show_dhcp_client_command)

Definition at line 828 of file client.c.