···248248/* From ip_input.c */249249extern int sysctl_ip_early_demux;250250251251-/* From ip_output.c */252252-extern int sysctl_ip_dynaddr;253253-254251void ipfrag_init(void);255252256253void ip_static_sysctl_init(void);
+2
include/net/netns/ipv4.h
···8484 int sysctl_ip_no_pmtu_disc;8585 int sysctl_ip_fwd_use_pmtu;8686 int sysctl_ip_nonlocal_bind;8787+ /* Shall we try to damage output packets if routing dev changes? */8888+ int sysctl_ip_dynaddr;87898890 int sysctl_fwmark_reflect;8991 int sysctl_tcp_fwmark_accept;
+2-8
net/ipv4/af_inet.c
···10951095}10961096EXPORT_SYMBOL(inet_unregister_protosw);1097109710981098-/*10991099- * Shall we try to damage output packets if routing dev changes?11001100- */11011101-11021102-int sysctl_ip_dynaddr __read_mostly;11031103-11041098static int inet_sk_reselect_saddr(struct sock *sk)11051099{11061100 struct inet_sock *inet = inet_sk(sk);···11251131 if (new_saddr == old_saddr)11261132 return 0;1127113311281128- if (sysctl_ip_dynaddr > 1) {11341134+ if (sock_net(sk)->ipv4.sysctl_ip_dynaddr > 1) {11291135 pr_info("%s(): shifting inet->saddr from %pI4 to %pI4\n",11301136 __func__, &old_saddr, &new_saddr);11311137 }···11801186 * Other protocols have to map its equivalent state to TCP_SYN_SENT.11811187 * DCCP maps its DCCP_REQUESTING state to TCP_SYN_SENT. -acme11821188 */11831183- if (!sysctl_ip_dynaddr ||11891189+ if (!sock_net(sk)->ipv4.sysctl_ip_dynaddr ||11841190 sk->sk_state != TCP_SYN_SENT ||11851191 (sk->sk_userlocks & SOCK_BINDADDR_LOCK) ||11861192 (err = inet_sk_reselect_saddr(sk)) != 0)