Date: Fri, 28 Jan 2011 17:06:27 -0500 From: John Baldwin <jhb@freebsd.org> To: Jeff Roberson <jroberson@jroberson.net> Cc: freebsd-arch@freebsd.org Subject: Re: ofed merge soon Message-ID: <201101281706.27514.jhb@freebsd.org> In-Reply-To: <alpine.BSF.2.00.1101281050510.1412@desktop> References: <alpine.BSF.2.00.1101271653470.1412@desktop> <201101281009.32986.jhb@freebsd.org> <alpine.BSF.2.00.1101281050510.1412@desktop>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday, January 28, 2011 3:56:30 pm Jeff Roberson wrote: > 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. I think it will have to live there always, yes. Hmm, for now maybe just add a comment to say that it is only for Linux compat currently and not a supported interface. When I add a different drain interface I will make sure this function has the same semantics. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101281706.27514.jhb>