Re: [Netnice-kernels] NNFS was: Re: Sourceforge Account
Status: Alpha
Brought to you by:
taost6
From: Takashi O. <ta...@cs...> - 2004-09-28 22:23:23
|
hi scott, Scott Brumbaugh wrote: > > Hi Takashi, > > On Tue, 28 Sep 2004, Takashi Okumura wrote: > > > hi scott, > > > > i still don't understand your question. but, i think it is a good > > idea to try our bootable CD to know how it works. this is definitely > > a better specification of the API, better than the simplified description > > of the page you mentioned. > > Thanks for the pointer, I had not actually run netnice. Now, I have > downloaded the ISO and run it excersizing netnice by doing telnet > localhost and examining in /proc/network and /proc/<pid>/sockets/. > Before I was working from the docs and from the FreeBSD5 source. > > > but, i don't think it is a right way, to create a file system which > > contains just the directories under /proc/network of FreeBSD and > > mount it under /proc/network of linux-procfs. we need to setup a lot > > of links between process-dependent directories under /proc/PIDs and > > VIF directories under /proc/network, and thus, they cannot be separated > > that way, i believe. > > Considering further and with your reply, I can see the point. The > code that implements the interaction between the /proc/<pid>/sockets > entries and the vif interfaces under /proc/network/<interface>/<vif> > needs to be in the same kernel module. this is correct, i believe. > I was originally thinking that > /proc/<pid>/sockets could be created dynamically from within the nnfs > kernel module (I think linux procfs may have this feature) but it > would probably be difficult and error prone. so, it's the source of the confusion. BSD procfs do not have such a dynamic feature. we need to hardcode everything... the approach of Linux-procfs sounds reasonable, because it's easier to extend the feature (support more directories and functionality). but, since we do not need to make it too generic, i think BSD approach is better, in respect to its management overhead. we need to think about our approach... > I think the linux /proc/<pid> implementation is mostly contained in > the functions at the end of the file linux/fs/proc/base.c - > proc_pid_readdir, and proc_task_readdir. I will need to investigate > further but at this point does not look too complex to extract and > port to nnfs. this sounds good. i think it is preferable to support them. but, please keep in mind that it is still an open problem, how much of the linux-procfs functionality we need to support in NNFS. > > i guess that the confusion is mostly coming from the difference of > > organizations between FreeBSD-procfs and linux-procfs. and, maybe > > it is a good idea to have a tele-conference to avoid further confusion. > > we have a polycom system in my department, and i use MSN messenger > > also (ta...@ho...). > > > > I would prefer a teleconference to IM initially. For efficiency I > would suggest we try next week maybe Wednesday or Thursday as I will > be out of town this weekend and I want to study study up on the system > some more. okay. > As it is, I was about ready to move into implementing the mkdir > operation on the virtual directories under /network. I am studying > the functions vif_alloc and nnfs_vncache_alloc as I think these are > the most important here, I am thinking they should port with few > changes. btw, as you might have realized, procfs implementation of netnice API is the most horrible part of the system. because of this, i've totally re-written the code for FreeBSD 5/netnice (which is still a pre-alpha version), as NNFS. the code works exactly the same way as the procfs of the CDROM netnice (based on FreeBSD4.9), but, the whole system is not functional. my point is this: please use the CDROM system, to learn how it works. it is a working specification, you need to use for your linux-NNFS. but, to study how it is implemented on FreeBSD, please use the FreeBSD5/NNFS implementation, by checking out the source from our CVS repository. otherwise, you'll have a hard time to understand the messy implementation. (i think you're on the right track about this, right? since you're mentioning nnfs_vncache_alloc()... just in case.) http://cvs.sourceforge.net/viewcvs.py/netnice/FreeBSD5/?only_with_tag=netnice53 thanks!! -- taka |