上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 70 下一页
摘要: /* 需要对conntrack进行功能扩展的协议,会初始化一个struct nf_conntrack_helper 实例,把该实例注册到Netfilter中管理的全局哈希表中。 查找helper使用的hash 算法 static unsigned int helper_hash(const stru 阅读全文
posted @ 2020-05-08 23:32 codestacklinuxer 阅读(694) 评论(0) 推荐(0)
摘要: 目前内核已经有filter 功能,但是往往实际运用中需要用到一些定制的filter 功能, 所以这个时候仅仅依靠现有的不能完成,于是就出现了conntrack的扩展功能, 最直接的就是tftp helper功能。 先看数据结构: /* struct sk_buff { struct nf_connt 阅读全文
posted @ 2020-05-08 22:25 codestacklinuxer 阅读(560) 评论(0) 推荐(0)
摘要: 今天处理一个cpu标高的bug,原因:在poll 返回后将error事件当做POLLIN事件处理,fd 一直都在唤醒线程处理,但是rcv的时候没有数据; unsigned int datagram_poll(struct file *file, struct socket *sock, poll_t 阅读全文
posted @ 2020-05-07 20:19 codestacklinuxer 阅读(384) 评论(0) 推荐(0)
摘要: Q1:线上问题的process 都为release版本!不带调试信息怎么查?(目前有时需要查线上问题, 不得不解决这个问题) 之前查问题都是编译环境编译一个带有debug信息的版本进行替换来调试,但是这是对必现问题,使用gdb调试没问题,如果是非必现问题呢?替换进程重新运行现象就会消失! 解决方法: 阅读全文
posted @ 2020-05-05 13:37 codestacklinuxer 阅读(760) 评论(0) 推荐(1)
该文被密码保护。 阅读全文
posted @ 2020-05-03 22:10 codestacklinuxer 阅读(731) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2020-05-03 15:20 codestacklinuxer 阅读(1430) 评论(0) 推荐(0)
摘要: 1、坚持定时器在接收方通告接收窗口为0,阻止发送端继续发送数据时设定。 由于连接接收端的发送窗口通告不可靠(只有数据才会确认),如果一个确认丢失了,双方就有可能因为等待对方而使连接终止: 接收放等待接收数据(因为它已经向发送方通过了一个非0窗口),而发送方在等待允许它继续发送数据的窗口更新。 为了防 阅读全文
posted @ 2020-05-02 16:41 codestacklinuxer 阅读(655) 评论(0) 推荐(0)
摘要: tcp keepalive定时器 http server 和client端需要防止“僵死”链接过多!也就是建立了tcp链接,但是没有报文交互, 或者client 由于主机突然掉电!但是server 不知道! 所以需要有一种检测机制,检查tcp连接是否活着在也就是有报文交互!! 也就是检测:对方是否d 阅读全文
posted @ 2020-05-02 15:10 codestacklinuxer 阅读(479) 评论(0) 推荐(0)
摘要: 上一篇文章写道了udp 使用reuseport 多线程编程!!! 但是有几个问题需要考虑一下: 之前hash使用sip sport dip dport为key, 很正常同一个客户端回hash到同一个socket上。。但是其中一个线程挂了呢????????????对于TCP而言,hash的不一致仅仅影 阅读全文
posted @ 2020-04-25 22:02 codestacklinuxer 阅读(255) 评论(0) 推荐(0)
摘要: 目前昨天查一个线上问题:“”dns服务器在我们的设备, 有大量的终端到设备上请求解析域名,但是一直是单线程,dns报文处理不过来”, 然而设备是多核,dns服务器一直不能利用多核资源,所以能不能使用多线程进行处理呢? udp不像tcp那样,udp没有连接的概念,也就是没有通过建立多个连接来提高对dn 阅读全文
posted @ 2020-04-25 19:54 codestacklinuxer 阅读(717) 评论(0) 推荐(0)
上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 70 下一页