FD.io VPP
v19.04-6-g6f05f72
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | dhcp_vss_t_ |
The Virtual Sub-net Selection information for a given RX FIB. More... | |
struct | dhcp_server_t_ |
A representation of a single DHCP Server within a given VRF config. More... | |
struct | dhcp_proxy_t_ |
A DHCP proxy represenation fpr per-client VRF config. More... | |
struct | dhcp_proxy_main_t |
Collection of global DHCP proxy data. More... | |
Macros | |
#define | dhcp_proxy_error(n, s) DHCP_PROXY_ERROR_##n, |
#define | dhcpv6_proxy_error(n, s) DHCPV6_PROXY_ERROR_##n, |
#define | VSS_TYPE_ASCII 0 |
#define | VSS_TYPE_VPN_ID 1 |
#define | VSS_TYPE_INVALID 123 |
#define | VSS_TYPE_DEFAULT 255 |
#define | DHCP_N_PROTOS (FIB_PROTOCOL_IP6 + 1) |
Typedefs | |
typedef struct dhcp_vss_t_ | dhcp_vss_t |
The Virtual Sub-net Selection information for a given RX FIB. More... | |
typedef struct dhcp_server_t_ | dhcp_server_t |
A representation of a single DHCP Server within a given VRF config. More... | |
typedef struct dhcp_proxy_t_ | dhcp_proxy_t |
A DHCP proxy represenation fpr per-client VRF config. More... | |
typedef int(* | dhcp_proxy_walk_fn_t) (dhcp_proxy_t *server, void *ctx) |
Callback function invoked for each DHCP proxy entry return 0 to break the walk, non-zero otherwise. More... | |
typedef int(* | dhcp_vss_walk_fn_t) (dhcp_vss_t *server, u32 rx_table_id, void *ctx) |
Callback function invoked for each DHCP VSS entry return 0 to break the walk, non-zero otherwise. More... | |
Enumerations | |
enum | dhcp_proxy_error_t { DHCP_PROXY_N_ERROR } |
enum | dhcpv6_proxy_error_t { DHCPV6_PROXY_N_ERROR } |
enum | dhcp_port_reg_flags_t { DHCP_PORT_REG_CLIENT = 0x1, DHCP_PORT_REG_SERVER = 0x2 } |
Functions | |
void | dhcp_maybe_register_udp_ports (dhcp_port_reg_flags_t ports) |
Register the dhcp client and/or server ports, if not already done. More... | |
void | dhcp_send_details (fib_protocol_t proto, void *opaque, u32 context, dhcp_proxy_t *proxy) |
Send the details of a proxy session to the API client during a dump. More... | |
int | dhcp_vss_show_walk (dhcp_vss_t *vss, u32 rx_table_id, void *ctx) |
Show (on CLI) a VSS config during a show walk. More... | |
int | dhcp_proxy_set_vss (fib_protocol_t proto, u32 tbl_id, u8 vss_type, u8 *vpn_ascii_id, u32 oui, u32 vpn_index, u8 is_del) |
Configure/set a new VSS info. More... | |
void | dhcp_proxy_dump (fib_protocol_t proto, void *opaque, u32 context) |
Dump the proxy configs to the API. More... | |
int | dhcp_proxy_server_add (fib_protocol_t proto, ip46_address_t *addr, ip46_address_t *src_address, u32 rx_fib_iindex, u32 server_table_id) |
Add a new DHCP proxy server configuration. More... | |
int | dhcp_proxy_server_del (fib_protocol_t proto, u32 rx_fib_index, ip46_address_t *addr, u32 server_table_id) |
Delete a DHCP proxy config. More... | |
u32 | dhcp_proxy_rx_table_get_table_id (fib_protocol_t proto, u32 fib_index) |
void | dhcp_proxy_walk (fib_protocol_t proto, dhcp_proxy_walk_fn_t fn, void *ctx) |
Walk/Visit each DHCP proxy server. More... | |
void | dhcp_vss_walk (fib_protocol_t proto, dhcp_vss_walk_fn_t fn, void *ctx) |
Walk/Visit each DHCP proxy VSS. More... | |
void | dhcp_proxy_lock (dhcp_proxy_t *server) |
Lock a proxy object to prevent simultaneous access of its pending store. More... | |
void | dhcp_proxy_unlock (dhcp_proxy_t *server) |
Lock a proxy object to prevent simultaneous access of its pending store. More... | |
static dhcp_vss_t * | dhcp_get_vss_info (dhcp_proxy_main_t *dm, u32 rx_fib_index, fib_protocol_t proto) |
Get the VSS data for the FIB index. More... | |
static dhcp_proxy_t * | dhcp_get_proxy (dhcp_proxy_main_t *dm, u32 rx_fib_index, fib_protocol_t proto) |
Get the DHCP proxy server data for the FIB index. More... | |
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) |
int | dhcp4_proxy_set_server (ip46_address_t *addr, ip46_address_t *src_addr, u32 rx_table_id, u32 server_table_id, int is_del) |
Variables | |
dhcp_proxy_main_t | dhcp_proxy_main |
Shard 4/6 instance of DHCP main. More... | |
#define DHCP_N_PROTOS (FIB_PROTOCOL_IP6 + 1) |
Definition at line 135 of file dhcp_proxy.h.
#define dhcp_proxy_error | ( | n, | |
s | |||
) | DHCP_PROXY_ERROR_##n, |
Definition at line 33 of file dhcp_proxy.h.
#define dhcpv6_proxy_error | ( | n, | |
s | |||
) | DHCPV6_PROXY_ERROR_##n, |
Definition at line 41 of file dhcp_proxy.h.
#define VSS_TYPE_ASCII 0 |
Definition at line 66 of file dhcp_proxy.h.
#define VSS_TYPE_DEFAULT 255 |
Definition at line 69 of file dhcp_proxy.h.
#define VSS_TYPE_INVALID 123 |
Definition at line 68 of file dhcp_proxy.h.
#define VSS_TYPE_VPN_ID 1 |
Definition at line 67 of file dhcp_proxy.h.
typedef struct dhcp_proxy_t_ dhcp_proxy_t |
A DHCP proxy represenation fpr per-client VRF config.
typedef int(* dhcp_proxy_walk_fn_t) (dhcp_proxy_t *server, void *ctx) |
Callback function invoked for each DHCP proxy entry return 0 to break the walk, non-zero otherwise.
Definition at line 219 of file dhcp_proxy.h.
typedef struct dhcp_server_t_ dhcp_server_t |
A representation of a single DHCP Server within a given VRF config.
typedef struct dhcp_vss_t_ dhcp_vss_t |
The Virtual Sub-net Selection information for a given RX FIB.
typedef int(* dhcp_vss_walk_fn_t) (dhcp_vss_t *server, u32 rx_table_id, void *ctx) |
Callback function invoked for each DHCP VSS entry return 0 to break the walk, non-zero otherwise.
Definition at line 231 of file dhcp_proxy.h.
Enumerator | |
---|---|
DHCP_PORT_REG_CLIENT | |
DHCP_PORT_REG_SERVER |
Definition at line 48 of file dhcp_proxy.h.
enum dhcp_proxy_error_t |
Enumerator | |
---|---|
DHCP_PROXY_N_ERROR |
Definition at line 31 of file dhcp_proxy.h.
enum dhcpv6_proxy_error_t |
Enumerator | |
---|---|
DHCPV6_PROXY_N_ERROR |
Definition at line 39 of file dhcp_proxy.h.
int dhcp4_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 786 of file dhcp4_proxy_node.c.
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 847 of file dhcp6_proxy_node.c.
|
inlinestatic |
Get the DHCP proxy server data for the FIB index.
Definition at line 275 of file dhcp_proxy.h.
|
inlinestatic |
Get the VSS data for the FIB index.
Definition at line 255 of file dhcp_proxy.h.
void dhcp_maybe_register_udp_ports | ( | dhcp_port_reg_flags_t | ports | ) |
Register the dhcp client and/or server ports, if not already done.
Definition at line 749 of file dhcp4_proxy_node.c.
void dhcp_proxy_dump | ( | fib_protocol_t | proto, |
void * | opaque, | ||
u32 | context | ||
) |
Dump the proxy configs to the API.
Definition at line 248 of file dhcp_proxy.c.
void dhcp_proxy_lock | ( | dhcp_proxy_t * | server | ) |
Lock a proxy object to prevent simultaneous access of its pending store.
u32 dhcp_proxy_rx_table_get_table_id | ( | fib_protocol_t | proto, |
u32 | fib_index | ||
) |
Definition at line 46 of file dhcp_proxy.c.
int dhcp_proxy_server_add | ( | fib_protocol_t | proto, |
ip46_address_t * | addr, | ||
ip46_address_t * | src_address, | ||
u32 | rx_fib_iindex, | ||
u32 | server_table_id | ||
) |
Add a new DHCP proxy server configuration.
Definition at line 184 of file dhcp_proxy.c.
int dhcp_proxy_server_del | ( | fib_protocol_t | proto, |
u32 | rx_fib_index, | ||
ip46_address_t * | addr, | ||
u32 | server_table_id | ||
) |
Delete a DHCP proxy config.
Definition at line 144 of file dhcp_proxy.c.
int dhcp_proxy_set_vss | ( | fib_protocol_t | proto, |
u32 | tbl_id, | ||
u8 | vss_type, | ||
u8 * | vpn_ascii_id, | ||
u32 | oui, | ||
u32 | vpn_index, | ||
u8 | is_del | ||
) |
Configure/set a new VSS info.
Definition at line 309 of file dhcp_proxy.c.
void dhcp_proxy_unlock | ( | dhcp_proxy_t * | server | ) |
Lock a proxy object to prevent simultaneous access of its pending store.
void dhcp_proxy_walk | ( | fib_protocol_t | proto, |
dhcp_proxy_walk_fn_t | fn, | ||
void * | ctx | ||
) |
Walk/Visit each DHCP proxy server.
Definition at line 67 of file dhcp_proxy.c.
void dhcp_send_details | ( | fib_protocol_t | proto, |
void * | opaque, | ||
u32 | context, | ||
dhcp_proxy_t * | proxy | ||
) |
Send the details of a proxy session to the API client during a dump.
Definition at line 134 of file dhcp_api.c.
int dhcp_vss_show_walk | ( | dhcp_vss_t * | vss, |
u32 | rx_table_id, | ||
void * | ctx | ||
) |
Show (on CLI) a VSS config during a show walk.
Definition at line 259 of file dhcp_proxy.c.
void dhcp_vss_walk | ( | fib_protocol_t | proto, |
dhcp_vss_walk_fn_t | fn, | ||
void * | ctx | ||
) |
Walk/Visit each DHCP proxy VSS.
Definition at line 87 of file dhcp_proxy.c.
dhcp_proxy_main_t dhcp_proxy_main |
Shard 4/6 instance of DHCP main.
Definition at line 25 of file dhcp_proxy.c.