|
@@ -201,6 +201,23 @@ static int ipv4_ping_group_range(struct ctl_table *table, int write,
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
+static int ipv4_fwd_update_priority(struct ctl_table *table, int write,
|
|
|
+ void __user *buffer,
|
|
|
+ size_t *lenp, loff_t *ppos)
|
|
|
+{
|
|
|
+ struct net *net;
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ net = container_of(table->data, struct net,
|
|
|
+ ipv4.sysctl_ip_fwd_update_priority);
|
|
|
+ ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
|
|
|
+ if (write && ret == 0)
|
|
|
+ call_netevent_notifiers(NETEVENT_IPV4_FWD_UPDATE_PRIORITY_UPDATE,
|
|
|
+ net);
|
|
|
+
|
|
|
+ return ret;
|
|
|
+}
|
|
|
+
|
|
|
static int proc_tcp_congestion_control(struct ctl_table *ctl, int write,
|
|
|
void __user *buffer, size_t *lenp, loff_t *ppos)
|
|
|
{
|
|
@@ -668,7 +685,7 @@ static struct ctl_table ipv4_net_table[] = {
|
|
|
.data = &init_net.ipv4.sysctl_ip_fwd_update_priority,
|
|
|
.maxlen = sizeof(int),
|
|
|
.mode = 0644,
|
|
|
- .proc_handler = proc_dointvec_minmax,
|
|
|
+ .proc_handler = ipv4_fwd_update_priority,
|
|
|
.extra1 = &zero,
|
|
|
.extra2 = &one,
|
|
|
},
|