]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
This fixes the issue with the "randomly changing" default
authorrrs <rrs@FreeBSD.org>
Wed, 24 Apr 2013 18:30:32 +0000 (18:30 +0000)
committerrrs <rrs@FreeBSD.org>
Wed, 24 Apr 2013 18:30:32 +0000 (18:30 +0000)
commitd90354b0198e919d53ae959bea342067b74d33b8
treec483a219b94e84d2fe3d58e7d44835e01fe009b1
parent4094a2fb730132e8ca6ca3fa3f2f1a5e5582a286
This fixes the issue with the "randomly changing" default
route. What it was is there are two places in ip_output.c
where we do a goto again. One place was fine, it
copies out the new address and then resets dst = ro->rt_dst;
But the other place does *not* do that, which means earlier
when we found the gateway, we have dst pointing there
aka dst = ro->rt_gateway is done.. then we do a
goto again.. bam now we clobber the default route.

The fix is just to move the again so we are always
doing dst = &ro->rt_dst; in the again loop.

PR:  174749,157796
MFC after: 1 week
sys/netinet/ip_output.c