加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux内核--网络栈实现分析(一)--网络栈初始化--转

发布时间:2021-01-23 23:32:46 所属栏目:Linux 来源:网络整理
导读:转载地址? 作者:闫明 ?本文分析基于内核Linux Kernel 1.2.13 以后的系列博文将深入分析Linux内核的网络栈实现原理,这里看到曹桂平博士的分析后,也决定选择Linux内核1.2.13版本进行分析。 原因如下: 1.功能和网络栈层次已经非常清晰 2.该版本与其后续版

<div class="dp-highlighter bg_cpp">
<div class="bar">
<div class="tools">
[cpp]?<a class="ViewSource" title="view plain" href="http://blog.csdn.net/geekcome/article/details/7488828"&gt;view plain<a class="CopyToClipboard" title="copy" href="http://blog.csdn.net/geekcome/article/details/7488828"&gt;copy

?
  1. {??
  2. ?????net_proto?*pro;??
  3. ??????
  4. ?????(pro->name?!=?NULL)???
  5. ????????(*pro->init_func)(pro);??
  6. ????}??
  7. }??

全局的protocols定义如下:

<div class="dp-highlighter bg_cpp">
<div class="bar">
<div class="tools">
[cpp]?<a class="ViewSource" title="view plain" href="http://blog.csdn.net/geekcome/article/details/7488828"&gt;view plain<a class="CopyToClipboard" title="copy" href="http://blog.csdn.net/geekcome/article/details/7488828"&gt;copy

?
  1. ??
  2. ??
  3. ??{?,????p8022_proto_init?},??
  4. ??
  5. ??{?,????ax25_proto_init?},??
  6. ??
  7. ??
  8. ??{?,??ipx_proto_init?},??
  9. ??
  10. ??
  11. };??

而结构体net_proto的定义net.h中为

<div class="dp-highlighter bg_cpp">
<div class="bar">
<div class="tools">
[cpp]?<a class="ViewSource" title="view plain" href="http://blog.csdn.net/geekcome/article/details/7488828"&gt;view plain<a class="CopyToClipboard" title="copy" href="http://blog.csdn.net/geekcome/article/details/7488828"&gt;copy

?
  1. ?????*name;???????
  2. };??

以后注重讨论标准的INET域让我们回到proto_init()函数

接下来会执行inet_proto_init()函数,进行INET域协议的初始化。该函数的实现在net/inet/af_inet.c中

其中的

(void) sock_register(inet_proto_ops.family,&inet_proto_ops);

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读