[Click] linuxpatchless

Eddie Kohler kohler at cs.ucla.edu
Thu Nov 26 13:17:13 EST 2009


Hello all,

Harald Schiöberg wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Eddie started to pick up on his patch-making perl magic and tries to
> write some magic to automatically mangle those into C++ compliance
> independently from the kernel version used.

This is now done.  On current git, if you configure with --enable-fixincludes, 
Click will automatically fix Linux's headers for C++ compatibility -- at least 
on my 2.6.27 Ubuntu laptop, it succeeds, though I'm sure every now and then a 
new version will require an update to the scripts.  I have successfully run 
conf/test.click on an unpatched kernel!  Neat.

FWIW on linuxpatchless, at least FromDevice, ToDevice, ToHost, and FromHost 
will need closer attention.  (Not just From and ToDevice.)

Thanks to you and to our most excellent Syclick hosts!

Eddie



> 
> For documentation:
> Everthing should be simple almost regular expressions, like the notorious
> - - asm ( foo :: bar )
> + asm ( foo : : bar )
> One notable exception:
> the current click patch changes
> - - struct foo {}
> + EMPTY_STRUCT_DECL(foo)
> The EMPTY_STRUCT_DECL is one byte long, because empty structs are one
> byte in C++ but zero bytes in C. so this actually changes linux's
> internal structures. The prosed solution it to redefine that into a
> char[0] with is also zero bytes in C++, so we can still interface with
> the now unpatched structures of the kernel.
> 
> On the functional patches:
> We will try to exchange anything in the linuxpatchless directory that
> accesses one of click's hooks into something that uses a similar linux
> hook instead. Probably only the FromDevice and ToDevice Elements will
> have to be updated.
> The theory converged on registering click with dev_add_pack() and then
> overwriting skb->protocol in the received sk_buffs to prevent other's
> from handling the packet as well...
> Whoever feels more practical: post your patches ;-)
> 
> That's all I remember on that part, a BIG THANK YOU again to the
> organizers of syclick who made all that possible in the first place.
> 
> - --
> Harald Schiöberg
> Technische Universität Berlin | T-Laboratories | FG INET
> www: http://www.net.t-labs.tu-berlin.de
> Phone: +49-(0)30-8353-58476 | Fax: +49-(0)391 534 783 47
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.6 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> 
> iD8DBQFLDY1ay8wrZ9OvkU0RAniwAJ9slIU/lUypJovGmTYIfMKW5G5hXwCfWCi0
> ay61mfOJbRUcXRlXEeg9Xdc=
> =Udn3
> -----END PGP SIGNATURE-----
> 
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click



More information about the click mailing list