Hi, >>>>> On Sun, 19 Jan 2003 19:59:57 +0000 >>>>> David Malone <[EMAIL PROTECTED]> said:
dwmalone> I have a patch which is quite similar to this, but also reduces the dwmalone> use of the stackgap in the Linux networking code and breaks out dwmalone> things like socket, bind and listen into an implimentation and a dwmalone> syscall wrapper (extending Ian's work in this area). I took these dwmalone> patches far enough to get the linux version of telnet to speak IPv6. Your approach of having syscall wrapper reduces the overhead of copyout(), and seems good. I thought that doing copyout() is slightly lengthy. However, only connect() and bind() have an wrapper. We need more wrappers for converting `to' field of sendto() and `msg_name' field of sendmsg(). These are not simple than the wrapper for connect() and bind(). I have no idea how these should be wrapped at the moment. dwmalone> 1) I hadn't figured out the best way to deal with syscalls dwmalone> which copyout a sockaddr - I suspect we need a per-sysvec dwmalone> sockaddr copyout function to do this cleanly, but I'm open dwmalone> to suggestion. Maybe yes. dwmalone> 2) The patches wouldn't compile on the alpha 'cos of some dwmalone> ifdefs in the linux emulation code. I just hadn't got around dwmalone> to resolving this. Oops, thank you for pointing this out. It seems that other than linux_connect() are ifdef'ed by __alpha__. Is it right? Is there any problem removing #ifdef __alpha__ and compiling the codes in on FreeBSD/Alpha? dwmalone> Maybe we could see if we could combine these patches? My patch is dwmalone> available at: dwmalone> http://www.maths.tcd.ie/~dwmalone/linux-socket I think so, too. Sincerely, -- Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan [EMAIL PROTECTED] [EMAIL PROTECTED] ume@{,jp.}FreeBSD.org http://www.imasy.org/~ume/ To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message