
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
当TCP套接口的ACK策略处于QUICKACK模式时,意味着TCP套接口将尝试立即回复对端ACK确认报文。配置用户层可通过setsockopt系统调用的选项TCP_QUICKACK开启QUICKACK模式,但是这不是永久生效的,内核根据之后的报文处理,可能退出此模式。在QUICKACK模式开启之后,如果套接口存在需要调度的ACK,调用tcp_cleanup_rbuf函数进一步检查ACK是...
Linux内核中UDP数据包的计算由函数udp_send_skb完成。根据代码可见,存在4种不同的计算方式。对于IPv4协议来说,UDP的校验和是可选的,用户可通过setsockopt(SO_NO_CHECK)系统调用关闭校验和计算。if (is_udplite)/*UDP-Lite*/csum = udpl...
首先需要StrongSwan在报文交互中记录下来IKE和ESP的秘钥信息,参见如下的save-keys.opt文件,负责这一功能的插件为save-keys。其由4个配置参数,load参数表明是否加载此插件;esp参数表明是否记录保持ESP秘钥;ike参数表明是否记录IKE秘钥;最后最关键的是参数wireshark_keys,其值为目录字符串,表示秘钥存储的位置,IKEv1协议的秘钥存储在指定目录的
如下L3XC插件功能测试拓扑:VPP版本设置VPP接口地址:设置l3xc,由TG3/0/0进来的流量,转发到TG3/0/1接口的网关地址12.1.1.100;反之,由TG3/0/1进来的流量转发到TG3/0/0接口的网关地址11.1.2.2。如下:显示l3xc配置信息:PC1与PC2之间流量可通。...
nfnetlink_log日志内容参见:tcpdump抓取nflog日志报文定义的日志结构为nfulnl_logger,类型为NF_LOG_TYPE_ULOG,处理函数为nfulnl_log_packet。static struct nf_logger nfulnl_logger __read_mostly = {.name= "nfnetlink_log",.type= NF_LOG_TYPE_
公司测试仪器紧张,打算安装Trex做简单的测试。如下下载最新的trex工程。解压,得到版本v3.04。运行脚本dpdk_setup_ports.py,配置trex使用的网卡。需要配置偶数的接口数量,可以使用ID,PCI地址或者linux接口名称来指定trex使用的接口。这里根据ID,指定ID为4和5的接口,即linux接口enp7s0和enp8s0。脚本默认配置两个接口为回环模式。先都采用默认的配
有关StrongSwan测试环境的搭建可参见:https://blog.csdn.net/sinat_20184565/article/details/100900670由于已经搭建好了测试环境,将配置文件(strongswan-5.8.1/testing/testing.conf)中以下四项关闭,不用每次执行make-testing的时候,都进行创建,节省时间。# Enable partic..
乱序的数据包被保存在TCP套接口的out_of_order_queue队列中,以红黑树组织,套接口成员ooo_last_skb缓存了此红黑树的最后一个成员,方便内核后续添加新的成员。struct tcp_sock {/* OOO segments go in this rbtree. Socket lock must be held. */struct rb_root...
在文件include/uapi/linux/netlink.h中定义了,目前共有32个组,除去第一个RTNLGRP_NONE,即31个组。/* RTnetlink multicast groups */enum rtnetlink_groups {RTNLGRP_NONE,#define RTNLGRP_NONERTNLGRP_NONERTNLGRP_LINK,#define RTNLGRP_LI
折腾了两天一个解析rtnetlink消息的程序,总是莫名其妙的crash,最终发现是rtattr数组定的时候忘记了加一。之后,查看了一下iproute2中的代码,如下解析IP地址的函数,rta_tb数组的个数为:IFA_MAX+1,进行了加一操作。int print_addrinfo(const struct sockaddr_nl *who, struct nlmsghdr *n, void *







