rtm_send() the cloned routes because of ICMP mtu changes. Until now
authorclaudio <claudio@openbsd.org>
Wed, 11 Jul 2018 13:06:16 +0000 (13:06 +0000)
committerclaudio <claudio@openbsd.org>
Wed, 11 Jul 2018 13:06:16 +0000 (13:06 +0000)
these changes to the routing table have not been visible whereas the
RTM_DELETE of those routes have been. Remove this inconsistency.
Input and OK mpi@
OK henning@

sys/netinet/ip_icmp.c
sys/netinet6/icmp6.c

index 0527c54..8911580 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ip_icmp.c,v 1.175 2018/05/21 15:52:22 bluhm Exp $     */
+/*     $OpenBSD: ip_icmp.c,v 1.176 2018/07/11 13:06:16 claudio Exp $   */
 /*     $NetBSD: ip_icmp.c,v 1.19 1996/02/13 23:42:22 christos Exp $    */
 
 /*
@@ -990,6 +990,7 @@ icmp_mtudisc_clone(struct in_addr dst, u_int rtableid)
                nrt->rt_rmx = rt->rt_rmx;
                rtfree(rt);
                rt = nrt;
+               rtm_send(rt, RTM_ADD, 0, rtableid);
        }
        error = rt_timer_add(rt, icmp_mtudisc_timeout, ip_mtudisc_timeout_q,
            rtableid);
index bdbe89c..64a1d64 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: icmp6.c,v 1.224 2018/06/02 16:38:21 bluhm Exp $       */
+/*     $OpenBSD: icmp6.c,v 1.225 2018/07/11 13:06:16 claudio Exp $     */
 /*     $KAME: icmp6.c,v 1.217 2001/06/20 15:03:29 jinmei Exp $ */
 
 /*
@@ -1806,6 +1806,7 @@ icmp6_mtudisc_clone(struct sockaddr *dst, u_int rtableid)
                nrt->rt_rmx = rt->rt_rmx;
                rtfree(rt);
                rt = nrt;
+               rtm_send(rt, RTM_ADD, 0, rtableid);
        }
        error = rt_timer_add(rt, icmp6_mtudisc_timeout, icmp6_mtudisc_timeout_q,
            rtableid);