自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 route

// sk->sk_dst_cache存储路由信息 -- 抵达目的地的路径 static inline void __sk_dst_set(struct sock *sk, struct dst_entry *dst) { struct dst_entry *old_dst; old_dst = sk->sk_dst_cache; sk->sk_dst_cache = d...

2019-04-30 17:18:47 144

原创 ip_forward 函数

ip_forward 函数: ip_forward 是所有不是传给本地系统的输入包,的接口函数。由ip_rcv_finish通过dst_input(skb->dst->input)调用。 输入参数,是一个skb结构,其中存储有所有必须信息,通常是通过skb_cow复制产生,保证后续协议处理函数能够接收到原始L3封包。 PS:后续协议处理函数是与ip_rcv并列的L3函数,而非ip_rc...

2019-04-29 09:00:08 2672

原创 Linux L3协议栈 - IPv4 receive2 -- ip_rcv_finish

ip_rcv_finish 主要工作: 1> 本地报文(上报L4)或需要转发 – 对于需要转发的报文,需要找到出口设备和下一跳。 2> 分析和处置一些IP iption。 notes: 通往目的地的路由信息,存储在skb->dst中,可以通过查询路由子系统(ip_route_input)得到该信息,并制定skb->dst->input/output(下一步的处理函数)...

2019-04-26 10:14:25 274

原创 Linux L3协议栈 - IPv4 receive

ip_rcv 在L2处理结束后,skb将会被传递给L3处理,对skb->protocol等于ipv4的情形,ip_rcv将会被netif_receive_skb或者handle_bridge调用。 在ip_rcv函数中,将不会出现任何路由决策或选项处理的逻辑,该部分将会在函数末尾的ip_rcv_finish中被调用。在此之前,需要经过netfilter中,注册过的ipv4&pre_r...

2019-04-23 13:40:36 471

原创 Linux L3协议栈 - IPv4 part

Linux L3协议栈 - IPv4 part发送 Tx 发送 Tx 数据报文,是通过dst_output函数,将数据交给邻域子系统的,而dst_output,可以通过三种不同的方式调用: 1) ip_push_pending_frams - 被两种包裹函数调用,即ip_append_data 和 ip_append_page。用于UDP,ICMP,raw IP协议的传输。 2) ip_queue...

2019-04-23 09:21:04 380

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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