Hey, Long term we've been moving towards a model where the destination IP address annotation is set by default -- to avoid precisely this problem. So IPMirror sets the annotation by default now.
Thanks, Eddie david johnson wrote: > Wow thanks, that was simple, GetIPAddress(16) after IPMirror worked > perfectly! So I'll keep the packet reflector as a nice simple example. > > David > > On Tue, 2009-08-25 at 13:08 -0700, Cliff Frey wrote: >> I suspect the problem is that IPMirror does not set the dst_ip_anno >> annotation, which is what ARPQuerier uses. >> >> If you add a GetIPAddress(IP dst) after the IPMirror, you might have >> better luck.... but I'm not positive if that'll be enough. It is hard >> to know as I don't know what your exact device configuration (ip, >> subnet, gateway, etc) is. >> >> I'd add ARPPrint elements after c[1] and arpq[1] to see what ARP >> traffic you are generating/receiving. >> >> Cliff; >> >> On Tue, Aug 25, 2009 at 12:57 PM, david johnson >> <[email protected]> wrote: >> Hi >> >> I presented a course on click today - used a lot of material >> from >> University of Antwerp - thanks Bart and Michael. I thought up >> some >> tutorials for them to practice their concepts and I thought >> building a >> packet reflector would be easy - until I tried to solve it >> >> I tried something like this: >> >> define($DEV ath0) >> >> FromDevice($DEV) >> -> c :: Classifier(12/0800, 12/0806 20/0002) >> -> CheckIPHeader(14) >> -> IPMirror >> -> StripToNetworkHeader >> -> Print ("Before ARP",200) >> -> arpq :: ARPQuerier($DEV) >> -> Print ("After ARP",200) >> -> IPPrint >> -> q :: Queue >> -> ToDevice($DEV) >> >> >> arpq[1] -> q; >> c[1] -> [1] arpq; >> >> But it doesn't work - the IP address swapping is working - but >> it never >> gets to the Print("After ARP",200) statement. >> >> Is this a hard problem or is their a simple solution that I'm >> missing >> >> I'm trying to think out a set of click exercises that get >> progressively >> harder for the students to do. Firstly without writing their >> own >> elements and then with including writing their own elements - >> any ideas >> will be most welcome. This would probably be a nice addition >> to the >> documentation - exercises like these and their solutions. >> >> Regards >> David >> >> _______________________________________________ >> 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
