1.内核提供给用户层的接口:
1)systemcall
2)procfs命令:virtual filesystem,编译选项:Filesystems Pseudo filesystems/proc file system support
3)sysctl命令:用户层查看和修改系统变量,并将结果保存在/proc/sys目录下,编译选项:General setupSysctl support
4)sysfs命令:2.6之后的内核支持命令,编译选项:Filesystems Pseudo filesystemssysfs
filesystem support (NEW)." The option is visible only if you firstenable the following option:
"General setup Configure standard kernel features (for smallsystems)."
2.ioctl系统调用:传统的ifconfig以及route命令会调用该函数
Netlink socket:IPROUTE2相关命令会使用该接口
3.procfs和sysctl都输出内核内部信息,前者主要输出只读数据,后者则可以写入
4.多数网络功能在初始化时都会在/proc中注册一个或多个文件
5./proc中的目录可以通过proc_mkdir创建,文件则可以通过定义在linux/include/linux/proc_fs.h中的proc_net_fops_create和proc_net_remove注册和删除
6.sysctl:目录/proc/sys,该目录下的一个文件对应一个内核变量