On 13/09/2010 08:41, Max Khon wrote:
George,

On Sat, Sep 11, 2010 at 12:12 AM, George Mamalakis <mama...@eng.auth.gr <mailto:mama...@eng.auth.gr>> wrote:

     On 10/09/2010 19:05, pluknet wrote:

        On 10 September 2010 17:32, George
        Mamalakis<mama...@eng.auth.gr <mailto:mama...@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;
                 }



    Hi, and thanx for your quick reply.

    I patched my workdir on /usr/ports/net/aoe/work/dev/aoe but got
    the following output, which probably suggests that we may be
    talking about a different version you and me:


    [root]# patch -p0 < patch-dev-aoe-aoenet.c
    Hmm...  Looks like a unified diff to me...
    The text leading up to this was:
    --------------------------

    |--- aoenet.c.orig       2006-05-25 16:10:11.000000000 +0000
    |+++ aoenet.c    2010-09-10 15:03:01.000000000 +0000
    --------------------------
    Patching file aoenet.c using Plan A...
    Hunk #1 failed at 77.
    Hunk #2 failed at 226.
    2 out of 2 hunks failed--saving rejects to aoenet.c.rej
    Hmm...  Ignoring the trailing garbage.
    done


    After cd'ing into /usr/ports/net/aoe and giving make I got:

    [root]# make
    ===>  Configuring for aoe-1.2.0_1
    ===>  Building for aoe-1.2.0_1
    .....
    .....
    aoenet.c:226:24: error: macro "MEXTADD" requires 8 arguments, but
    only 7 given
    aoenet.c: In function 'frame_mbufinit':
    aoenet.c:225: error: 'MEXTADD' undeclared (first use in this function)
    aoenet.c:225: error: (Each undeclared identifier is reported only once
    aoenet.c:225: error: for each function it appears in.)
    cc1: warnings being treated as errors
    aoenet.c: In function 'aoenet_xmitbcast':
    aoenet.c:278: warning: implicit declaration of function 'IFP2ENADDR'
    aoenet.c:278: warning: nested extern declaration of 'IFP2ENADDR'
    aoenet.c:278: warning: passing argument 2 of 'memcpy' makes
    pointer from integer without a cast
    aoenet.c: In function 'aoenet_enaddr':
    aoenet.c:294: warning: return makes pointer from integer without a
    cast
    *** Error code 1

    Stop in /usr/ports/net/aoe/work/dev/aoe.
    *** Error code 1

    Stop in /usr/ports/net/aoe.


    Which was pretty obvious, since not much had been patched...

    I didn't include the whole output; the missing part is correct
    compilation parts.

    Thanx again for your help, and if you could point me into the
    right source code (or port, whatsoever), I could try your patch
    and see whether the driver would be built.


You need to put that patch to ports/net/aoe/files. You can try to use this version of the port (unpack it to /usr/ports/net): http://people.freebsd.org/~fjoe/aoe.tar.gz <http://people.freebsd.org/%7Efjoe/aoe.tar.gz>

Max

Your patch worked fine, the driver compiled seamlessly, but I am unable to see more than 2T on my coraid device, even though it's size is 13T. I don't know whether this is a driver issue or fbsd issue.
uname -a on my machine:
[r...@~]# uname -a
FreeBSD lala 8.1-STABLE FreeBSD 8.1-STABLE #0: Tue Aug 31 13:54:36 EEST 2010 r...@lala:/usr/obj/usr/src/sys/CUSTOM i386

Thanx again for your help, and since the driver seems to be working, you should maybe inform coraid regarding their driver on fbsd8.

--
George Mamalakis

IT Officer
Electrical and Computer Engineer (Aristotle Un. of Thessaloniki),
MSc (Imperial College of London)

Department of Electrical and Computer Engineering
Faculty of Engineering
Aristotle University of Thessaloniki

phone number : +30 (2310) 994379

_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to