[Click] patchless click patches

Eddie Kohler kohler at cs.ucla.edu
Mon Jan 17 14:15:53 EST 2011


Hi Joonwoo,

Thanks very much for this work!  A version of this patch has been 
checked in; after checking in your version I added some cleanups. 
Please let me know if you see any problems.

Eddie


On 11/13/10 10:34 PM, Joonwoo Park wrote:
> Hello,
>
> Can you please try attached patch to see if it works for you?
> You have to revert patch 07/12 if you applied already to apply attached patch.
>
> p.s I couldn't find a nice way to set ip address from kernel module
> without patching kernel therefore you have to set ip address of your
> device after configuring FromHost. (You won't be able to set it by
> FromHost argument)
> Setting ethernet address by FromHost argument should be still working.
>
> Joonwoo.
>
> On Tue, Nov 9, 2010 at 9:25 PM, Joonwoo Park<joonwpark81 at gmail.com>  wrote:
>> Hi,
>>
>> Thanks for call trace and simplified config.
>> I should have allocated netdev_ops and assign it to dev->netdev_ops.
>> It seem to me dev->netdev_ops is NULL.
>> My bad.  I'll fix and submit new patch as soon as I have chance.
>>
>> Joonwoo
>>
>> On Tue, Nov 9, 2010 at 3:30 PM, Sascha Alexander Jopen
>> <jopen at informatik.uni-bonn.de>  wrote:
>>> Hi,
>>>
>>> i finally removed the mentioned 'false' requirement and the element was
>>> compiled and integrated into the kernel module. When installing the
>>> module with a click script using click-install, the module crashes with
>>> a null pointer dereference, however. I didn't have the time to do
>>> further tests with simpler click scripts. I will check this within the
>>> next days.
>>> Attached you will find the kernel call trace for this null pointer
>>> dereference. The corresponding click part:
>>>
>>> AddressInfo(localDevice DEVNAME:ip/24 DEVNAME:eth);
>>> FromHost(fake0, localDevice:ipnet, ETHER localDevice:eth, TYPE IP) ->  ...
>>>
>>> DEVNAME will be replaced by an existing network device.
>>> Maybe this is sufficient for someone to detect the problem.
>>>
>>> Sascha
>>>
>>> Am 09.11.2010 22:27, schrieb Sascha Alexander Jopen:
>>>> Hello,
>>>>
>>>> the FromHost element simply does not exist after compiling. ToHost,
>>>> ToHostSniffers and ToDevice, as well as FromDevice, are compiled,
>>>> FromHost not.
>>>> When feeding a click script to click-install the following error is emitted:
>>>> <stdin>:144: unknown element class 'FromHost'
>>>>
>>>> fromhost.cc contains
>>>> ELEMENT_REQUIRES(AnyDevice linuxmodule false)
>>>> The 'false' requirement, may be this prevents compiling this element?
>>>>
>>>> Sascha
>>>>
>>>>
>>>>
>>>> Am 09.11.2010 22:06, schrieb Joonwoo Park:
>>>>> Hi Sascha,
>>>>>
>>>>> I guess I'm not quite following FromHost issue here.
>>>>>
>>>>> Are you having build failure or any other problem?
>>>>> When I submitted patchless patches, I also built and fixes FromHost
>>>>> element and confirmed it's building.  I haven't tested element though.
>>>>> Did you apply '07/12 FromHost: netdev_ops for linux 2.6.33+'?
>>>>> http://www.mail-archive.com/click@amsterdam.lcs.mit.edu/msg04242.html
>>>>>
>>>>> Thanks,
>>>>> Joonwoo
>>>>>
>>>>> On Tue, Nov 9, 2010 at 11:42 AM, Sascha Alexander Jopen
>>>>> <jopen at informatik.uni-bonn.de>  wrote:
>>>>>> Hey,
>>>>>>
>>>>>> i compiled for a recent kernel from ubuntu, namely 2.6.35-22-generic. I
>>>>>> didn't apply your NETREG_REGISTERED patch, but it seems, everything
>>>>>> compiled fine.
>>>>>> I think this patch part is included in Joonwoos "[PATCH 04/12]
>>>>>> Configury: prepend net_device namespace for NETREG_REGISTERED"
>>>>>> As the enum in question is part of the net_device struct, everything
>>>>>> should work as expected. Applying your patch leads to compiler errors on
>>>>>> my system.
>>>>>>
>>>>>> So basically i am right, that FromHost is completely missing, currently?
>>>>>> It would be nice, if someone could point me to the right direction. What
>>>>>> is the problematic part in implementing this element?
>>>>>>
>>>>>> Regards,
>>>>>> Sascha
>>>>>>
>>>>>> Am 09.11.2010 19:35, schrieb Roman Chertov:
>>>>>>> Sascha,
>>>>>>>
>>>>>>> What kernel version did you use?  It appears that for 2.6.35 and above the
>>>>>>> NETREG_REGISTERED fix is required as well.  If you start on updating FromHost, I
>>>>>>> will be glad to give you a hand.
>>>>>>>
>>>>>>> Roman
>>>>>>>
>>>>>>>
>>>>>>> On Fri, 05 Nov 2010 20:02:38 +0100 Sascha Alexander Jopen
>>>>>>> <jopen at informatik.uni-bonn.de>  wrote
>>>>>>>
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> i tried click patchless today. I used those patches from Joonwoo, which
>>>>>>>> didn't make it into the repository till now. Especially the patches to
>>>>>>>> fixincludes and the configure scripts were necessary.
>>>>>>>>
>>>>>>>> It seems the FromHost element is not included during build. I know this
>>>>>>>> was the last element which had to be done, but is it really still not
>>>>>>>> finished? What are the missing parts for this element to work?
>>>>>>>>
>>>>>>>> We are using click userlevel and kernel level isn't really necessary but
>>>>>>>> still nice to have. So maybe i could use some spare time to finish the
>>>>>>>> FromHost element, if there isn't that much missing.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Sascha Jopen
>>>>>>>>
>>>>>>>> On 11/03/10 17:42, Roman Chertov wrote:
>>>>>>>>> This will also require Joonwoo's PATCH1/12.  It removes #include
>>>>>>>>> <linux/autoconf.h>    from configure.in
>>>>>>>>>
>>>>>>>>> On Tue, 02 Nov 2010 18:44:32 -0700 "Roman Chertov"<rchertov at cs.ucsb.edu>
>>>>>>>>> wrote
>>>>>>>>>
>>>>>>>>>> Hello,
>>>>>>>>>>
>>>>>>>>>> This works on Fedora 13 running 2.6.35.8 SMP kernel.  The second patch is
>>>>>>>>>> based
>>>>>>>>>> on patches 2/12 and 3/12 that Joonwoo released.  I had to add the
>>>>>>>>>> NETREG_REGISTERED patch due to scoping issues when an enum declared in
>>>>>>>>>> net_device is used.  Otherwise, the code is same as in github master
>>>>>>>>>> branch.
>>>>>>>>>> I
>>>>>>>>>> am not sure if there is a more elegant way to solve that issue.
>>>>>>>>>>
>>>>>>>>>> Roman
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> click mailing list
>>>>>>>>> click at amsterdam.lcs.mit.edu
>>>>>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> click mailing list
>>>>>>>> click at amsterdam.lcs.mit.edu
>>>>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> click mailing list
>>>>>> click at amsterdam.lcs.mit.edu
>>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>>>>
>>>>
>>>> _______________________________________________
>>>> click mailing list
>>>> click at amsterdam.lcs.mit.edu
>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>
>>>
>>> _______________________________________________
>>> click mailing list
>>> click at amsterdam.lcs.mit.edu
>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>
>>>
>>
>>
>>
>> _______________________________________________
>> click mailing list
>> click at amsterdam.lcs.mit.edu
>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click


More information about the click mailing list