[DragonFlyBSD - Bug #943] route entry and tcp_usr_connect/tcp_connect

bugtracker-admin at leaf.dragonflybsd.org bugtracker-admin at leaf.dragonflybsd.org
Fri Dec 21 01:16:24 PST 2018


Issue #943 has been updated by martin1234.

Description updated

How do i use bing application,so don't worry friends,here the fully guide and help your any issue http://bingrewards.info just one a single click here this visit and learn more about.

----------------------------------------
Bug #943: route entry and tcp_usr_connect/tcp_connect
http://bugs.dragonflybsd.org/issues/943#change-13559

* Author: sepherosa
* Status: Closed
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
----------------------------------------
Hi,

It turns out the previous problem (tcp_timer_2msl) is related to
calling tcp_output() in tcp_usr_connect() and tcp_connect().
For TCP PRU_CONNECT is handled on tcp_thread[0] following two
functions are executed in _that_ thread:
tcp_connect() and tcp_output()

tcp_connect() will call in_pcbladdr() if source address is INADDR_ANY,
then inp's route will be filled.  If the target port of this TCP
connection is not tcp_thread[0]'s port then we actually use an route
entry on a different CPU and will unref it on different CPU.  If we
free the route entry allocated in in_pcbladdr() if target port is not
tcp_thread[0]'s port, then tcp_output() in tcp_usr_connect() will
cause problem too, since it is called in tcp_thread[0], an route entry
in CPU0 will still be installed to inp's route.

So I made following patch:
- If target port is not tcp_thread[0]'s port, then we free the route
entry allocated by in_pcbladdr().
- In tcp_usr_connect(), if target port is not tcp_thread[0]'s port, we
dispatch tcp_output to the target port to be called.

Please review it:
http://leaf.dragonflybsd.org/~sephe/tcp_connect.diff

Best Regards,
sephe



-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account



More information about the Bugs mailing list