]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Adding subnet routes with just sdl_index set does not work for FreeBSD.
authorRoy Marples <roy@marples.name>
Fri, 2 Jan 2009 09:31:42 +0000 (09:31 +0000)
committerRoy Marples <roy@marples.name>
Fri, 2 Jan 2009 09:31:42 +0000 (09:31 +0000)
if-bsd.c

index 885a327f2761f6227463e23ee1c9e8a1269cd9b2..cc671ee2a4fdb331b2a2eaeb9fe448503b831295 100644 (file)
--- a/if-bsd.c
+++ b/if-bsd.c
@@ -212,16 +212,12 @@ if_route(const struct interface *iface, const struct in_addr *dest,
        }
 
        ADDADDR(dest);
-       if (rtm.hdr.rtm_flags & RTF_HOST) {
+       if (rtm.hdr.rtm_flags & RTF_HOST || !(rtm.hdr.rtm_flags & RTF_STATIC)) {
                /* Make us a link layer socket for the host gateway */
                memset(&su, 0, sizeof(su));
                su.sdl.sdl_len = sizeof(struct sockaddr_dl);
                link_addr(iface->name, &su.sdl);
                ADDSU(su);
-       } else if (!(rtm.hdr.rtm_flags & RTF_STATIC)) {
-               memset(&su, 0, sizeof(su));
-               su.sdl.sdl_index = if_nametoindex(iface->name);
-               ADDSU(su);
        } else
                ADDADDR(gate);