tcp: allow local port sharing if 5-tuple available
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Id0c4b46247e7419a328387678a4753cfb1e42d75
This commit is contained in:

committed by
Dave Barach

parent
1bd2c019eb
commit
1e8d949781
@ -764,7 +764,20 @@ tcp_session_open (transport_endpoint_cfg_t * rmt)
|
||||
rmt, &lcl_addr, &lcl_port);
|
||||
|
||||
if (rv)
|
||||
return rv;
|
||||
{
|
||||
if (rv != SESSION_E_PORTINUSE)
|
||||
return rv;
|
||||
|
||||
if (session_lookup_connection (rmt->fib_index, &lcl_addr, &rmt->ip,
|
||||
lcl_port, rmt->port, TRANSPORT_PROTO_UDP,
|
||||
rmt->is_ip4))
|
||||
return SESSION_E_PORTINUSE;
|
||||
|
||||
/* 5-tuple is available so increase lcl endpoint refcount and proceed
|
||||
* with connection allocation */
|
||||
transport_share_local_endpoint (TRANSPORT_PROTO_UDP, &lcl_addr,
|
||||
lcl_port);
|
||||
}
|
||||
|
||||
/*
|
||||
* Create connection and send SYN
|
||||
|
Reference in New Issue
Block a user