how does tcp server bind on a socket bind的port是通过tcp_hashinfo里的bhash管理的。跟tcp client的端口号管理有一样。 注:bind 系统调用时,还不会把当前的socket挂载到listen队列上,需要等待listen系统调用。bind系统调用只是把对应的这个端口給占用上了, 其他程序没发bind。 2015-09-14 Socket #IPv4
basic data structure of inet socket: inetsw 0.0.1. protocol链表数组inet有些例外,因为inet支持的类型太过复杂(maybe), 所以引入了一个inetsw的链表数组。就像注释里说的一样。inetsw是inet socket创建的基础,包含创建inet socket全部的所需要信息。 0.0.1.1. inetsw12345125 /* The inetsw table contains everything that i 2015-09-11 Socket #IPv4
How to select tcp client port 1upstream source v4.2+(commit ID:a794b4f). 0.0.0.1. key var0.0.0.1.1. tcp_death_row197 struct inet_hashinfo tcp_hashinfo; 0.0.0.2. callback123456789> connect syscall> > sock->ops->conn 2015-09-09 Socket #Socket
xen tcp checksum for back and front net driver 0.0.0.1. Test casetwo linux guest vm on a same host(physical machine), there is a tcp sessionbetween them. 0.0.0.2. conclusion:the checksum in tcp header is only cover the faked tcp header not the who 2015-06-26 Netdev #checksum
bridge zero copy transmit 0.0.0.1. redhat 7 full support itHow redhat 7 said 123456785.5.1. Bridge Zero Copy TransmitZero copy transmit mode is effective on large packet sizes. It typically reduces the host CPU overhead by up 2015-06-26 Netdev #netdev
how tcpdown direction filter work 0.1. tcpudmp对 direction的支持。内核代码有一个关键数据结构:skb的pkt_type字段。在收发路径这个域被赋值为PACKET_OUTGOING或者其他。这个值被传递到往用户空间,libpcap根据它判断报文的方向是否是期望的。 0.1.1. pkt_type的可能取值1234524 #define PACKET_HOST 0 2015-05-22 Tcpdump #Tcpdump
vhost net study vhost net 的目的是为了避免在host kerne上做一次qemu的调度,提升性能。xmit: 让vm的数据报在 host的内核就把报文发送出去。rcv: 0.0.1. 核心数据结构0.0.1.1. vhost_poll是vhost里最关键的一个数据结构。1234567891027 /* Pol> > file (eventfd or socket) */28 /* Note: 2015-05-21 Netdev #netdev
ipvlan study 0.0.0.1. L2 mode0.0.0.1.1. xmit packet0.0.0.1.1.1. xmit a normal pkt to other phy machine1234==> ipvlan_start_xmit==> ==> ipvlan_xmit_mode_l2==> ==> ==> skb->dev = ipvlan->phy_ 2015-05-21 Netdev #netdev
ftrace study 0.0.1. test caseWe found ixgbe rx softirq poll function ixgbe_poll was called even without pkt coming.how to prove it and who call it? 0.0.2. analysisBy browse source ixgbe_poll is called, it should 2014-10-21 Tools #debug
netdevice watchdog cause tx queue schedule 0.0.1. test caseFor ixgbe nic, we want to assign a tx hardware qeueue to each cpu,and the tx softirq should use the corresponding hardware queue. each packet will select a softqueue in dev_queue_xmit, 2014-09-17 Netdev #netdev