自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

redwingz的博客

Linux内核网络、虚拟化

原创 连接跟踪nf_conntrack_tcp_loose设置

nf_conntrack_tcp_loose选项如果设置为0,对于未完成三次握手的流,内核连接跟踪模块将不会为其创建conntrack结构。反之,值为0的话,将为任意收到的tcp报文创建conntrack结构。默认值为一,如下可通过proc文件nf_conntrack_tcp_loose,获取其当...

2020-02-28 08:14:53 500 0

原创 notrack跳过连接跟踪

使用如下的iptables命令配置notrack, iptables -t raw -A PREROUTING -i ens33 -p tcp --dport 80 --syn -j NOTRACK 或者 iptables -t raw -A PREROUTING -i ens33 -p tcp ...

2020-02-27 20:18:30 221 0

原创 bond接口参数配置

Bond接口最简化的创建命令如下,任何参数都使用默认: ip link add bond1 type bond 或者: ip link add type bond 由内核决定接口名称,格式为:bond%d。 以上命令,创建的bond1设备,默认参数可使用如下命令查看。 $ ip -d link...

2020-02-26 09:20:57 771 0

原创 IP_PKTINFO选项

如下的套接口选项设置命令,用于开启SOL_IP层面的IP_PKTINFO选项,可获取接收报文的相关信息,也可在发送报文时指定报文的相关控制信息,以上信息以结构体in_pktinfo所表示。此选项仅针对数据报类型的套接口(如UDP),并且通过接口recvmsg和sendmsg结构实现。 in...

2020-02-19 21:23:03 597 0

原创 Plone安装

在虚拟机上全新安装的Ubuntu环境: $ cat /etc/issue Ubuntu 18.04.4 LTS \n \l ~$ 获取Plone版本5.2.1,并进行解压。 $ mkdir work $ cd work/ $ $ wget https://launchpad.net/plon...

2020-02-19 19:33:41 102 1

原创 网络设备发送超时定时器

在注册网络设备函数register_netdevice中将调用Qdisc初始化函数dev_init_scheduler,这里将创建设备的watchdog定时器,超时处理函数设置为dev_watchdog,用来监控网络设备的发送队列传输超时。 void dev_init_scheduler(stru...

2020-02-17 09:50:40 515 0

原创 网络设备的__LINK_STATE_START状态与IFF_UP标志

网络设备的打开函数__dev_open,对应于应用层的命令,以下可见,其中会设置状态位__LINK_STATE_START,但是如果设备驱动层的ndo_open函数执行失败,将清除此状态位。否则,执行成功之后,设备将设置IFF_UP标志位。 可见两者之间差着对驱动层ndo_open函数的调用。 s...

2020-02-17 09:48:16 788 0

原创 内核网络设备状态

目前内核中定义了5中设备状态,如下所示。 enum netdev_state_t { __LINK_STATE_START, __LINK_STATE_PRESENT, __LINK_STATE_NOCARRIER, __LINK_STATE_LINKWATCH_P...

2020-02-13 22:37:16 209 0

原创 BQL队列控制

Byte Queue Limits算法试图控制网卡发送队列的大小,如下Intel的e1000驱动的网卡显示当前发送ring有256个,如果填满256个1500字节的报文,对于带宽为1G的e1000完全发送完成,需要256*1500/1G的时间,大约为3.84ms。意味值最后一个报文要在本地经历大约...

2020-02-13 22:01:45 415 0

原创 网络驱动发送队列的停止和冻结

内核中的枚举类型netdev_queue_state_t定义了三种情况,包括设备驱动层面的发送队列停止,协议栈层面的发送队列停止以及发送队列的冻结。另外,定义了三个宏表示了三种组合,其中QUEUE_STATE_ANY_XOFF包含驱动和协议栈两个层面的发送队列停止;其它两个定义如下所示,意义直观。...

2020-02-12 21:57:49 461 0

原创 网络设备驱动发送锁

在协议栈上层提交报文到设备驱动时,内核使用发送锁锁住驱动的报文发送函数netdev_start_xmit,或者其封装函数dev_hard_start_xmit,如下为函数dev_direct_xmit中的调用。 int dev_direct_xmit(struct sk_buff *skb, u1...

2020-02-06 20:00:27 113 0

提示
确定要删除当前文章?
取消 删除