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
