X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Ftransport_interface.h;h=3bfed4158744ab9df13192162e08173cdba82bc0;hb=fa76a76bf3388f09d55d0c83e7aea507c44f9619;hp=a96c5e12d7a37ee161cd688e47a67511f25169e1;hpb=de9a849a18514f0b09bb5f57a73f6a57ee425c76;p=vpp.git diff --git a/src/vnet/session/transport_interface.h b/src/vnet/session/transport_interface.h index a96c5e12d7a..3bfed415874 100644 --- a/src/vnet/session/transport_interface.h +++ b/src/vnet/session/transport_interface.h @@ -47,7 +47,7 @@ typedef struct _transport_proto_vft */ u32 (*bind) (u32 session_index, transport_endpoint_t * lcl); u32 (*unbind) (u32); - int (*open) (transport_endpoint_t * rmt); + int (*open) (transport_endpoint_cfg_t * rmt); void (*close) (u32 conn_index, u32 thread_index); void (*cleanup) (u32 conn_index, u32 thread_index); clib_error_t *(*enable) (vlib_main_t * vm, u8 is_en); @@ -102,6 +102,9 @@ transport_tx_fn_type_t transport_protocol_tx_fn_type (transport_proto_t tp); void transport_update_time (f64 time_now, u8 thread_index); void transport_enable_disable (vlib_main_t * vm, u8 is_en); +void transport_connection_tx_pacer_reset (transport_connection_t * tc, + u32 rate_bytes_per_sec, + u32 initial_bucket, u64 time_now); /** * Initialize tx pacer for connection * @@ -111,7 +114,7 @@ void transport_enable_disable (vlib_main_t * vm, u8 is_en); */ void transport_connection_tx_pacer_init (transport_connection_t * tc, u32 rate_bytes_per_sec, - u32 burst_bytes); + u32 initial_bucket); /** * Update tx pacer pacing rate @@ -127,9 +130,13 @@ void transport_connection_tx_pacer_update (transport_connection_t * tc, * * @param tc transport connection * @param time_now current cpu time as returned by @ref clib_cpu_time_now + * @param mss transport's mss */ -u32 transport_connection_max_tx_burst (transport_connection_t * tc, - u64 time_now); +u32 transport_connection_snd_space (transport_connection_t * tc, + u64 time_now, u16 mss); + +u32 transport_connection_tx_pacer_burst (transport_connection_t * tc, + u64 time_now); /** * Initialize period for tx pacers @@ -163,6 +170,10 @@ u8 *format_transport_pacer (u8 * s, va_list * args); void transport_connection_update_tx_stats (transport_connection_t * tc, u32 bytes); +void +transport_connection_tx_pacer_update_bytes (transport_connection_t * tc, + u32 bytes); + #endif /* SRC_VNET_SESSION_TRANSPORT_INTERFACE_H_ */ /*