//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,
linux内核结构体-注释详解:struct ctl_table ipv4_net_table[]
于 2023-07-11 16:25:22 首次发布