Skip site navigation (1)Skip section navigation (2)
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>