
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
折腾了两天一个解析rtnetlink消息的程序,总是莫名其妙的crash,最终发现是rtattr数组定的时候忘记了加一。之后,查看了一下iproute2中的代码,如下解析IP地址的函数,rta_tb数组的个数为:IFA_MAX+1,进行了加一操作。int print_addrinfo(const struct sockaddr_nl *who, struct nlmsghdr *n, void *
如下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之间流量可通。...
全新安装的Ubuntu系统,版本:$ cat /etc/issueUbuntu 18.04.3 LTS \n \l$StrongSwan的版本为: 5.8.1。在搭建环境之前,更新一个apt系统,将sources.list文件中的如下行增加universe,以防在安装过程中找不到包。$ sudo vi /etc/apt/sources.listdeb http://arch...
如下命令创建LCP接口对,VPP物理接口eth0,对应linux接口host-eth0。LCP插件创建了virtio类型的tap1接口,用于和host-eth0连通。如下定义节点linux-cp-xc-ip4,类型VLIB_NODE_TYPE_INTERNAL。节点属于ip-unicast/ip4-multicast 特性arc。用于处理linux发往VPP的流量。节点处理函数lcp_xc_ip4

LCP中接口创建命令如下。将创建下图结构的三个虚拟网络设备,分别为VPP中的virtio接口,内核中的vhost-net设备和tap后端设备(backend)。其中virtio设备和tap设备可分别在VPP和linux中通过命令查看,vhost设备可通过内核创建的vhost处理线程确定。在创建接口对的函数lcp_itf_pair_create中,由函数tap_create_if执行实际的接口创建工
设置单个进程可使用的内存映射区域的最大数量,默认值为65530,以下设置为262144。由于网络限制,还是需要修改/etc/docker/daemon.json,添加镜像源。镜像拉下来之后,启动ragflow,注意进入到ragflow/docker子目录下执行命令,不然会报错。最后,创建聊天助理,关联以上创建的知识库,提示引擎中可以修改提示词,模型设置中可更换大语言模型。ragflow的安装参考官
当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...
乱序的数据包被保存在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...
设置单个进程可使用的内存映射区域的最大数量,默认值为65530,以下设置为262144。由于网络限制,还是需要修改/etc/docker/daemon.json,添加镜像源。镜像拉下来之后,启动ragflow,注意进入到ragflow/docker子目录下执行命令,不然会报错。最后,创建聊天助理,关联以上创建的知识库,提示引擎中可以修改提示词,模型设置中可更换大语言模型。ragflow的安装参考官







