![]() |
FD.io VPP
v20.01-48-g3e0dafb74
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_PACER_MIN_IDLE 100 |
| #define | TRANSPORT_PACER_IDLE_FACTOR 0.05 |
| #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_IDLE_FACTOR 0.05 |
Definition at line 26 of file transport.h.
| #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_IDLE 100 |
Definition at line 25 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 97 of file transport.h.
| typedef struct _transport_options_t transport_options_t |
| typedef struct _transport_proto_vft transport_proto_vft_t |
Definition at line 594 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 526 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 429 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Definition at line 144 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 246 of file transport.h.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Get maximum tx burst allowed for transport connection.
| tc | transport connection |
Definition at line 159 of file transport.h.
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 696 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 679 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 703 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, | ||
| clib_us_time_t | rtt | ||
| ) |
Definition at line 662 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, |
| u32 | bucket | ||
| ) |
Reset tx pacer bucket.
| tc | transport connection |
| bucket | value the bucket will be reset to |
Definition at line 672 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, | ||
| clib_us_time_t | rtt | ||
| ) |
Update tx pacer pacing rate.
| tc | transport connection |
| bytes_per_sec | new pacing rate |
| rtt | connection rtt that is used to compute inactivity time after which pacer bucket is reset to 1 mtu |
Definition at line 689 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 716 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 709 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 179 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 395 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 347 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 363 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 745 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 257 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 239 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.