> On Feb 7, 2018, at 6:07 AM, Maurizio Vairani <maurizio1...@gmail.com> wrote: > > 2018-02-06 23:02 GMT+01:00 John Nielsen <li...@jnielsen.net>: > > On Feb 6, 2018, at 11:50 AM, Ian Lepore <i...@freebsd.org> wrote: > > > > On Tue, 2018-02-06 at 11:33 -0700, John Nielsen wrote: > >> > >> Apparently sending a NULL socket pointer to ifioctl hasn't worked > >> since this commit in 2011: > >> https://svnweb.freebsd.org/base?view=revision&revision=218757 > >> > >> So I'm going to add this patch to the port unconditionally once it > >> works. > >> > >> Unfortunately, I can't compile the port with either my patch below or > >> your original replacement version of isboot_ifup(). :( Did you make > >> other changes? Here's the error I'm getting: > >> > >> --- isboot.o --- > >> isboot.c:425:53: error: incomplete definition of type 'struct thread' > >> error = socreate(AF_INET, &so, SOCK_DGRAM, 0, td->td_ucred, td); > >> ~~^ > >> /usr/src/sys/sys/systm.h:185:8: note: forward declaration of 'struct > >> thread' > >> struct thread; > >> ^ > >> 1 error generated. > >> > > > > Try adding #include <sys/proc.h> if it's not already in the list. It > > may be that that file got included via pollution from some other header > > file in the past and maybe now that has changed. > > > > If you're already including sys/proc.h then I'm clueless. > > Thanks Ian, that appears to work. > > Maurizio, can you apply the attached patch to a clean ports tree and see if > isboot-kmod will build and function properly for you? This is all the changes > from this thread and the previous one. If you let me know it works I'll get > the port updated. > > > Hi John, I need some help. > > I am running: > # uname -a > FreeBSD 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r328383: Thu Jan 25 04:48:52 > UTC 2018 > r...@releng3.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 > > after upgrading the ports tree with: > # portsnap fetch update > > I have copied the directory /usr/ports/net/isboot-kmod/ in > /root/src/isboot-kmod and /root/src/isboot-kmod.orig > # ls -l /root/src > total 6 > drwxr-xr-x 3 root wheel 6 Feb 7 13:46 isboot-kmod > drwxr-xr-x 3 root wheel 6 Feb 7 13:46 isboot-kmod.orig > -rw-rw-rw- 1 root wheel 5630 Feb 7 11:38 isboot_patch.txt > > Trying to apply the patch I obtain the error: > # cd /root/src > # patch -sC < isboot_patch.txt > 2 out of 2 hunks failed while patching isboot-kmod/Makefile > 5 out of 5 hunks failed while patching isboot-kmod/files/patch-isboot.c > > What I am missing ? > Thanks again for your work.
Not sure but I ran in to similar issues testing here as well. Here's the "svn diff" patch which does work for me. Note that this one should be applied from within the isboot-kmod directory.
Index: Makefile =================================================================== --- Makefile (revision 461112) +++ Makefile (working copy) @@ -2,7 +2,7 @@ PORTNAME= isboot-kmod PORTVERSION= 0.2.13 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net MASTER_SITES= http://www.peach.ne.jp/archives/isboot/ DISTNAME= isboot-${PORTVERSION} @@ -12,9 +12,7 @@ LICENSE= BSD2CLAUSE -BROKEN_aarch64= fails to compile: /usr/src/sys/sys/bus.h:724:10: fatal error: 'device_if.h' file not found BROKEN_armv6= fails to compile: implicit declaration of function 'cp15_pmccntr_get' is invalid in C99 -BROKEN_armv7= fails to compile: /usr/src/sys/sys/bus.h:724:10: fatal error: 'device_if.h' file not found BROKEN_powerpc64= fails to compile: pcpu.h: size of array '__assert_0' is negative USES= kmod uidfix Index: files/patch-Makefile =================================================================== --- files/patch-Makefile (nonexistent) +++ files/patch-Makefile (working copy) @@ -0,0 +1,10 @@ +--- Makefile.orig 2015-09-23 22:33:04.000000000 -0600 ++++ Makefile 2018-01-29 10:20:10.453188000 -0700 +@@ -6,6 +6,7 @@ + SRCS= isboot.c ibft.c iscsi.c + SRCS+= isboot.h ibft.h iscsi_compat.h + SRCS+= opt_cam.h ++SRCS+= device_if.h bus_if.h + #CFLAGS+= -DVIMAGE + #CFLAGS+= -DIBFT_VERBOSE + #CFLAGS+= -DDEBUG Property changes on: files/patch-Makefile ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files/patch-isboot.c =================================================================== --- files/patch-isboot.c (revision 461112) +++ files/patch-isboot.c (working copy) @@ -1,6 +1,14 @@ ---- isboot.c.orig 2015-11-05 16:50:51 UTC -+++ isboot.c -@@ -347,9 +347,9 @@ isboot_set_v4gw(struct sockaddr_in *gate +--- isboot.c.orig 2015-11-05 09:50:51.000000000 -0700 ++++ isboot.c 2018-02-06 14:23:24.479249000 -0700 +@@ -38,6 +38,7 @@ + #include <sys/socketvar.h> + #include <sys/sockio.h> + #include <sys/sysctl.h> ++#include <sys/proc.h> + #include <net/if.h> + #include <net/if_dl.h> + #include <net/if_types.h> +@@ -347,9 +348,9 @@ netmask.sin_addr.s_addr = htonl(0); /* delete gateway if exists */ @@ -12,7 +20,7 @@ if (error) { if (error != ESRCH) { printf("rtrequest RTM_DELETE error %d\n", -@@ -359,9 +359,9 @@ isboot_set_v4gw(struct sockaddr_in *gate +@@ -359,9 +360,9 @@ } /* set new default gateway */ @@ -24,7 +32,7 @@ if (error) { printf("rtrequest RTM_ADD error %d\n", error); return (error); -@@ -391,9 +391,9 @@ isboot_set_v6gw(struct sockaddr_in6 *gat +@@ -391,9 +392,9 @@ memset(&netmask.sin6_addr, 0, 16); /* delete gateway if exists */ @@ -36,7 +44,7 @@ if (error) { if (error != ESRCH) { printf("rtrequest RTM_DELETE error %d\n", -@@ -403,9 +403,9 @@ isboot_set_v6gw(struct sockaddr_in6 *gat +@@ -403,9 +404,9 @@ } /* set new default gateway */ @@ -48,3 +56,42 @@ if (error) { printf("rtrequest RTM_ADD error %d\n", error); return (error); +@@ -417,28 +418,36 @@ + isboot_ifup(struct ifnet *ifp) + { + struct ifreq ifr; ++ struct socket *so; + struct thread *td; + int error; + + memset(&ifr, 0, sizeof(ifr)); + td = curthread; + ++ error = socreate(AF_INET, &so, SOCK_DGRAM, 0, td->td_ucred, td); ++ if (error) { ++ printf("%s: socreate, error=%d\n", __func__, error); ++ return (error); ++ } ++ + /* boot NIC */ + strlcpy(ifr.ifr_name, ifp->if_xname, sizeof(ifr.ifr_name)); + + /* set IFF_UP */ +- error = ifioctl(NULL, SIOCGIFFLAGS, (caddr_t)&ifr, td); ++ error = ifioctl(so, SIOCGIFFLAGS, (caddr_t)&ifr, td); + if (error) { + printf("ifioctl SIOCGIFFLAGS\n"); + return (error); + } + ifr.ifr_flags |= IFF_UP; +- error = ifioctl(NULL, SIOCSIFFLAGS, (caddr_t)&ifr, td); ++ error = ifioctl(so, SIOCSIFFLAGS, (caddr_t)&ifr, td); + if (error) { + printf("ifioctl SIOCSIFFLAGS\n"); + return (error); + } + ++ soclose(so); + return (0); + } + Index: files/patch-iscsi.c =================================================================== --- files/patch-iscsi.c (nonexistent) +++ files/patch-iscsi.c (working copy) @@ -0,0 +1,27 @@ +--- iscsi.c.orig 2015-11-05 09:50:51.000000000 -0700 ++++ iscsi.c 2018-01-29 10:20:00.586277000 -0700 +@@ -1070,9 +1070,11 @@ + return (n); + } + +- +-#if __FreeBSD_version >= 1100000 ++#if __FreeBSD_version >= 1200051 + static void ++isboot_free_mbufext(struct mbuf *m) ++#elif __FreeBSD_version >= 1100000 ++static void + isboot_free_mbufext(struct mbuf *m, void *p, void *optarg) + #elif __FreeBSD_version >= 1000050 && __FreeBSD_version < 1100000 + static int +@@ -1082,7 +1084,9 @@ + isboot_free_mbufext(void *p, void *optarg) + #endif + { +- ++#if __FreeBSD_version >= 1200051 ++ void *p = m->m_ext.ext_arg1; ++#endif + ISBOOT_TRACE("isboot_free_mbufext\n"); + if (p == NULL) + #if __FreeBSD_version >= 1000050 && __FreeBSD_version < 1100000 Property changes on: files/patch-iscsi.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property
_______________________________________________ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"