diff options
author | qingli <qingli@FreeBSD.org> | 2010-09-12 18:04:47 +0000 |
---|---|---|
committer | qingli <qingli@FreeBSD.org> | 2010-09-12 18:04:47 +0000 |
commit | 5da585aeb8d7455d64ab502fddfd32c1f37f7792 (patch) | |
tree | f725541feba797c320ab3d6308eab9062a7cdc03 /sys/netinet | |
parent | 6a41bca77d90a1f107920dd5d7bdde321c6559c8 (diff) | |
download | FreeBSD-src-5da585aeb8d7455d64ab502fddfd32c1f37f7792.zip FreeBSD-src-5da585aeb8d7455d64ab502fddfd32c1f37f7792.tar.gz |
Adding an address on an interface also requires the loopback route to
that address be installed.
PR: kern/150481
Submitted by: Ingo Flaschberger <if at xip.at>
MFC after: 5 days
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/raw_ip.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c index d6b426c..c91d4a9 100644 --- a/sys/netinet/raw_ip.c +++ b/sys/netinet/raw_ip.c @@ -741,6 +741,8 @@ rip_ctlinput(int cmd, struct sockaddr *sa, void *vip) if (err == 0) ia->ia_flags |= IFA_ROUTE; err = ifa_add_loopback_route((struct ifaddr *)ia, sa); + if (err == 0) + ia->ia_flags |= IFA_RTSELF; ifa_free(&ia->ia_ifa); break; } |