Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 01 Jul 2004 18:14:53 +0400
From:      Roman Kurakin <rik@cronyx.ru>
To:        Anil Madhavapeddy <anil@recoil.org>
Cc:        freebsd-net@lists.freebsd.org
Subject:   Re: Packing netgraph structs
Message-ID:  <40E41C5D.6030906@cronyx.ru>
In-Reply-To: <931572E3-CB5E-11D8-99F8-000A95DA50A6@recoil.org>
References:  <122AE07F-CB5B-11D8-99F8-000A95DA50A6@recoil.org> <40E40839.20500@cronyx.ru> <931572E3-CB5E-11D8-99F8-000A95DA50A6@recoil.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Anil Madhavapeddy wrote:

> On 1 Jul 2004, at 13:48, Roman Kurakin wrote:
>
>> If this is a problem why can't you make some wrapper that will 
>> pack/unpack written on C,
>> which will be a lib for you?
>
>
> Because I want to minimise the size of the foreign bindings - this 
> would require C code for every single Netgraph struct.  If they were 
> packed, I could just do it all in OCaml.

Packing lead to perfomance issues. So it is used only in case of packet 
specifications were each bit
may have its own meaning and there place is fixed by protocol which is 
lang/arch/etc independant
and we cant just add a couple of them.

> Isn't this a problem for other language bindings as well, or is 
> everyone doing Netgraph userland hacking in C at the moment?

For Unix programming I do not use other languages than C, except for 
scripting.
And I believe I am not in minority. IMHO perfomace issue is more 
important than
cross language interaction which is in minority.

rik

>
> -- 
> Anil Madhavapeddy                                   
> http://anil.recoil.org
> University of Cambridge                            
> http://www.cl.cam.ac.uk
>
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
>
>





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40E41C5D.6030906>