diff --git a/net/core/sock.c b/net/core/sock.c index 5a8a3b76832f19865da6fcbf19446dd0b33af6ac..c9668dcb5eb91e55f063448d5a57f29d91225e47 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -698,6 +698,7 @@ int sock_setsockopt(struct socket *sock, int level, int optname, break; case SO_DONTROUTE: sock_valbool_flag(sk, SOCK_LOCALROUTE, valbool); + sk_dst_reset(sk); break; case SO_BROADCAST: sock_valbool_flag(sk, SOCK_BROADCAST, valbool);