Change-Id: Idf83fce8ca176e57b323e3741034e3223f1d195a
Signed-off-by: Florin Coras <fcoras@cisco.com>
* @param tc tcp connection
* @return number of bytes session is allowed to write
*/
* @param tc tcp connection
* @return number of bytes session is allowed to write
*/
-static u32
-tcp_snd_space (tcp_connection_t * tc)
+static inline u32
+tcp_snd_space_inline (tcp_connection_t * tc)
{
int snd_space, snt_limited;
{
int snd_space, snt_limited;
+u32
+tcp_snd_space (tcp_connection_t * tc)
+{
+ return tcp_snd_space_inline (tc);
+}
+
static u32
tcp_session_send_space (transport_connection_t * trans_conn)
{
tcp_connection_t *tc = (tcp_connection_t *) trans_conn;
static u32
tcp_session_send_space (transport_connection_t * trans_conn)
{
tcp_connection_t *tc = (tcp_connection_t *) trans_conn;
- return clib_min (tcp_snd_space (tc),
+ return clib_min (tcp_snd_space_inline (tc),
tc->snd_wnd - (tc->snd_nxt - tc->snd_una));
}
tc->snd_wnd - (tc->snd_nxt - tc->snd_una));
}
+u32 tcp_snd_space (tcp_connection_t * tc);
void tcp_retransmit_first_unacked (tcp_connection_t * tc);
void tcp_fast_retransmit_no_sack (tcp_connection_t * tc);
void tcp_fast_retransmit_sack (tcp_connection_t * tc);
void tcp_retransmit_first_unacked (tcp_connection_t * tc);
void tcp_fast_retransmit_no_sack (tcp_connection_t * tc);
void tcp_fast_retransmit_sack (tcp_connection_t * tc);
if (tcp_opts_wscale (&new_tc0->rcv_opts))
new_tc0->snd_wscale = new_tc0->rcv_opts.wscale;
if (tcp_opts_wscale (&new_tc0->rcv_opts))
new_tc0->snd_wscale = new_tc0->rcv_opts.wscale;
- /* RFC1323: SYN and SYN-ACK wnd not scaled */
- new_tc0->snd_wnd = clib_net_to_host_u16 (tcp0->window);
+ new_tc0->snd_wnd = clib_net_to_host_u16 (tcp0->window)
+ << new_tc0->snd_wscale;
new_tc0->snd_wl1 = seq0;
new_tc0->snd_wl2 = ack0;
new_tc0->snd_wl1 = seq0;
new_tc0->snd_wl2 = ack0;