-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 M. Warner Losh wrote: > In message: <[EMAIL PROTECTED]> > "Vishal Patil" <[EMAIL PROTECTED]> writes: > : Would like to thank you all folks. These conversations are really good way > : of learning things...Also it is good to know different perspectives for > : solving the same problem.... > > Yes. the ng_iscsi suggestion is also viable. It may be a little less > work than going to the raw sockets. Careful performance measurements > may be necessary, however, since there have been cases when the ng_foo > implementation wasn't fast enough and going to a lower level was > necessary. There have also been many cases where ng_bar was perfectly > fast enough and there was no need to go to the lower leve. At the > very least, the ng code will get you to layer your code well and > provide a faster means of development than going to the raw socket > layer. > > Warner > > : On 12/10/06, Julian Elischer <[EMAIL PROTECTED]> wrote: > : > > : > Özkan KIRIK wrote: > : > > I think netgraph subsystem provides this infrastructure for implementing > : > > new protocols. > : > > > : > > according to netgraph (4) man page: > : > > > : > > The aim of *netgraph* is to supplement rather than replace the > : > existing > : > > kernel networking infrastructure. It provides: > : > > > : > > *·* A flexible way of combining protocol and link level drivers. > : > > *·* A modular way to implement new protocols. > : > > *·* A common framework for kernel entities to inter-communicate. > : > > *·* A reasonably fast, kernel-based implementation. > : > > > : > > There are many examples and applications at this address: > : > > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netgraph/ > : > > : > also look it up in the daemon news archives at: > : > http://ezine.daemonnews.org/200003/netgraph.html > : > > : > a little out of date but the basic ideas are still right. > : > > : > > : > > > : > > > : > > you implementation may be "ng_iscsi" :) > : > > : > I thought of this but the trick is to do with the locking.. > : > You would need to get a transfer of control from the > : > netgraph locking domain to the geom or scsi universe's locking domain. > : > > : > There are all the components needed if you consider using the ksocket > : > netgraph node to open a TCP socket within the kernel, and you could hook > : > that to a scsi device netgraph node almost directly if you wrote it, > : > but the hardest part will be to create a method of crossing that locking > : > divide. > : > > : > Still it's possibly worth looking at. Of course the method suggested by > : > Warner is also very valid and may be about the same amount of work. > : > > : > > : > > > : > > I hope this helps, > : > > > : > > Özkan KIRIK > : > > EnderUNIX SDT @ Turkey > : > > Software Developer > : > >
May be better to start from scratch though, studying other protocols, given the fact that networking technology is going to be increasing in leaps and bounds it seems in the next couple years (1Gbit -> 10Gbit -> 100Gbit). Just a thought, but it seems like an ad-hoc solution may be better in the long run.. - -Garrett -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFfP/c6CkrZkzMC68RAsUWAJ0YIstzev855y9t7tmtArvlSoQO4wCfblfa SmiAvkWrVJKvIxGb3skdwOg= =Bxm3 -----END PGP SIGNATURE----- _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"