![]() |
FD.io VPP
v19.08.1-401-g8e4ed521a
Vector Packet Processing
|
Include dependency graph for transport.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Macros | |
| #define | TRANSPORT_PACER_MIN_MSS 1460 |
| #define | TRANSPORT_PACER_MIN_BURST TRANSPORT_PACER_MIN_MSS |
| #define | TRANSPORT_PACER_MAX_BURST (43 * TRANSPORT_PACER_MIN_MSS) |
| #define | transport_proto_foreach(VAR, BODY) |
Typedefs | |
| typedef struct _transport_options_t | transport_options_t |
| typedef struct _transport_proto_vft | transport_proto_vft_t |
Variables | |
| transport_proto_vft_t * | tp_vfts |
| Per-type vector of transport protocol virtual function tables. More... | |
| #define TRANSPORT_PACER_MAX_BURST (43 * TRANSPORT_PACER_MIN_MSS) |
Definition at line 24 of file transport.h.
| #define TRANSPORT_PACER_MIN_BURST TRANSPORT_PACER_MIN_MSS |
Definition at line 23 of file transport.h.
| #define TRANSPORT_PACER_MIN_MSS 1460 |
Definition at line 22 of file transport.h.
| #define transport_proto_foreach | ( | VAR, | |
| BODY | |||
| ) |
Definition at line 95 of file transport.h.
| typedef struct _transport_options_t transport_options_t |
| typedef struct _transport_proto_vft transport_proto_vft_t |
Definition at line 565 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int transport_alloc_local_endpoint | ( | u8 | proto, |
| transport_endpoint_cfg_t * | rmt, | ||
| ip46_address_t * | lcl_addr, | ||
| u16 * | lcl_port | ||
| ) |
Definition at line 497 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int transport_alloc_local_port | ( | u8 | proto, |
| ip46_address_t * | ip | ||
| ) |
Allocate local port and add if successful add entry to local endpoint table to mark the pair as used.
Definition at line 400 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 142 of file transport.h.
Here is the call graph for this function:
Here is the caller graph for this function:| void transport_cleanup | ( | transport_proto_t | tp, |
| u32 | conn_index, | ||
| u8 | thread_index | ||
| ) |
| void transport_close | ( | transport_proto_t | tp, |
| u32 | conn_index, | ||
| u8 | thread_index | ||
| ) |
| int transport_connect | ( | transport_proto_t | tp, |
| transport_endpoint_cfg_t * | tep | ||
| ) |
|
inlinestatic |
Check if transport connection is paced.
Definition at line 236 of file transport.h.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 transport_connection_snd_space | ( | transport_connection_t * | tc, |
| u16 | mss | ||
| ) |
Get maximum tx burst allowed for transport connection.
| tc | transport connection |
| time_now | current cpu time as returned by clib_cpu_time_now |
| mss | transport's mss |
Definition at line 670 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 transport_connection_tx_pacer_burst | ( | transport_connection_t * | tc | ) |
Get tx pacer max burst.
| tc | transport connection |
| time_now | current cpu time |
Definition at line 663 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void transport_connection_tx_pacer_init | ( | transport_connection_t * | tc, |
| u64 | rate_bytes_per_sec, | ||
| u32 | initial_bucket | ||
| ) |
Initialize tx pacer for connection.
| tc | transport connection |
| rate_bytes_per_second | initial byte rate |
| burst_bytes | initial burst size in bytes |
Definition at line 646 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u64 transport_connection_tx_pacer_rate | ( | transport_connection_t * | tc | ) |
Get tx pacer current rate.
| tc | transport connection |
Definition at line 688 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void transport_connection_tx_pacer_reset | ( | transport_connection_t * | tc, |
| u64 | rate_bytes_per_sec, | ||
| u32 | initial_bucket | ||
| ) |
Definition at line 631 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void transport_connection_tx_pacer_reset_bucket | ( | transport_connection_t * | tc | ) |
Reset tx pacer bucket.
| tc | transport connection |
| time_now | current cpu time |
Definition at line 640 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void transport_connection_tx_pacer_update | ( | transport_connection_t * | tc, |
| u64 | bytes_per_sec | ||
| ) |
Update tx pacer pacing rate.
| tc | transport connection |
| bytes_per_sec | new pacing rate |
Definition at line 656 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void transport_connection_tx_pacer_update_bytes | ( | transport_connection_t * | tc, |
| u32 | bytes | ||
| ) |
Definition at line 701 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void transport_connection_update_tx_bytes | ( | transport_connection_t * | tc, |
| u32 | bytes | ||
| ) |
Update tx bytes for paced transport connection.
If tx pacing is enabled, this update pacer bucket to account for the amount of bytes that have been sent.
| tc | transport connection |
| bytes | bytes recently sent |
Definition at line 694 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
|
inlinestatic |
Definition at line 166 of file transport.h.
Here is the call graph for this function:
Here is the caller graph for this function:| void transport_enable_disable | ( | vlib_main_t * | vm, |
| u8 | is_en | ||
| ) |
Definition at line 366 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
| void transport_get_endpoint | ( | transport_proto_t | tp, |
| u32 | conn_index, | ||
| u32 | thread_index, | ||
| transport_endpoint_t * | tep, | ||
| u8 | is_lcl | ||
| ) |
Definition at line 318 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
|
inlinestatic |
| void transport_get_listener_endpoint | ( | transport_proto_t | tp, |
| u32 | conn_index, | ||
| transport_endpoint_t * | tep, | ||
| u8 | is_lcl | ||
| ) |
Definition at line 334 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void transport_init | ( | void | ) |
Definition at line 730 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| transport_proto_vft_t* transport_protocol_get_vft | ( | transport_proto_t | transport_proto | ) |
Get transport virtual function table.
| type | - session type (not protocol type) |
Definition at line 228 of file transport.c.
Here is the caller graph for this function:| void transport_register_protocol | ( | transport_proto_t | transport_proto, |
| const transport_proto_vft_t * | vft, | ||
| fib_protocol_t | fib_proto, | ||
| u32 | output_node | ||
| ) |
Register transport virtual function table.
| transport_proto | - transport protocol type (i.e., TCP, UDP ..) |
| vft | - virtual function table for transport proto |
| fib_proto | - network layer protocol |
| output_node | - output node index that session layer will hand off buffers to, for requested fib proto |
Definition at line 210 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void transport_reset | ( | transport_proto_t | tp, |
| u32 | conn_index, | ||
| u8 | thread_index | ||
| ) |
| u32 transport_start_listen | ( | transport_proto_t | tp, |
| u32 | session_index, | ||
| transport_endpoint_t * | tep | ||
| ) |
| u32 transport_stop_listen | ( | transport_proto_t | tp, |
| u32 | conn_index | ||
| ) |
| void transport_update_time | ( | clib_time_type_t | time_now, |
| u8 | thread_index | ||
| ) |
| transport_proto_vft_t* tp_vfts |
Per-type vector of transport protocol virtual function tables.
Definition at line 23 of file transport.c.