[Click] Uniform handler interface?

Björn Smedman bjorn.smedman at venatech.se
Thu Mar 5 14:15:39 EST 2009


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> 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
http://www.venatech.se


More information about the click mailing list