Date: Sat, 19 May 2012 02:39:43 +0000 (UTC) From: Marcel Moolenaar <marcel@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r235640 - in head: lib/libc/net sys/net Message-ID: <201205190239.q4J2dhA7094639@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: marcel Date: Sat May 19 02:39:43 2012 New Revision: 235640 URL: http://svn.freebsd.org/changeset/base/235640 Log: Use the LLINDEX macro to access the link-level I/F index. This makes it possible to work with a different type for the sdl_index field -- it only requires a recompile. Obtained from: Juniper Networks, Inc. Modified: head/lib/libc/net/if_indextoname.c head/lib/libc/net/if_nameindex.c head/lib/libc/net/if_nametoindex.c head/lib/libc/net/sourcefilter.c head/sys/net/if_dl.h Modified: head/lib/libc/net/if_indextoname.c ============================================================================== --- head/lib/libc/net/if_indextoname.c Sat May 19 02:31:38 2012 (r235639) +++ head/lib/libc/net/if_indextoname.c Sat May 19 02:39:43 2012 (r235640) @@ -70,7 +70,7 @@ if_indextoname(unsigned int ifindex, cha for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) { if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_LINK && - ifindex == ((struct sockaddr_dl*)ifa->ifa_addr)->sdl_index) + ifindex == LLINDEX((struct sockaddr_dl*)ifa->ifa_addr)) break; } Modified: head/lib/libc/net/if_nameindex.c ============================================================================== --- head/lib/libc/net/if_nameindex.c Sat May 19 02:31:38 2012 (r235639) +++ head/lib/libc/net/if_nameindex.c Sat May 19 02:39:43 2012 (r235640) @@ -123,7 +123,7 @@ if_nameindex(void) if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_LINK) { ifni2->if_index = - ((struct sockaddr_dl*)ifa->ifa_addr)->sdl_index; + LLINDEX((struct sockaddr_dl*)ifa->ifa_addr); ifni2->if_name = cp; strcpy(cp, ifa->ifa_name); ifni2++; Modified: head/lib/libc/net/if_nametoindex.c ============================================================================== --- head/lib/libc/net/if_nametoindex.c Sat May 19 02:31:38 2012 (r235639) +++ head/lib/libc/net/if_nametoindex.c Sat May 19 02:39:43 2012 (r235640) @@ -90,7 +90,7 @@ if_nametoindex(const char *ifname) if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_LINK && strcmp(ifa->ifa_name, ifname) == 0) { - ni = ((struct sockaddr_dl*)ifa->ifa_addr)->sdl_index; + ni = LLINDEX((struct sockaddr_dl*)ifa->ifa_addr); break; } } Modified: head/lib/libc/net/sourcefilter.c ============================================================================== --- head/lib/libc/net/sourcefilter.c Sat May 19 02:31:38 2012 (r235639) +++ head/lib/libc/net/sourcefilter.c Sat May 19 02:39:43 2012 (r235640) @@ -120,7 +120,7 @@ __inaddr_to_index(in_addr_t ifaddr) psu = (sockunion_t *)ifa->ifa_addr; if (psu && psu->ss.ss_family == AF_LINK && strcmp(ifa->ifa_name, ifname) == 0) { - ifindex = psu->sdl.sdl_index; + ifindex = LLINDEX(&psu->sdl); break; } } Modified: head/sys/net/if_dl.h ============================================================================== --- head/sys/net/if_dl.h Sat May 19 02:31:38 2012 (r235639) +++ head/sys/net/if_dl.h Sat May 19 02:39:43 2012 (r235640) @@ -67,6 +67,7 @@ struct sockaddr_dl { }; #define LLADDR(s) ((caddr_t)((s)->sdl_data + (s)->sdl_nlen)) +#define LLINDEX(s) ((s)->sdl_index) #ifndef _KERNEL
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201205190239.q4J2dhA7094639>