@@ -141,7 +141,7 @@ Source:
141141
142142 </details >
143143
144- ![ ] ( https://raw.githubusercontent.com/ntk148v/til/master/linux/imageslinux -networking-recv.png )
144+ ![ ] ( https://raw.githubusercontent.com/ntk148v/til/master/linux/images/linux -networking-recv.png )
145145
146146![ ] ( https://img-blog.csdnimg.cn/20201025161643899.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JvbmdfVG9h,size_16,color_FFFFFF,t_70 )
147147
@@ -285,7 +285,7 @@ Source:
285285
286286# ## 1.2. Linux kernel network transmission
287287
288- ! [](https://raw.githubusercontent.com/ntk148v/til/master/linux/imageslinux -networking-send.png)
288+ ! [](https://raw.githubusercontent.com/ntk148v/til/master/linux/images/linux -networking-send.png)
289289
290290! [](https://s2.51cto.com/images/blog/202104/15/25012de83ba2d80fcd790b49ff346b62.png? x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/format,webp/resize,m_fixed,w_1184)
291291
@@ -997,21 +997,21 @@ Source:
997997
998998 - Context switch between kernel and userspace
999999
1000- 
1000+ 
10011001
10021002 - Packet copy between kernel and userspace
10031003
1004- 
1004+ 
10051005
10061006 - Dynamic allocation of `sk_buff`
10071007 - Per packet interrupt
10081008 - Shared data structures
10091009
1010- 
1010+ 
10111011
10121012 - Solution: Why just bypass the kernel?
10131013
1014- 
1014+ 
10151015
10161016 - There are many kernel bypass techniques:
10171017 - User-space packet processing:
0 commit comments