aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChad Fraleigh <chadf@triularity.org>2023-08-08 16:10:56 +0000
committerRobert Clausecker <fuz@FreeBSD.org>2023-08-09 13:08:21 +0000
commitee03f6a5f18264c0f7434322d56fcfb83c8324f4 (patch)
treee1b9c6fb4fe0a55cf1727757a39ca062fd925116
parent467c791a968881220f827fe4703e362506d26078 (diff)
downloadports-ee03f6a5f18264c0f7434322d56fcfb83c8324f4.tar.gz
ports-ee03f6a5f18264c0f7434322d56fcfb83c8324f4.zip
net/aoe: fix build on FreeBSD 12
Still broken on FreeBSD 13+, but for a different reason now: aoenet.c:313:22: error: use of undeclared identifier 'ifnet'; did you mean 'ifunit'? IFNET_FOREACH(ifp, &ifnet, if_link) { ^~~~~ ifunit PR: 239891 MFH: 2023Q3 (cherry picked from commit ac47064e4aac2fedc24270363fbb1b26eaf0b2bd)
-rw-r--r--net/aoe/Makefile11
-rw-r--r--net/aoe/files/patch-aoenet.c51
2 files changed, 57 insertions, 5 deletions
diff --git a/net/aoe/Makefile b/net/aoe/Makefile
index bca0fb2b533f..dc23cddfd980 100644
--- a/net/aoe/Makefile
+++ b/net/aoe/Makefile
@@ -1,21 +1,22 @@
PORTNAME= aoe
PORTVERSION= 1.2.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= net
-MASTER_SITES= http://www.son.org/download/
+MASTER_SITES= https://people.freebsd.org/~sson/aoe/
DISTNAME= ${PORTNAME}-freebsd-${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= FreeBSD driver for ATA over Ethernet (AoE)
WWW= http://www.coraid.com/support/freebsd/
+LICENSE= BSD2CLAUSE
+
BROKEN_aarch64= fails to compile: redefinition of frame
BROKEN_armv6= fails to compile: implicit declaration of function 'cp15_pmccntr_get' is invalid in C99
BROKEN_armv7= fails to compile: redefinition of frame
BROKEN_sparc64= fails to compile: redefinition of frame
-BROKEN_FreeBSD_12= no member named 'tqh_first' in 'struct ifnethead'
-BROKEN_FreeBSD_13= no member named 'tqh_first' in 'struct ifnethead'
-BROKEN_FreeBSD_14= no member named 'tqh_first' in 'struct ifnethead'
+BROKEN_FreeBSD_13= use of undeclared identifier 'ifnet'
+BROKEN_FreeBSD_14= use of undeclared identifier 'ifnet'
USES= kmod
diff --git a/net/aoe/files/patch-aoenet.c b/net/aoe/files/patch-aoenet.c
index 0fe1fe833a6b..49cdd777a39b 100644
--- a/net/aoe/files/patch-aoenet.c
+++ b/net/aoe/files/patch-aoenet.c
@@ -207,3 +207,54 @@
case IFT_ETHER:
case IFT_FASTETHER:
case IFT_GIGABITETHERNET:
+--- aoenet.c.orig 2019-08-14 20:53:51.415030000 -0700
++++ aoenet.c 2019-08-14 20:58:53.326160000 -0700
+@@ -85,6 +85,12 @@
+ #endif
+ #define IFLISTSZ 1024
+
++#if __FreeBSD_version >= 1200000
++#define IFNET_FOREACH(v, h, e) CK_STAILQ_FOREACH(v, h, e)
++#else
++#define IFNET_FOREACH(v, h, e) TAILQ_FOREACH(v, h, e)
++#endif
++
+ static char aoe_iflist[IFLISTSZ];
+
+ static int sysctl_aoe_iflist(SYSCTL_HANDLER_ARGS);
+@@ -304,7 +310,7 @@
+ h->ah_cmd = AOECMD_CFG;
+
+ IFNET_RLOCK();
+- TAILQ_FOREACH(ifp, &ifnet, if_link) {
++ IFNET_FOREACH(ifp, &ifnet, if_link) {
+ if (!is_aoe_netif(ifp))
+ continue;
+ memcpy(h->ah_src, IFPADDR(ifp), sizeof(h->ah_src));
+@@ -506,7 +512,7 @@
+
+ #ifdef FORCE_NETWORK_HOOK
+ IFNET_RLOCK();
+- TAILQ_FOREACH(ifp, &ifnet, if_link) {
++ IFNET_FOREACH(ifp, &ifnet, if_link) {
+ if (!is_aoe_netif(ifp)) {
+ if (ifp->if_input == aoe_ether_input)
+ ifp->if_input = old_ether_input;
+@@ -531,7 +537,7 @@
+ struct ifnet *ifp;
+
+ IFNET_RLOCK();
+- TAILQ_FOREACH(ifp, &ifnet, if_link) {
++ IFNET_FOREACH(ifp, &ifnet, if_link) {
+ #if __FreeBSD_version >= 1100030
+ switch (ifp->if_type) {
+ #else
+@@ -564,7 +570,7 @@
+ struct ifnet *ifp;
+
+ IFNET_RLOCK();
+- TAILQ_FOREACH(ifp, &ifnet, if_link) {
++ IFNET_FOREACH(ifp, &ifnet, if_link) {
+ #if __FreeBSD_version >= 1100030
+ switch (ifp->if_type) {
+ #else