git: 6967516a2727 - stable/13 - qlxgb/qlxgbe/qlxge: Fix build without INET and/or without INET6.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 20 May 2022 00:35:17 UTC
The branch stable/13 has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=6967516a27275d3985d2ee9f8d3db5805438ddbb
commit 6967516a27275d3985d2ee9f8d3db5805438ddbb
Author: John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2022-04-22 22:18:05 +0000
Commit: John Baldwin <jhb@FreeBSD.org>
CommitDate: 2022-05-20 00:22:07 +0000
qlxgb/qlxgbe/qlxge: Fix build without INET and/or without INET6.
This is in preparation for adding these drivers to amd64 NOTES.
(cherry picked from commit 618aa8cd0ae0edca7d9a4e37ff242a6bb77bbccc)
---
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 6144df147ee4..3936a7399435 100644
--- a/sys/dev/qlxgb/qla_hw.c
+++ b/sys/dev/qlxgb/qla_hw.c
@@ -1776,6 +1776,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;
@@ -1792,12 +1793,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;
@@ -1810,6 +1813,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 271baa886d1b..7966fc53b84f 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 ab436867771e..9a8a02dfeb20 100644
--- a/sys/dev/qlxgb/qla_os.c
+++ b/sys/dev/qlxgb/qla_os.c
@@ -792,7 +792,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;
@@ -802,6 +804,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)) {
@@ -818,9 +821,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 9580a99c47b2..717089427d0a 100644
--- a/sys/dev/qlxgbe/ql_hw.c
+++ b/sys/dev/qlxgbe/ql_hw.c
@@ -2757,6 +2757,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;
@@ -2786,12 +2787,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;
@@ -2811,6 +2814,7 @@ qla_drain_soft_lro(qla_host_t *ha)
}
#endif /* #if (__FreeBSD_version >= 1100101) */
}
+#endif
return;
}
@@ -2818,6 +2822,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;
@@ -2826,6 +2831,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 4edb6f0bb0dc..f83ae6022bd1 100644
--- a/sys/dev/qlxgbe/ql_os.c
+++ b/sys/dev/qlxgbe/ql_os.c
@@ -1024,7 +1024,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;
@@ -1036,6 +1038,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,
@@ -1060,9 +1063,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 a0a92e2f5d2a..ca97826c76dc 100644
--- a/sys/dev/qlxge/qls_hw.c
+++ b/sys/dev/qlxge/qls_hw.c
@@ -531,9 +531,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;
@@ -554,6 +557,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);
@@ -594,7 +598,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);
@@ -620,6 +626,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;
@@ -627,6 +634,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 a45e10da492d..3eca6f20f531 100644
--- a/sys/dev/qlxge/qls_os.c
+++ b/sys/dev/qlxge/qls_os.c
@@ -862,7 +862,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;
@@ -872,6 +874,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)) {
@@ -885,9 +888,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:
@@ -1459,6 +1463,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;
@@ -1474,12 +1479,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;
@@ -1491,6 +1498,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>