Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Apr 2022 22:50:19 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 618aa8cd0ae0 - main - qlxgb/qlxgbe/qlxge: Fix build without INET and/or without INET6.
Message-ID:  <202204222250.23MMoJvF087334@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=618aa8cd0ae0edca7d9a4e37ff242a6bb77bbccc

commit 618aa8cd0ae0edca7d9a4e37ff242a6bb77bbccc
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2022-04-22 22:18:05 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2022-04-22 22:18:05 +0000

    qlxgb/qlxgbe/qlxge: Fix build without INET and/or without INET6.
    
    This is in preparation for adding these drivers to amd64 NOTES.
---
 sys/dev/qlxgb/qla_hw.c  |  4 ++++
 sys/dev/qlxgb/qla_isr.c |  7 ++++++-
 sys/dev/qlxgb/qla_os.c  |  8 ++++++--
 sys/dev/qlxgb/qla_os.h  |  2 ++
 sys/dev/qlxgbe/ql_hw.c  |  6 ++++++
 sys/dev/qlxgbe/ql_isr.c |  9 ++++++++-
 sys/dev/qlxgbe/ql_os.c  |  8 ++++++--
 sys/dev/qlxgbe/ql_os.h  |  2 ++
 sys/dev/qlxge/qls_hw.c  | 10 ++++++++++
 sys/dev/qlxge/qls_isr.c | 16 +++++++++++++---
 sys/dev/qlxge/qls_os.c  | 12 ++++++++++--
 sys/dev/qlxge/qls_os.h  |  2 ++
 12 files changed, 75 insertions(+), 11 deletions(-)

diff --git a/sys/dev/qlxgb/qla_hw.c b/sys/dev/qlxgb/qla_hw.c
index f96d85fba139..21d37c624e5a 100644
--- a/sys/dev/qlxgb/qla_hw.c
+++ b/sys/dev/qlxgb/qla_hw.c
@@ -1770,6 +1770,7 @@ qla_update_link_state(qla_host_t *ha)
 int
 qla_config_lro(qla_host_t *ha)
 {
+#if defined(INET) || defined(INET6)
 	int i;
         qla_hw_t *hw = &ha->hw;
 	struct lro_ctrl *lro;
@@ -1786,12 +1787,14 @@ qla_config_lro(qla_host_t *ha)
 	ha->flags.lro_init = 1;
 
 	QL_DPRINT2((ha->pci_dev, "%s: LRO initialized\n", __func__));
+#endif
 	return (0);
 }
 
 void
 qla_free_lro(qla_host_t *ha)
 {
+#if defined(INET) || defined(INET6)
 	int i;
         qla_hw_t *hw = &ha->hw;
 	struct lro_ctrl *lro;
@@ -1804,6 +1807,7 @@ qla_free_lro(qla_host_t *ha)
 		tcp_lro_free(lro);
 	}
 	ha->flags.lro_init = 0;
+#endif
 }
 
 void
diff --git a/sys/dev/qlxgb/qla_isr.c b/sys/dev/qlxgb/qla_isr.c
index 4c030f600bcf..d507ecaf01e1 100644
--- a/sys/dev/qlxgb/qla_isr.c
+++ b/sys/dev/qlxgb/qla_isr.c
@@ -139,9 +139,12 @@ qla_rx_intr(qla_host_t *ha, uint64_t data, uint32_t sds_idx,
 		mp->m_pkthdr.csum_flags = 0;
 	}
 
+#if defined(INET) || defined(INET6)
 	if (lro->lro_cnt && (tcp_lro_rx(lro, mp, 0) == 0)) {
 		/* LRO packet has been successfully queued */
-	} else {
+	} else
+#endif
+	{
 		(*ifp->if_input)(ifp, mp);
 	}
 
@@ -322,7 +325,9 @@ qla_rcv_isr(qla_host_t *ha, uint32_t sds_idx, uint32_t count)
 		}
 	}
 
+#if defined(INET) || defined(INET6)
 	tcp_lro_flush_all(lro);
+#endif
 
 	if (hw->sds[sds_idx].sdsr_next != comp_idx) {
 		QL_UPDATE_SDS_CONSUMER_INDEX(ha, sds_idx, comp_idx);
diff --git a/sys/dev/qlxgb/qla_os.c b/sys/dev/qlxgb/qla_os.c
index a52527476837..bd56eb458c70 100644
--- a/sys/dev/qlxgb/qla_os.c
+++ b/sys/dev/qlxgb/qla_os.c
@@ -789,7 +789,9 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 {
 	int ret = 0;
 	struct ifreq *ifr = (struct ifreq *)data;
+#ifdef INET
 	struct ifaddr *ifa = (struct ifaddr *)data;
+#endif
 	qla_host_t *ha;
 
 	ha = (qla_host_t *)ifp->if_softc;
@@ -799,6 +801,7 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 		QL_DPRINT4((ha->pci_dev, "%s: SIOCSIFADDR (0x%lx)\n",
 			__func__, cmd));
 
+#ifdef INET
 		if (ifa->ifa_addr->sa_family == AF_INET) {
 			ifp->if_flags |= IFF_UP;
 			if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) {
@@ -815,9 +818,10 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 				qla_config_ipv4_addr(ha,
 					(IA_SIN(ifa)->sin_addr.s_addr));
 			}
-		} else {
-			ether_ioctl(ifp, cmd, data);
+			break;
 		}
+#endif
+		ether_ioctl(ifp, cmd, data);
 		break;
 
 	case SIOCSIFMTU:
diff --git a/sys/dev/qlxgb/qla_os.h b/sys/dev/qlxgb/qla_os.h
index 1ee4f8d1ce61..fddae501b8b3 100644
--- a/sys/dev/qlxgb/qla_os.h
+++ b/sys/dev/qlxgb/qla_os.h
@@ -36,6 +36,8 @@
 #ifndef _QLA_OS_H_
 #define _QLA_OS_H_
 
+#include "opt_inet.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/mbuf.h>
diff --git a/sys/dev/qlxgbe/ql_hw.c b/sys/dev/qlxgbe/ql_hw.c
index 816e86a2c94c..340fc779b10c 100644
--- a/sys/dev/qlxgbe/ql_hw.c
+++ b/sys/dev/qlxgbe/ql_hw.c
@@ -2751,6 +2751,7 @@ qla_config_rss_ind_table(qla_host_t *ha)
 static int
 qla_config_soft_lro(qla_host_t *ha)
 {
+#if defined(INET) || defined(INET6)
         int i;
         qla_hw_t *hw = &ha->hw;
         struct lro_ctrl *lro;
@@ -2780,12 +2781,14 @@ qla_config_soft_lro(qla_host_t *ha)
         }
 
         QL_DPRINT2(ha, (ha->pci_dev, "%s: LRO initialized\n", __func__));
+#endif
         return (0);
 }
 
 static void
 qla_drain_soft_lro(qla_host_t *ha)
 {
+#if defined(INET) || defined(INET6)
         int i;
         qla_hw_t *hw = &ha->hw;
         struct lro_ctrl *lro;
@@ -2805,6 +2808,7 @@ qla_drain_soft_lro(qla_host_t *ha)
 		}
 #endif /* #if (__FreeBSD_version >= 1100101) */
 	}
+#endif
 
 	return;
 }
@@ -2812,6 +2816,7 @@ qla_drain_soft_lro(qla_host_t *ha)
 static void
 qla_free_soft_lro(qla_host_t *ha)
 {
+#if defined(INET) || defined(INET6)
         int i;
         qla_hw_t *hw = &ha->hw;
         struct lro_ctrl *lro;
@@ -2820,6 +2825,7 @@ qla_free_soft_lro(qla_host_t *ha)
                	lro = &hw->sds[i].lro;
 		tcp_lro_free(lro);
 	}
+#endif
 
 	return;
 }
diff --git a/sys/dev/qlxgbe/ql_isr.c b/sys/dev/qlxgbe/ql_isr.c
index c31d5369e0d6..0d1ae164c7ae 100644
--- a/sys/dev/qlxgbe/ql_isr.c
+++ b/sys/dev/qlxgbe/ql_isr.c
@@ -68,9 +68,11 @@ qla_rx_intr(qla_host_t *ha, qla_sgl_rcv_t *sgc, uint32_t sds_idx)
 	uint32_t		i, rem_len = 0;
 	uint32_t		r_idx = 0;
 	qla_rx_ring_t		*rx_ring;
+#if defined(INET) || defined(INET6)
 	struct lro_ctrl		*lro;
 
 	lro = &ha->hw.sds[sds_idx].lro;
+#endif
 
 	if (ha->hw.num_rds_rings > 1)
 		r_idx = sds_idx;
@@ -173,6 +175,7 @@ qla_rx_intr(qla_host_t *ha, qla_sgl_rcv_t *sgc, uint32_t sds_idx)
 #endif
 #endif /* #if __FreeBSD_version >= 1100000 */
 
+#if defined(INET) || defined(INET6)
 	if (ha->hw.enable_soft_lro) {
 #if (__FreeBSD_version >= 1100101)
 
@@ -184,7 +187,9 @@ qla_rx_intr(qla_host_t *ha, qla_sgl_rcv_t *sgc, uint32_t sds_idx)
 
 #endif /* #if (__FreeBSD_version >= 1100101) */
 
-	} else {
+	} else
+#endif
+	{
 		(*ifp->if_input)(ifp, mpf);
 	}
 
@@ -725,6 +730,7 @@ ql_rcv_isr(qla_host_t *ha, uint32_t sds_idx, uint32_t count)
 		}
 	}
 
+#if defined(INET) || defined(INET6)
 	if (ha->hw.enable_soft_lro) {
 		struct lro_ctrl		*lro;
 
@@ -745,6 +751,7 @@ ql_rcv_isr(qla_host_t *ha, uint32_t sds_idx, uint32_t count)
 
 #endif /* #if (__FreeBSD_version >= 1100101) */
 	}
+#endif
 
 	if (ha->stop_rcv)
 		goto ql_rcv_isr_exit;
diff --git a/sys/dev/qlxgbe/ql_os.c b/sys/dev/qlxgbe/ql_os.c
index 2a7a173ece41..62289eb878e2 100644
--- a/sys/dev/qlxgbe/ql_os.c
+++ b/sys/dev/qlxgbe/ql_os.c
@@ -1022,7 +1022,9 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 {
 	int ret = 0;
 	struct ifreq *ifr = (struct ifreq *)data;
+#ifdef INET
 	struct ifaddr *ifa = (struct ifaddr *)data;
+#endif
 	qla_host_t *ha;
 
 	ha = (qla_host_t *)ifp->if_softc;
@@ -1034,6 +1036,7 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 		QL_DPRINT4(ha, (ha->pci_dev, "%s: SIOCSIFADDR (0x%lx)\n",
 			__func__, cmd));
 
+#ifdef INET
 		if (ifa->ifa_addr->sa_family == AF_INET) {
 			ret = QLA_LOCK(ha, __func__,
 					QLA_LOCK_DEFAULT_MS_TIMEOUT,
@@ -1058,9 +1061,10 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 				ntohl(IA_SIN(ifa)->sin_addr.s_addr)));
 
 			arp_ifinit(ifp, ifa);
-		} else {
-			ether_ioctl(ifp, cmd, data);
+			break;
 		}
+#endif
+		ether_ioctl(ifp, cmd, data);
 		break;
 
 	case SIOCSIFMTU:
diff --git a/sys/dev/qlxgbe/ql_os.h b/sys/dev/qlxgbe/ql_os.h
index f14c395d9663..fcee6e740828 100644
--- a/sys/dev/qlxgbe/ql_os.h
+++ b/sys/dev/qlxgbe/ql_os.h
@@ -36,6 +36,8 @@
 #ifndef _QL_OS_H_
 #define _QL_OS_H_
 
+#include "opt_inet.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/mbuf.h>
diff --git a/sys/dev/qlxge/qls_hw.c b/sys/dev/qlxge/qls_hw.c
index 3cb2656a1cd5..ab9449089f10 100644
--- a/sys/dev/qlxge/qls_hw.c
+++ b/sys/dev/qlxge/qls_hw.c
@@ -527,9 +527,12 @@ qls_init_fw_routing_table_exit:
 static int
 qls_tx_tso_chksum(qla_host_t *ha, struct mbuf *mp, q81_tx_tso_t *tx_mac)
 {
+#if defined(INET) || defined(INET6)
         struct ether_vlan_header *eh;
         struct ip *ip;
+#if defined(INET6)
         struct ip6_hdr *ip6;
+#endif
 	struct tcphdr *th;
         uint32_t ehdrlen, ip_hlen;
 	int ret = 0;
@@ -547,6 +550,7 @@ qls_tx_tso_chksum(qla_host_t *ha, struct mbuf *mp, q81_tx_tso_t *tx_mac)
         }
 
         switch (etype) {
+#ifdef INET
                 case ETHERTYPE_IP:
                         ip = (struct ip *)(mp->m_data + ehdrlen);
 
@@ -587,7 +591,9 @@ qls_tx_tso_chksum(qla_host_t *ha, struct mbuf *mp, q81_tx_tso_t *tx_mac)
 				tx_mac->flags |= Q81_TX_TSO_FLAGS_UC;
                         }
                 break;
+#endif
 
+#ifdef INET6
                 case ETHERTYPE_IPV6:
                         ip6 = (struct ip6_hdr *)(mp->m_data + ehdrlen);
 
@@ -613,6 +619,7 @@ qls_tx_tso_chksum(qla_host_t *ha, struct mbuf *mp, q81_tx_tso_t *tx_mac)
 				tx_mac->flags |= Q81_TX_TSO_FLAGS_UC;
                         }
                 break;
+#endif
 
                 default:
                         ret = -1;
@@ -620,6 +627,9 @@ qls_tx_tso_chksum(qla_host_t *ha, struct mbuf *mp, q81_tx_tso_t *tx_mac)
         }
 
         return (ret);
+#else
+	return (-1);
+#endif
 }
 
 #define QLA_TX_MIN_FREE 2
diff --git a/sys/dev/qlxge/qls_isr.c b/sys/dev/qlxge/qls_isr.c
index e77aab97c9a1..38da2d2c3408 100644
--- a/sys/dev/qlxge/qls_isr.c
+++ b/sys/dev/qlxge/qls_isr.c
@@ -130,12 +130,16 @@ qls_rx_comp(qla_host_t *ha, uint32_t rxr_idx, uint32_t cq_idx, q81_rx_t *cq_e)
 	device_t	dev = ha->pci_dev;
 	struct mbuf     *mp = NULL;
 	struct ifnet	*ifp = ha->ifp;
+#if defined(INET) || defined(INET6)
 	struct lro_ctrl	*lro;
+#endif
 	struct ether_vlan_header *eh;
 
 	rxr = &ha->rx_ring[rxr_idx];
 
+#if defined(INET) || defined(INET6)
 	lro = &rxr->lro;
+#endif
 
 	rxb = &rxr->rx_buf[rxr->rx_next];
 
@@ -200,9 +204,12 @@ qls_rx_comp(qla_host_t *ha, uint32_t rxr_idx, uint32_t cq_idx, q81_rx_t *cq_e)
 			}
 			if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1);
 
+#if defined(INET) || defined(INET6)
 			if (lro->lro_cnt && (tcp_lro_rx(lro, mp, 0) == 0)) {
 				/* LRO packet has been successfully queued */
-			} else {
+			} else
+#endif
+			{
 				(*ifp->if_input)(ifp, mp);
 			}
 		}
@@ -228,10 +235,11 @@ qls_cq_isr(qla_host_t *ha, uint32_t cq_idx)
 	q81_cq_e_t *cq_e, *cq_b;
 	uint32_t i, cq_comp_idx;
 	int ret = 0, tx_comp_done = 0;
-	struct lro_ctrl	*lro;
+#if defined(INET) || defined(INET6)
+	struct lro_ctrl	*lro = &ha->rx_ring[cq_idx].lro;
+#endif
 
 	cq_b = ha->rx_ring[cq_idx].cq_base_vaddr;
-	lro = &ha->rx_ring[cq_idx].lro;
 
 	cq_comp_idx = *(ha->rx_ring[cq_idx].cqi_vaddr);
 
@@ -281,7 +289,9 @@ qls_cq_isr(qla_host_t *ha, uint32_t cq_idx)
                 }
 	}
 
+#if defined(INET) || defined(INET6)
 	tcp_lro_flush_all(lro);
+#endif
 
 	ha->rx_ring[cq_idx].cq_next = cq_comp_idx;
 
diff --git a/sys/dev/qlxge/qls_os.c b/sys/dev/qlxge/qls_os.c
index 66216eeb7aed..7749cd10150c 100644
--- a/sys/dev/qlxge/qls_os.c
+++ b/sys/dev/qlxge/qls_os.c
@@ -859,7 +859,9 @@ qls_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 {
 	int ret = 0;
 	struct ifreq *ifr = (struct ifreq *)data;
+#ifdef INET
 	struct ifaddr *ifa = (struct ifaddr *)data;
+#endif
 	qla_host_t *ha;
 
 	ha = (qla_host_t *)ifp->if_softc;
@@ -869,6 +871,7 @@ qls_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 		QL_DPRINT4((ha->pci_dev, "%s: SIOCSIFADDR (0x%lx)\n",
 			__func__, cmd));
 
+#ifdef INET
 		if (ifa->ifa_addr->sa_family == AF_INET) {
 			ifp->if_flags |= IFF_UP;
 			if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) {
@@ -882,9 +885,10 @@ qls_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 				ntohl(IA_SIN(ifa)->sin_addr.s_addr)));
 
 			arp_ifinit(ifp, ifa);
-		} else {
-			ether_ioctl(ifp, cmd, data);
+			break;
 		}
+#endif
+		ether_ioctl(ifp, cmd, data);
 		break;
 
 	case SIOCSIFMTU:
@@ -1450,6 +1454,7 @@ qls_tx_done(void *context, int pending)
 static int
 qls_config_lro(qla_host_t *ha)
 {
+#if defined(INET) || defined(INET6)
         int i;
         struct lro_ctrl *lro;
 
@@ -1465,12 +1470,14 @@ qls_config_lro(qla_host_t *ha)
         ha->flags.lro_init = 1;
 
         QL_DPRINT2((ha->pci_dev, "%s: LRO initialized\n", __func__));
+#endif
         return (0);
 }
 
 static void
 qls_free_lro(qla_host_t *ha)
 {
+#if defined(INET) || defined(INET6)
         int i;
         struct lro_ctrl *lro;
 
@@ -1482,6 +1489,7 @@ qls_free_lro(qla_host_t *ha)
                 tcp_lro_free(lro);
         }
         ha->flags.lro_init = 0;
+#endif
 }
 
 static void
diff --git a/sys/dev/qlxge/qls_os.h b/sys/dev/qlxge/qls_os.h
index ac97575c8ffa..b10a37ecd5d3 100644
--- a/sys/dev/qlxge/qls_os.h
+++ b/sys/dev/qlxge/qls_os.h
@@ -36,6 +36,8 @@
 #ifndef _QLS_OS_H_
 #define _QLS_OS_H_
 
+#include "opt_inet.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/mbuf.h>



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