Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Sep 2010 20:05:57 +0400
From:      pluknet <pluknet@gmail.com>
To:        George Mamalakis <mamalos@eng.auth.gr>
Cc:        stable@freebsd.org
Subject:   Re: AoE driver for FBSD8 or later?
Message-ID:  <AANLkTikb4VspdP758CD_1HNe8P%2BdzHc4Y3Y3Jguchnbd@mail.gmail.com>
In-Reply-To: <4C8A336D.9080302@eng.auth.gr>
References:  <4C8A336D.9080302@eng.auth.gr>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On 10 September 2010 17:32, George Mamalakis <mamalos@eng.auth.gr> wrote:
>  Hi everybody,
>
> we have a coraid device with 15x1GB disks on it, and would like to use it
> with fbsd8 (zfs, etc). The http://support.coraid.com/support/freebsd/ is
> really outdated, and the port that creates the kernel module does not
> compile on FBSD8 (obviously!). Is there any effort on migrating the driver
> onto fbsd8 or should I plug the coraid on a linux system and use it from
> there?
>

This change below looks obvious to me.
Not sure if this is enough to make it work though.
There are also might be issues with those interfaces which announce
itself as IFT_ETHER, but have NULL if_input.

# cat files/patch-dev-aoe-aoenet.c
--- aoenet.c.orig       2006-05-25 16:10:11.000000000 +0000
+++ aoenet.c    2010-09-10 15:03:01.000000000 +0000
@@ -77,8 +77,11 @@
 #define NECODES (sizeof(aoe_errlist) /  sizeof(char *) - 1)
 #if (__FreeBSD_version < 600000)
 #define IFPADDR(ifp) (((struct arpcom *) (ifp))->ac_enaddr)
+#elif (__FreeBSD_version < 700000)
+#define IFPADDR(ifp) IFP2ENADDR(ifp)
 #else
-#define IFPADDR(ifp) IFP2ENADDR(ifp)
+#include <net/if_dl.h>
+#define IFPADDR(ifp) IF_LLADDR(ifp)
 #endif
 #define IFLISTSZ 1024

@@ -223,7 +226,11 @@

                m1->m_ext.ref_cnt = NULL;
                MEXTADD(m1, f->f_data, len, nilfn,
+#if (__FreeBSD_version < 800000)
                        NULL, 0, EXT_NET_DRV);
+#else
+                       f->f_data, NULL, 0, EXT_NET_DRV);
+#endif
                m1->m_len = len;
                m1->m_next = NULL;
         }


-- 
wbr,
pluknet

[-- Attachment #2 --]
--- aoenet.c.orig	2006-05-25 16:10:11.000000000 +0000
+++ aoenet.c	2010-09-10 15:03:01.000000000 +0000
@@ -77,8 +77,11 @@
 #define NECODES (sizeof(aoe_errlist) /  sizeof(char *) - 1)
 #if (__FreeBSD_version < 600000)
 #define IFPADDR(ifp) (((struct arpcom *) (ifp))->ac_enaddr)
+#elif (__FreeBSD_version < 700000)
+#define IFPADDR(ifp) IFP2ENADDR(ifp)
 #else
-#define IFPADDR(ifp) IFP2ENADDR(ifp) 
+#include <net/if_dl.h>
+#define IFPADDR(ifp) IF_LLADDR(ifp)
 #endif
 #define IFLISTSZ 1024
 
@@ -223,7 +226,11 @@
 
 		m1->m_ext.ref_cnt = NULL;
 		MEXTADD(m1, f->f_data, len, nilfn, 
+#if (__FreeBSD_version < 800000)
 			NULL, 0, EXT_NET_DRV);
+#else
+			f->f_data, NULL, 0, EXT_NET_DRV);
+#endif
 		m1->m_len = len;
 		m1->m_next = NULL;
         }

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTikb4VspdP758CD_1HNe8P%2BdzHc4Y3Y3Jguchnbd>