![]() |
FD.io VPP
v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
|
Include dependency graph for transport.c: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 (32 * TRANSPORT_PACER_MIN_MSS) |
| #define | PORT_MASK ((1 << 16)- 1) |
| #define | SPACER_CPU_TICKS_PER_PERIOD_SHIFT 10 |
| #define | SPACER_CPU_TICKS_PER_PERIOD (1 << SPACER_CPU_TICKS_PER_PERIOD_SHIFT) |
Variables | |
| transport_proto_vft_t * | tp_vfts |
| Per-type vector of transport protocol virtual function tables. More... | |
| static u32 | port_allocator_seed |
| static transport_endpoint_table_t | local_endpoints_table |
| static transport_endpoint_t * | local_endpoints |
| static clib_spinlock_t | local_endpoints_lock |
| static double | transport_pacer_period |
| #define PORT_MASK ((1 << 16)- 1) |
Definition at line 322 of file transport.c.
| #define SPACER_CPU_TICKS_PER_PERIOD (1 << SPACER_CPU_TICKS_PER_PERIOD_SHIFT) |
Definition at line 529 of file transport.c.
| #define SPACER_CPU_TICKS_PER_PERIOD_SHIFT 10 |
Definition at line 528 of file transport.c.
| #define TRANSPORT_PACER_MAX_BURST (32 * TRANSPORT_PACER_MIN_MSS) |
Definition at line 52 of file transport.c.
| #define TRANSPORT_PACER_MIN_BURST TRANSPORT_PACER_MIN_MSS |
Definition at line 51 of file transport.c.
| #define TRANSPORT_PACER_MIN_MSS 1460 |
Definition at line 50 of file transport.c.
Definition at line 105 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 146 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 132 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 532 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 55 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 80 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_cfg, | ||
| ip46_address_t * | lcl_addr, | ||
| u16 * | lcl_port | ||
| ) |
Definition at line 472 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 375 of file transport.c.
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 | ||
| ) |
| u32 transport_connection_snd_space | ( | transport_connection_t * | tc, |
| u64 | time_now, | ||
| 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 610 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, |
| u64 | time_now | ||
| ) |
Definition at line 602 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, |
| u32 | 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 583 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, |
| u32 | rate_bytes_per_sec, | ||
| u32 | start_bucket, | ||
| u64 | time_now | ||
| ) |
Definition at line 572 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 595 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 636 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_stats | ( | transport_connection_t * | tc, |
| u32 | bytes | ||
| ) |
Update tx byte stats for transport connection.
If tx pacing is enabled, this also updates pacer bucket to account for the amount of bytes that have been sent.
| tc | transport connection |
| pkts | packets recently sent |
| bytes | bytes recently sent |
Definition at line 628 of file transport.c.
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 341 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void transport_endpoint_del | ( | u32 | tepi | ) |
Definition at line 325 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 transport_endpoint_lookup | ( | transport_endpoint_table_t * | ht, |
| u8 | proto, | ||
| ip46_address_t * | ip, | ||
| u16 | port | ||
| ) |
Definition at line 358 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
| void transport_endpoint_table_add | ( | transport_endpoint_table_t * | ht, |
| u8 | proto, | ||
| transport_endpoint_t * | te, | ||
| u32 | value | ||
| ) |
| void transport_endpoint_table_del | ( | transport_endpoint_table_t * | ht, |
| u8 | proto, | ||
| transport_endpoint_t * | te | ||
| ) |
|
static |
Definition at line 438 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 412 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 672 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void transport_init_tx_pacers_period | ( | void | ) |
Initialize period for tx pacers.
Defines a unit of time with respect to number of cpu cycles that is to be used by all tx pacers.
Definition at line 643 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 266 of file transport.c.
Here is the caller graph for this function:| u8 transport_protocol_is_cl | ( | transport_proto_t | tp | ) |
| transport_service_type_t transport_protocol_service_type | ( | transport_proto_t | tp | ) |
| transport_tx_fn_type_t transport_protocol_tx_fn_type | ( | transport_proto_t | tp | ) |
| 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 248 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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 | ||
| ) |
| uword unformat_transport_proto | ( | unformat_input_t * | input, |
| va_list * | args | ||
| ) |
Definition at line 161 of file transport.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 38 of file transport.c.
|
static |
Definition at line 43 of file transport.c.
|
static |
Definition at line 33 of file transport.c.
|
static |
Definition at line 28 of file transport.c.
| transport_proto_vft_t* tp_vfts |
Per-type vector of transport protocol virtual function tables.
Definition at line 23 of file transport.c.
|
static |
Definition at line 48 of file transport.c.