logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

DPDK内核模块KNI

DPDK Kernel NIC Interface (KNI)接口允许DPDK用户程序访问Linux控制平面。使用DPDK KNI的有点如下:相较现存的Linux TUN/TAP接口更快的速度(消除了系统调用以及copy_to_user()/copy_from_user()内存拷贝的消耗)允许标准Linux网络工具管理DPDK接口,如ethtool, ifconfig 和 tcpdum...

Linux网桥MAC地址的选择

网桥创建在网桥创建时(brctl addbr br_test),内核为其生成一个随机的mac地址,并保证此地址的多播位为零(首字节第一个bit位:addr[0] &= 0xfe),并且设置上首字节的第二个bit位,表明为本地生成的mac地址(addr[0] |= 0x02)。static inline void eth_hw_addr_random(struct net_devic

网桥调用IP层netfilter的HOOK函数

Linux中的网桥属于二层转发设备,可利用ebtables工具根据数据包的ethernet头等信息,配置规则,如下,将目的MAC地址为00:01:02:03:04:05的数据包,转发到目的MAC地址为00:06:07:08:09:0a的主机上:ebtables -t nat -A PREROUTING -d 00:01:02:03:04:05 -j dnat --to-destination 00

UDP的checksum计算与硬件Offload

Linux内核中UDP数据包的计算由函数udp_send_skb完成。根据代码可见,存在4种不同的计算方式。对于IPv4协议来说,UDP的校验和是可选的,用户可通过setsockopt(SO_NO_CHECK)系统调用关闭校验和计算。if (is_udplite)/*UDP-Lite*/csum = udpl...

网桥的vlan filtering过滤功能

网桥的VLAN Filtering功能,顾名思义实现对入口与出口数据包依据VLAN信息的过滤。vlan filtering功能默认是关闭的,可通过如下命令开启:echo 1 > /sys/class/net/brx/bridge/vlan_filtering或者ip link set brx type bridge vlan_filtering 1初始化VLAN过滤Linux网桥在初

IPv6本地链路地址生成方式

IPv6中定义的一种地址类别为本地链路地址Link-Local Addresses,协议中规定,每个IPv6接口必须要有本地链路地址,使用FE80::/10地址块,相同于IPv4中的169.254.0.0/16网段,尽在本地链路有效。Linux内核中定义了4中生成IPv6本地链路地址的方式,参见枚举类型in6_addr_gen_mode的定义:enum in6_addr_gen_mode {...

编译SONiC交换机镜像

sonic-buildimage编译SONiC交换机镜像描述以下是关于如何为网络交换机构建(ONIE)兼容网络操作系统(NOS)安装程序镜像的说明,以及如何构建在NOS内运行的Docker镜像。请注意,SONiC镜像是根据每个ASIC平台来构建的。使用相同ASIC平台的交换机共享一个通用镜像。有关支持的交换机和ASIC的列表,请参阅此列表。硬件任何服务器都可作为构建映像的服务器。我们使用...

Linux防火墙NAT之SIP

环境:防火墙 - Ubuntu Server 17.10.SIP - Yate客户端,Asterisk服务器网络拓扑:1)防火墙配置IP,打开转发:ifconfig enp2s0 192.168.1.131ifconfig enp3s0 192.168.100.1echo 1 > /proc/sys/net/ipv4/ip_forward2)加载nf_nat_s...

TCP用户超时(UTO)

Linux内核提供了可设置的TCP用户超时时长(TCP User Timeout),其控制发送的未确认数据可保持多长时间,之后强制关闭连接。但是,内核不支持RFC5482定义的TCP UTO选项(User Timeout Option),不会将此设置通告给对端,其为本地超时时长。UTO用户接口应用层可通过setsockopt选项TCP_USER_TIMEOUT设置超时时长,内核将其保存在ics..

Linux MPLS功能详解

使用mpls功能,首先需要加载mpls相关的模块:$ sudo modprobe mpls_gso$ sudo modprobe mpls_iptunnel$ sudo modprobe mpls_router  使能mpls的接收和设置labels表项的数量,默认情况下内核不接收mpls报文,如果不使能此项,在如下使用ip命令配置本机环回lo接口接收mpls数据包时就会失败。labels...

    共 17 条
  • 1
  • 2
  • 请选择