(dpdk f-stack)-tcp方式访问server时本地源端口lport选择方法
Posted 阳光梦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(dpdk f-stack)-tcp方式访问server时本地源端口lport选择方法相关的知识,希望对你有一定的参考价值。
nginx连接server时即执行connect函数,最终由FreeBSD中in_pcbconnect_setup选择一个本地未使用的lport与server端口通信。
in_pcbconnect_setup
{
...
if (lport == 0)
{
struct ifaddr *ifa;
struct ifnet *ifp;
struct sockaddr_in ifp_sin;
unsigned loop_count = 0;
bzero(&ifp_sin, sizeof(ifp_sin));
ifp_sin.sin_addr.s_addr = laddr.s_addr;
ifp_sin.sin_family = AF_INET;
ifp_sin.sin_len = sizeof(ifp_sin);
ifa = ifa_ifwithnet((struct sockaddr *)&ifp_sin, 0, RT_ALL_FIBS);
if (ifa == NULL) {
ifp_sin.sin_addr.s_addr = faddr.s_addr;
ifa = ifa_ifwithnet((struct sockaddr *)&ifp_sin, 0, RT_ALL_FIBS);
if ( ifa == NULL )
以上是关于(dpdk f-stack)-tcp方式访问server时本地源端口lport选择方法的主要内容,如果未能解决你的问题,请参考以下文章