[Click] Uniform handler interface?

Eddie Kohler kohler at cs.ucla.edu
Wed Mar 11 12:03:54 EDT 2009


Hi Björn,

Probably you have tried this by now, but yes, that is how the element is 
intended to be used.  You'll need to give the ControlSocket other arguments of 
course.  Let us know if you have problems.

Eddie



Björn Smedman wrote:
> Eddie,
> 
> A combination of ControlSocket and KernelHandlerProxy may be the 
> solution then? I have seen them and read the documentation I could find 
> (http://read.cs.ucla.edu/click/elements/controlsocket) but I do not 
> fully understand how to use them.
> 
> Here is my guess for how to use them:
> 
> 1. Start router configuration in kernel-space.
> 
> 2. Start a user-space control proxy click configuration looking 
> something like this:
> 
> proxy :: KernelHandlerProxy
> ControlSocket(PROXY proxy)
> 
> It would then be possible to interact with the kernel-space click router 
> as if it was in user-space. Correct?
> 
> /Björn
> 
> On Thu, Mar 5, 2009 at 6:56 PM, Eddie Kohler <kohler at cs.ucla.edu 
> <mailto:kohler at cs.ucla.edu>> wrote:
> 
>     Björn,
> 
>     A ControlSocket for kernel space might be interesting, but it is not
>     top on our list of priorities.
> 
>     There are ways to translate from ControlSocket to kernel handlers,
>     however. For instance, you can run a user-level Click proxy that
>     translates ControlSocket requests to kernel handlers.
> 
>     man KernelHandlerProxy
>     man ControlSocket   -- look for the PROXY keyword argument
> 
>     Eddie
> 
> 
> 
> 
> 
>     Björn Smedman wrote:
> 
>         Hi,
> 
>         We have some click router configurations that I am trying to
>         move from
>         kernel-space to user-space. Making the switch was as simple as
>         changing the
>         command we use to load the configuration from "click-install" to
>         "click". We
>         where very impressed to find this complex router config with
>         custom elements
>         and all working exactly as before without a single change to
>         either config
>         or code. :)
> 
>         But the handler interface differences seem to require manual
>         work. We have a
>         control process that interacts with the click router through
>         handlers (both
>         read and write), and the interface to these handlers has changed
>         completely
>         after the move to user-space. In kernel-space we used the
>         clickfs handler to
>         file mappings. In user-space it seems we have to use ControlSocket.
> 
>         Is it possible to use ControlSocket in kernel-space as well? Is
>         there some
>         "best practice" for interacting with router configs that can be
>         moved freely
>         between user- and kernel-space? It seems to me that this is such a
>         compelling feature (to be able to debug in user-space and then
>         move to
>         kernel for better performance) that it would be worth while to
>         abstract the
>         handler interface.
> 
>         Thank you in advance.
> 
>         Best regards,
> 
>         Björn
> 
> 
> 
> 
> -- 
> Venatech AB
> Ideon Innovation
> Ole Römers väg 12
> SE-22370 LUND
> Sweden
> 
> 
> info at venatech.se <mailto:info at venatech.se>
> http://www.venatech.se



More information about the click mailing list