linux内核结构体-注释详解:struct ctl_table ipv4_net_table[]

//linux-5.10.x\net\ipv4\sysctl_net_ipv4.c
//与IPv4网络配置参数相关的结构体,每个结构体代表一个配置项
static struct ctl_table ipv4_net_table[] = {
   
   
	{
   
   
		.procname	= "icmp_echo_ignore_all",				//该配置项用于控制系统是否忽略所有的ICMP回显请求
		.data		= &init_net.ipv4.sysctl_icmp_echo_ignore_all,
		.maxlen		= sizeof(int),
		.mode		= 0644,
		.proc_handler	= proc_dointvec
	},
	{
   
   
		.procname	= "icmp_echo_ignore_broadcasts",		//该配置项用于控制系统是否忽略广播类型的ICMP回显请求
		.data		= &init_net.ipv4.sysctl_icmp_echo_ignore_broadcasts,
		.maxlen		= sizeof(int),
		.mode		= 0644,
		.proc_handler	= proc_dointvec
	},
	{
   
   
		.procname	= "icmp_ignore_bogus_error_responses",	//该配置项用于控制系统是否忽略来自不可信源的错误类型的ICMP响应
		.data		= &init_net.ipv4.sysctl_icmp_ignore_bogus_error_responses,
		.maxlen		= sizeof(int),
		.mode		= 0644,
		.proc_handler	= proc_dointvec
	},
	{
   
   
		.procname	= "icmp_errors_use_inbound_ifaddr",		//该配置项用于确定系统在发送ICMP错误报文时使用的源地址
		.data		= &init_net.ipv4.sysctl_icmp_errors_use_inbound_ifaddr,
		.maxlen		= sizeof(int),
		.mode		= 0644,
		.proc_handler	= proc_dointvec
	},
	{
   
   
		.procname	= "icmp_ratelimit",						//ICMP速率限制。该配置项用于限制系统可以发送的ICMP消息的速率
		.data		= &init_net.ipv4.sysctl_icmp_ratelimit,
		.maxlen		= sizeof(int),
		.mode		= 0644,
		.proc_handler	= proc_dointvec_ms_jiffies,
	},
	{
   
   
		.procname	= "icmp_ratemask",						//ICMP速率限制掩码。该配置项用于确定哪些ICMP消息受到速率限制的影响
		.data		= &init_net.ipv4.sysctl_icmp_ratemask,
		.maxlen		= sizeof(int),
		.mode		= 0644,
		.proc_handler	= proc_dointvec
	},
	{
   
   
		.procname	= "ping_group_range",					//该配置项用于设置可以使用ping命令的用户组范围
		.data		= &init_net.ipv4.ping_group_range.range,//存储了ping组范围的起始和结束组ID
		.maxlen		= sizeof(gid_t)*2,
		.mode		= 0644,
		.proc_handler	= ipv4_ping_group_range,
	},
#ifdef CONFIG_NET_L3_MASTER_DEV
	{
   
   
		.procname	= "raw_l3mdev_accept",					//表示是否接受使用 L3 主设备的原始套接字报文
		.data		= &init_net.ipv4.sysctl_raw_l3mdev_accept,
		.maxlen		= sizeof(int),
		.mode		= 0644,
		.proc_handler	= proc_dointvec_minmax,
		.extra1		= SYSCTL_ZERO,							//附加参数,表示最小值为 0
		.extra2		= SYSCTL_ONE,							//附加参数,表示最大值为 1
	},
#endif
	{
   
   
		.procname	= "tcp_ecn",							//表示是否启用 TCP ECN(Explicit Congestion Notification)
		.data		= &init_net.ipv4.sysctl_tcp_ecn,
		.maxlen		= sizeof(int),
		.mode		= 0644,
		.proc_handler	= proc_dointvec
	},
	{
   
   
		.procname	= "tcp_ecn_fallback",					//表示是否启用 TCP ECN 回退
		.data		= &init_net.ipv4.sysctl_tcp_ecn_fallback,
		.maxlen		= sizeof(int),
		.mode		= 0644,
		.proc_handler	= proc_dointvec
	},
	{
   
   
		.procname	= "ip_dynaddr",							//该配置项用于控制系统是否允许动态分配IP地址
		.data		= &init_net.ipv4.sysctl_ip_dynaddr,
		.maxlen		= sizeof(int),
		.mode		= 0644,
		.proc_handler	= proc_dointvec
	},
	{
   
   
		.procname	= "ip_early_demux",						//该配置项用于控制系统是否在早期阶段解析IP报文
		.data		= &init_net.ipv4.sysctl_ip_early_demux,
		.maxlen		= sizeof(int),
		.mode		= 0644,
		.proc_handler	= proc_dointvec
	},
	{
   
   
		.procname       = "udp_early_demux",				//该配置项用于控制系统是否在早期阶段解析UDP报文
		.data           = &init_net.ipv4.sysctl_udp_early_demux,
		.maxlen         = sizeof(int),
		.mode           = 0644,
		.proc_handler   = proc_udp_early_demux
	},
	{
   
   
		.procname       = "tcp_early_demux",				//该配置项用于控制系统是否在早期阶段解析TCP报文
		.data           = &init_net.ipv4.sysctl_tcp_early_demux,
		.maxlen         = sizeof(int),
		.mode           = 0644,
		.proc_handler   = proc_tcp_early_demux
	},
	{
   
   
		.procname       = "nexthop_compat_mode",			//该配置项用于控制系统是否启用下一跳兼容模式
		.data           = &init_net.ipv4.sysctl_nexthop_compat_mode,
		.maxlen         = sizeof(int),
		.mode           = 0644,
		.proc_handler   = proc_dointvec_minmax,
		.extra1		= SYSCTL_ZERO,							//extra1和extra2参数指定该配置项的最小和最大值。在此情况下,允许的值为0和1
		.extra2		= SYSCTL_ONE,
	},
	{
   
   
		.procname	= "ip_default_ttl",						//该配置项用于设置IP报文的默认生存时间
		.data		= &init_net.ipv4.sysctl_ip_default_ttl,
		.maxlen		= sizeof(int),
		.mode		= 0644,
		.proc_handler	= proc_dointvec_minmax,
		.extra1		= &ip_ttl_min,							//extra1和extra2参数指定该配置项的最小和最大值
		.extra2		= &ip_ttl_max,
	},
	{
   
   
		.procname	= "ip_local_port_range",				//该配置项用于设置本地端口的有效范围
		.maxlen		= sizeof(init_net.ipv4.ip_local_ports.range),
		.data		= &init_net.ipv4.ip_local_ports.range,
		.mode		= 0644,
		.proc_handler	= ipv4_local_port_range,
	},
	{
   
   
		.procname	= "ip_local_reserved_ports",			//该配置项用于设置保留的本地端口,这些端口不会被普通应用程序使用
		.data		= &init_net.ipv4.sysctl_local_reserved_ports,
		.maxlen		= 65536,
		.mode		= 0644,
		.proc_handler	= proc_do_large_bitmap,
	},
	{
   
   
		.procname	= "ip_no_pmtu_disc",					//该配置项用于控制系统是否禁用路径MTU发现功能
		.data		= &init_net.ipv4.sysctl_ip_no_pmtu_disc,
		.maxlen		= sizeof(int),
		.mode		= 0644,
		.proc_handler	= proc_dointvec
	},
	{
   
   
		.procname	= "ip_forward_use_pmtu",				//该配置项用于控制系统是否在IP转发时启用路径MTU发现功能
		.data		= &init_net.ipv4.sysctl_ip_fwd_use_pmtu,
		.maxlen		= sizeof(int),
		.mode		= 0644,
		.proc_handler	= proc_dointvec,
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值