Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Jun 2009 17:42:06 +0000 (UTC)
From:      Andrew Gallatin <gallatin@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r194743 - in head/sys: conf dev/mxge modules/mxge/mxge
Message-ID:  <200906231742.n5NHg766084738@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gallatin
Date: Tue Jun 23 17:42:06 2009
New Revision: 194743
URL: http://svn.freebsd.org/changeset/base/194743

Log:
  Implement minimal set of changes suggested by bz to make
  mxge no longer depend on INET.

Modified:
  head/sys/conf/files
  head/sys/dev/mxge/if_mxge.c
  head/sys/dev/mxge/mxge_lro.c
  head/sys/modules/mxge/mxge/Makefile

Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files	Tue Jun 23 17:41:51 2009	(r194742)
+++ head/sys/conf/files	Tue Jun 23 17:42:06 2009	(r194743)
@@ -1207,12 +1207,12 @@ mwlboot.fw		optional mwlfw					\
 	compile-with	"uudecode -o ${.TARGET} $S/contrib/dev/mwl/mwlboot.fw.uu"	\
 	no-obj no-implicit-rule						\
 	clean		"mwlboot.fw"
-dev/mxge/if_mxge.c		optional mxge pci inet
-dev/mxge/mxge_lro.c		optional mxge pci inet
-dev/mxge/mxge_eth_z8e.c		optional mxge pci inet
-dev/mxge/mxge_ethp_z8e.c	optional mxge pci inet
-dev/mxge/mxge_rss_eth_z8e.c	optional mxge pci inet
-dev/mxge/mxge_rss_ethp_z8e.c	optional mxge pci inet
+dev/mxge/if_mxge.c		optional mxge pci
+dev/mxge/mxge_lro.c		optional mxge pci
+dev/mxge/mxge_eth_z8e.c		optional mxge pci
+dev/mxge/mxge_ethp_z8e.c	optional mxge pci
+dev/mxge/mxge_rss_eth_z8e.c	optional mxge pci
+dev/mxge/mxge_rss_ethp_z8e.c	optional mxge pci
 dev/my/if_my.c			optional my
 dev/ncv/ncr53c500.c		optional ncv
 dev/ncv/ncr53c500_pccard.c	optional ncv pccard

Modified: head/sys/dev/mxge/if_mxge.c
==============================================================================
--- head/sys/dev/mxge/if_mxge.c	Tue Jun 23 17:41:51 2009	(r194742)
+++ head/sys/dev/mxge/if_mxge.c	Tue Jun 23 17:42:06 2009	(r194743)
@@ -89,6 +89,8 @@ __FBSDID("$FreeBSD$");
 #include <sys/buf_ring.h>
 #endif
 
+#include "opt_inet.h"
+
 /* tunable params */
 static int mxge_nvidia_ecrc_enable = 1;
 static int mxge_force_firmware = 0;
@@ -2408,10 +2410,13 @@ mxge_rx_csum(struct mbuf *m, int csum)
 	if (__predict_false(ip->ip_p != IPPROTO_TCP &&
 			    ip->ip_p != IPPROTO_UDP))
 		return 1;
-
+#ifdef INET
 	c = in_pseudo(ip->ip_src.s_addr, ip->ip_dst.s_addr,
 		      htonl(ntohs(csum) + ntohs(ip->ip_len) +
 			    - (ip->ip_hl << 2) + ip->ip_p));
+#else
+	c = 1;
+#endif
 	c ^= 0xffff;
 	return (c);
 }
@@ -2607,7 +2612,6 @@ static inline void
 mxge_clean_rx_done(struct mxge_slice_state *ss)
 {
 	mxge_rx_done_t *rx_done = &ss->rx_done;
-	struct lro_entry *lro;
 	int limit = 0;
 	uint16_t length;
 	uint16_t checksum;
@@ -2628,11 +2632,13 @@ mxge_clean_rx_done(struct mxge_slice_sta
 		if (__predict_false(++limit > rx_done->mask / 2))
 			break;
 	}
+#ifdef INET
 	while (!SLIST_EMPTY(&ss->lro_active)) {
-		lro = SLIST_FIRST(&ss->lro_active);
+		struct lro_entry *lro = SLIST_FIRST(&ss->lro_active);
 		SLIST_REMOVE_HEAD(&ss->lro_active, next);
 		mxge_lro_flush(ss, lro);
 	}
+#endif
 }
 
 
@@ -4529,7 +4535,10 @@ mxge_attach(device_t dev)
 
 	ifp->if_baudrate = IF_Gbps(10UL);
 	ifp->if_capabilities = IFCAP_RXCSUM | IFCAP_TXCSUM | IFCAP_TSO4 |
-		IFCAP_VLAN_MTU | IFCAP_LRO;
+		IFCAP_VLAN_MTU;
+#ifdef INET
+	ifp->if_capabilities |= IFCAP_LRO;
+#endif
 
 #ifdef MXGE_NEW_VLAN_API
 	ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_HWCSUM;

Modified: head/sys/dev/mxge/mxge_lro.c
==============================================================================
--- head/sys/dev/mxge/mxge_lro.c	Tue Jun 23 17:41:51 2009	(r194742)
+++ head/sys/dev/mxge/mxge_lro.c	Tue Jun 23 17:42:06 2009	(r194743)
@@ -54,6 +54,9 @@ __FBSDID("$FreeBSD$");
 #include <dev/mxge/mxge_mcp.h>
 #include <dev/mxge/if_mxge_var.h>
 
+#include "opt_inet.h"
+
+#ifdef INET
 
 /* Assume len is a multiple of 4 */
 static uint16_t
@@ -340,6 +343,8 @@ mxge_lro_rx(struct mxge_slice_state *ss,
 	lro->m_tail = m_tail;
 	return 0;
 }
+
+#endif /* INET */
 /*
   This file uses Myri10GE driver indentation.
 

Modified: head/sys/modules/mxge/mxge/Makefile
==============================================================================
--- head/sys/modules/mxge/mxge/Makefile	Tue Jun 23 17:41:51 2009	(r194742)
+++ head/sys/modules/mxge/mxge/Makefile	Tue Jun 23 17:42:06 2009	(r194743)
@@ -3,6 +3,6 @@
 .PATH: ${.CURDIR}/../../../dev/mxge
 
 KMOD=	if_mxge
-SRCS=	if_mxge.c mxge_lro.c device_if.h bus_if.h pci_if.h
+SRCS=	if_mxge.c mxge_lro.c device_if.h bus_if.h pci_if.h opt_inet.h
 
 .include <bsd.kmod.mk>



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