Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jan 2015 07:46:22 +0000 (UTC)
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r277115 - projects/ifnet/sys/net
Message-ID:  <201501130746.t0D7kMbP039911@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: glebius
Date: Tue Jan 13 07:46:21 2015
New Revision: 277115
URL: https://svnweb.freebsd.org/changeset/base/277115

Log:
  Provide ifmedia_link_state() that converts media status word
  to link state.
  
  Sponsored by:	Nginx, Inc.

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

Modified: projects/ifnet/sys/net/if_media.c
==============================================================================
--- projects/ifnet/sys/net/if_media.c	Tue Jan 13 07:45:42 2015	(r277114)
+++ projects/ifnet/sys/net/if_media.c	Tue Jan 13 07:46:21 2015	(r277115)
@@ -406,6 +406,19 @@ ifmedia_baudrate(int mword)
 	/* Not known. */
 	return (0);
 }
+
+int
+ifmedia_link_state(u_int mstatus)
+{
+
+	if (mstatus & IFM_AVALID) {
+		if (mstatus & IFM_ACTIVE)
+			return (LINK_STATE_UP);
+		else
+			return (LINK_STATE_DOWN);
+	} else
+		return (LINK_STATE_UNKNOWN);
+}
  
 #ifdef IFMEDIA_DEBUG
 struct ifmedia_description ifm_type_descriptions[] =

Modified: projects/ifnet/sys/net/if_media.h
==============================================================================
--- projects/ifnet/sys/net/if_media.h	Tue Jan 13 07:45:42 2015	(r277114)
+++ projects/ifnet/sys/net/if_media.h	Tue Jan 13 07:46:21 2015	(r277115)
@@ -106,10 +106,12 @@ void	ifmedia_set(struct ifmedia *ifm, in
 int	ifmedia_ioctl(struct ifnet *ifp, struct ifreq *ifr,
 	    struct ifmedia *ifm, u_long cmd);
 
-
 /* Compute baudrate for a given media. */
 uint64_t	ifmedia_baudrate(int);
 
+/* Convert media status to link state. */
+int	ifmedia_link_state(u_int);
+
 #endif /*_KERNEL */
 
 /*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201501130746.t0D7kMbP039911>