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
