Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Jan 2011 10:56:30 -1000 (HST)
From:      Jeff Roberson <jroberson@jroberson.net>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: ofed merge soon
Message-ID:  <alpine.BSF.2.00.1101281050510.1412@desktop>
In-Reply-To: <201101281009.32986.jhb@freebsd.org>
References:  <alpine.BSF.2.00.1101271653470.1412@desktop> <201101281009.32986.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 28 Jan 2011, John Baldwin wrote:

> On Thursday, January 27, 2011 9:59:01 pm Jeff Roberson wrote:
>> Hi Folks,
>>
>> I am merging ofed very soon.  Here is the diff between the ofed base and
>> head branches, which includes all of the diffs to vendor files and FreeBSD
>> files:
>>
>> http://people.freebsd.org/~jeff/ofed.diff
>
> Did you consider changing ndp to match the code from arp to print out the link
> layer addresses?  If you don't want to do that, should there be a constant
> similar to ETHER_ADDR_LEN that is suitable for IB to avoid hardcoding '20' in
> ndp?  Here is the similar code from arp (which ndp probably should adopt in
> some fashion):
>

You're right, I was lazy in ndp.  Thanks for keeping me honest.

>        if (sdl->sdl_alen) {
>                if ((sdl->sdl_type == IFT_ETHER ||
>                    sdl->sdl_type == IFT_L2VLAN ||
>                    sdl->sdl_type == IFT_BRIDGE) &&
>                    sdl->sdl_alen == ETHER_ADDR_LEN)
>                        printf("%s", ether_ntoa((struct ether_addr
> *)LLADDR(sdl)));
>                else {
>                        int n = sdl->sdl_nlen > 0 ? sdl->sdl_nlen + 1 : 0;
>
>                        printf("%s", link_ntoa(sdl) + n);
>                }
>        } else
>                printf("(incomplete)");
>
>> The diffs are actually quite small when you eliminate ofed diffs.  I don't
>> know why I have so many merge properties but I'll just apply this diff to
>> current, build & test before committing rather than have svn do it.
>> Unless someone tells me otherwise.
>
> Just applying the diffs is probably fine.
>
> Also, at some point I would probably like to rename intr_drain() or hide it in
> some way so that only ofed uses it.  FreeBSD drivers should drain interrupt
> handlers, not IRQs.  I realize the ofed Linux compat shims are stuck with that
> interface, but for FreeBSD drivers I want a proper interface.

Any suggestions?  Is there a proper interface available yet?  The 
implementation I have requires internals that are not exposed outside of 
kern_intr.c so it has to live there.

Thanks,
Jeff

>
> -- 
> John Baldwin
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1101281050510.1412>