FD.io VPP  v17.04-9-g99c0734
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_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)
 
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, 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 487 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 25 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 736 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,
u32  is_add,
u32  client_index,
void *  event_callback,
u32  pid 
)

Definition at line 836 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 66 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 1021 of file client.c.

+ Here is the call 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 590 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 36 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 917 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 544 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 449 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 466 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 663 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 642 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 263 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 49 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 689 of file client.c.

+ Here is the call 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:590

(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:917

(constructor) VLIB_CLI_COMMAND (dhcp_client_set_command)

Definition at line 1014 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:689

(constructor) VLIB_CLI_COMMAND (show_dhcp_client_command)

Definition at line 729 of file client.c.