svn commit: r277542 - projects/ifnet/sys/net

Gleb Smirnoff glebius at FreeBSD.org
Thu Jan 22 23:59:37 UTC 2015


Author: glebius
Date: Thu Jan 22 23:59:35 2015
New Revision: 277542
URL: https://svnweb.freebsd.org/changeset/base/277542

Log:
  Remove the if_set(), if_get() and associated functions.
  
  Requested by:	rwatson

Modified:
  projects/ifnet/sys/net/if.c
  projects/ifnet/sys/net/if.h

Modified: projects/ifnet/sys/net/if.c
==============================================================================
--- projects/ifnet/sys/net/if.c	Thu Jan 22 23:50:47 2015	(r277541)
+++ projects/ifnet/sys/net/if.c	Thu Jan 22 23:59:35 2015	(r277542)
@@ -1513,111 +1513,26 @@ if_rtdel(struct radix_node *rn, void *ar
 }
 
 /*
- * Managing different integer values and bitmasks of an ifnet.
+ * Returning different software contexts associated with ifnet.
  */
-static void
-if_getfeature(if_t ifp, ift_feature f, uint32_t **f32, uint64_t **f64,
-    void **ptr)
+void *
+if_getsoftc(struct ifnet *ifp, ift_feature f)
 {
 
-	if (f32)
-		*f32 = NULL;
-	if (f64)
-		*f64 = NULL;
-	if (ptr)
-		*ptr = NULL;
-
 	switch (f) {
 	case IF_DRIVER_SOFTC:
-		*ptr = ifp->if_softc;
-		break;
+		return (ifp->if_softc);
 	case IF_LLADDR:
-		*ptr = LLADDR((struct sockaddr_dl *)(ifp->if_addr->ifa_addr));
-		break;
+		return (LLADDR((struct sockaddr_dl *)(ifp->if_addr->ifa_addr)));
 	case IF_BPF:
-		*ptr = ifp->if_bpf;
-		break;
+		return (ifp->if_bpf);
 	case IF_NAME:
-		*ptr = ifp->if_xname;
-		break;
+		return (ifp->if_xname);
 	default:
 		panic("%s: unknown feature %d", __func__, f);
 	};
 }
 
-void
-if_set(if_t ifp, ift_feature f, uint64_t set)
-{
-	uint64_t *f64;
-	uint32_t *f32;
-
-	if_getfeature(ifp, f, &f32, &f64, NULL);
-	KASSERT(f32 != NULL || f64 != NULL, ("%s: no feature %d", __func__, f));
-	if (f32 != NULL) {
-		KASSERT(set <= UINT32_MAX,
-		    ("%s: value of 0x%jx for feature %d",
-		    __func__, (uintmax_t )set, f));
-		*f32 = set;
-	} else {
-		*f64 = set;
-	}
-}
-
-uint64_t
-if_flagbits(if_t ifp, ift_feature f, uint64_t set, uint64_t clr, uint64_t xor)
-{
-	uint64_t *f64;
-	uint32_t *f32;
-
-	if_getfeature(ifp, f, &f32, &f64, NULL);
-	if (f32 != NULL) {
-		KASSERT(set <= UINT32_MAX,
-		    ("%s: value of 0x%jx for feature %d",
-		    __func__, (uintmax_t )set, f));
-		KASSERT(clr <= UINT32_MAX,
-		    ("%s: value of 0x%jx for feature %d",
-		    __func__, (uintmax_t )clr, f));
-		KASSERT(xor <= UINT32_MAX,
-		    ("%s: value of 0x%jx for feature %d",
-		    __func__, (uintmax_t )xor, f));
-		*f32 |= set;
-		*f32 &= ~clr;
-		*f32 ^= xor;
-		return (*f32);
-	} else {
-		*f64 |= set;
-		*f64 &= ~clr;
-		*f64 ^= xor;
-		return (*f64);
-	}
-}
-
-uint64_t
-if_get(if_t ifp, ift_feature f)
-{
-	uint64_t *f64;
-	uint32_t *f32;
-
-	if_getfeature(ifp, f, &f32, &f64, NULL);
-	KASSERT(f32 != NULL || f64 != NULL,
-	    ("%s: no feature %d", __func__, f));
-	if (f64 != NULL)
-		return (*f64);
-	if (f32 != NULL)
-		return (*f32);
-
-	return (EDOOFUS);
-}
-
-void *
-if_getsoftc(if_t ifp, ift_feature f)
-{
-	void *ptr;
-
-	if_getfeature(ifp, f, NULL, NULL, &ptr);
-	return (ptr);
-}
-
 /*
  * Return counter values from counter(9)s stored in ifnet.
  */

Modified: projects/ifnet/sys/net/if.h
==============================================================================
--- projects/ifnet/sys/net/if.h	Thu Jan 22 23:50:47 2015	(r277541)
+++ projects/ifnet/sys/net/if.h	Thu Jan 22 23:59:35 2015	(r277542)
@@ -716,12 +716,9 @@ void	if_inc_counter(if_t, ift_counter, i
 void	if_inc_txcounters(if_t, struct mbuf *);
 void	if_setbaudrate(if_t, uint64_t);
 void	if_link_state_change(if_t, int);
-void	if_set(if_t, ift_feature, uint64_t);
 void *	if_getsoftc(if_t, ift_feature);
 int	if_printf(if_t, const char *, ...) __printflike(2, 3);
 int	if_drvioctl(u_long, struct ifnet *, void *, struct thread *);
-uint64_t if_get(if_t, ift_feature);
-uint64_t if_flagbits(if_t, ift_feature, uint64_t, uint64_t, uint64_t);
 uint64_t if_get_counter_default(if_t, ift_counter);
 
 /*
@@ -750,29 +747,8 @@ struct mbuf * if_snd_dequeue(if_t);
 void	if_snd_prepend(if_t, struct mbuf *);
 
 /*
- * Type-enforcing inliners over declared above functions.
+ * Type-enforcing inliners over if_getsoftc().
  */
-static inline uint64_t
-if_addflags(if_t ifp, ift_feature f, uint64_t add)
-{
-
-	return (if_flagbits(ifp, f, add, 0, 0));
-}
-
-static inline uint64_t
-if_clrflags(if_t ifp, ift_feature f, uint64_t clr)
-{
-
-	return (if_flagbits(ifp, f, 0, clr, 0));
-}
-
-static inline uint64_t
-if_xorflags(if_t ifp, ift_feature f, uint64_t xor)
-{
-
-	return (if_flagbits(ifp, f, 0, 0, xor));
-}
-
 static inline char *
 if_lladdr(if_t ifp)
 {


More information about the svn-src-projects mailing list