Great work! I just tested a today's pull from click/master and FromHost works on patchless linux (Fedora14).
Roman On Mon, 17 Jan 2011 11:16:38 -0800 Eddie Kohler <[email protected]> wrote > Hi Sascha, > > Nice! Thanks very much for this patch. I've added it, with some edits > (for instance, we need to add an inet_ctl_sock_destroy to undo the > inet_ctl_sock_create). Please let me know if you see any problems. > > Eddie > > > On 11/23/10 2:42 PM, Sascha Alexander Jopen wrote: > > Hey, > > > > i managed to test click patchless with a more complex click script and > > everything runs fine. Additionally i implemented the missing > > functionality to set the fake devices ip address on more recent kernels. > > I tested the code on 2.6.35 and 2.6.32 kernels. > > > > Please find attached the required patch to set the ip address. It > > applies on top of all patches submitted by Joonwoo, including the patch > > to set the mac address. Maybe the patch needs some cleanup and testing > > for older kernels. > > > > Regards, > > Sascha > > > > On 11/17/2010 08:12 AM, Joonwoo Park wrote: > >> This is cool. Thanks so much Cliff. > >> > >> Interesting.. I'm almost using the same environment with yours but was > >> not able to reproduce oops by reconfiguring config. > >> I ran this on ubuntu 9.10 + linux 2.6.35 inside kvm virtual machine. > >> On the top of your today's branch, I also applied the patch that I > >> posted to set mac address for IP type but it shouldn't be difference I > >> think. > >> > >> If you have chance, please let me see call back trace I'll have a look. > >> > >> Joonwoo. > >> > >> On Tue, Nov 16, 2010 at 10:23 PM, Cliff Frey<[email protected]> wrote: > >>> I'm not sure at all what the current best-guess set of patches is to make > >>> patchless fully work. I cobbled together enough patches from the list > >>> and > >>> did very very basic testing on my machine, and came up with this branch > >>> > >>> https://github.com/clifffrey/click/tree/working-fromhost-fixincludes > >>> > >>> It roughly works for me on first, but it crashed when I reconfigured it. > >>> I'm running ubuntu 10.10, with 2.6.35-22-generic. It is running inside > >>> of > >>> a qemu virtual machine. > >>> > >>> Perhaps I will spend more time debugging, not sure if I'll have time soon > >>> or > >>> not. I will keep the branch up to date with anything that I fix though. > >>> > >>> Cliff > >>> > >>> On Tue, Nov 16, 2010 at 5:29 PM, Sascha Alexander Jopen< > >>> [email protected]> wrote: > >>> > >>>> Hey, > >>>> > >>>> today i tried FromHost with your patch applied. The ethernet address is > >>>> now set as expected. I could not yet test the element because of > >>>> possible errors in my click script. I will check this tomorrow. > >>>> > >>>> I tried to fix the problem with not being able to set the ip address as > >>>> well. Since devinet_ioctl seems no longer available in recent kernels, i > >>>> tried to use inet_ioctl instead, which passes through to devinet_ioctl > >>>> for certain commands. inet_ioctl expects a struct socket as an argument > >>>> however, which i do not know how to create and bind to the correct > >>>> interface. I tried to fill in only the struct sock *sk part, obtained > >>>> through inet_ctl_sock_create, as the socket itself should never be used > >>>> by inet_ioctl. The machine crashed with a kernel panic on testing. > >>>> > >>>> Further investigation will follow. As i'm new to kernel level > >>>> programming, figuring out the problem may take some time, however. > >>>> > >>>> Sascha > >>>> > >>>> > >>>> Am 15.11.2010 22:50, schrieb Joonwoo Park: > >>>>> CC'ing Eddie. > >>>>> > >>>>> On Sun, Nov 14, 2010 at 2:32 PM, Joonwoo Park<[email protected]> > >>>> wrote: > >>>>>> Hi, > >>>>>> > >>>>>> Thanks for testing. Can you try this patch once again? > >>>>>> It seems to me linuxmodule FromHost never allowed to set ethernet > >>>>>> address by it's argument if type is IP. > >>>>>> It has been clearing ethernet address with 0 always after parsing > >>>> argument. > >>>>>> > >>>>>> Eddie, > >>>>>> Would you mind to shed on me why FromHost is doing that? > >>>>>> > >>>>>> Thanks, > >>>>>> Joonwoo > >>>>>> > >>>>>> --- > >>>>>> diff --git a/elements/linuxmodule/fromhost.cc > >>>> b/elements/linuxmodule/fromhost.cc > >>>>>> index 8b76672..6bde049 100644 > >>>>>> --- a/elements/linuxmodule/fromhost.cc > >>>>>> +++ b/elements/linuxmodule/fromhost.cc > >>>>>> @@ -205,9 +205,7 @@ FromHost::configure(Vector<String> &conf, > >>>>>> ErrorHandler *errh) > >>>>>> } > >>>>>> > >>>>>> // set type > >>>>>> - if (type == "IP") > >>>>>> - _macaddr = EtherAddress(); > >>>>>> - else if (type != "ETHER"&& type != "") > >>>>>> + if (type != "ETHER"&& type != "IP") > >>>>>> return errh->error("bad TYPE"); > >>>>>> > >>>>>> // set up queue > >>>>>> --- > >>>>>> > >>>>>> On Sun, Nov 14, 2010 at 2:37 AM, Sascha Alexander Jopen > >>>>>> <[email protected]> wrote: > >>>>>>> Hey, > >>>>>>> > >>>>>>> thank you for the patch, Joonwoo. > >>>>>>> Now i can start the click instance without further crashes. > >>>>>>> I have problems setting the encap type and mac address of the fake > >>>>>>> device, though. Although i specified a mac address in the click > >>>>>>> script, > >>>>>>> the encap type of the tun/tap interface is UNSPEC with no mac address > >>>> set. > >>>>>>> Is it possible to set these parameters manually after the click > >>>>>>> kernel > >>>>>>> module is installed? Will click detect those changes? > >>>>>>> Not being able to set the fake interfaces ip address shouldn'z be > >>>>>>> that > >>>>>>> much of a problem, i think. Is this due to missing ioctl's in newer > >>>>>>> kernels or what is the problem here? > >>>>>>> > >>>>>>> Thanks, > >>>>>>> Sascha > >>>>>>> > >>>>>>> Am 14.11.2010 07:34, schrieb Joonwoo Park: > >>>>>>>> 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<[email protected]> > >>>> 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 > >>>>>>>>> <[email protected]> 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/[email protected]/msg04242.html > >>>>>>>>>>>> > >>>>>>>>>>>> Thanks, > >>>>>>>>>>>> Joonwoo > >>>>>>>>>>>> > >>>>>>>>>>>> On Tue, Nov 9, 2010 at 11:42 AM, Sascha Alexander Jopen > >>>>>>>>>>>> <[email protected]> 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 > >>>>>>>>>>>>>> <[email protected]> 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"< > >>>> [email protected]> > >>>>>>>>>>>>>>>> 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 > >>>>>>>>>>>>>>>> [email protected] > >>>>>>>>>>>>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> _______________________________________________ > >>>>>>>>>>>>>>> click mailing list > >>>>>>>>>>>>>>> [email protected] > >>>>>>>>>>>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> _______________________________________________ > >>>>>>>>>>>>> click mailing list > >>>>>>>>>>>>> [email protected] > >>>>>>>>>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click > >>>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> _______________________________________________ > >>>>>>>>>>> click mailing list > >>>>>>>>>>> [email protected] > >>>>>>>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> _______________________________________________ > >>>>>>>>>> click mailing list > >>>>>>>>>> [email protected] > >>>>>>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>>>> _______________________________________________ > >>>>>>> click mailing list > >>>>>>> [email protected] > >>>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click > >>>>>>> > >>>>>> > >>>> > >>>> _______________________________________________ > >>>> click mailing list > >>>> [email protected] > >>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click > >>>> > >>> _______________________________________________ > >>> click mailing list > >>> [email protected] > >>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click > >>> > >> > >> _______________________________________________ > >> click mailing list > >> [email protected] > >> https://amsterdam.lcs.mit.edu/mailman/listinfo/click > > > > > > > > _______________________________________________ > > click mailing list > > [email protected] > > https://amsterdam.lcs.mit.edu/mailman/listinfo/click > _______________________________________________ > click mailing list > [email protected] > https://amsterdam.lcs.mit.edu/mailman/listinfo/click _______________________________________________ click mailing list [email protected] https://amsterdam.lcs.mit.edu/mailman/listinfo/click
