Thanks Christian! I've finally checked in a (slightly different) fix. Wanna check & make sure it still works for you?
Eddie Christian Kreibich wrote: > Hi, > > I think there's an off-by-one in elements/ip/lookupiproutelinux.c: > > --- lookupiproutelinux.cc 2006-05-19 00:12:21.000000000 -0700 > +++ lookupiproutelinux.cc.new 2007-04-09 11:27:48.000000000 -0700 > @@ -59,7 +59,7 @@ > { > _out2devname = conf; > _nout = _out2devname.size(); > - if (_nout + 1 >= noutputs()) > + if (_nout + 1 > noutputs()) > return errh->error("need %d or more output ports", _nout + 1); > return 0; > } > > Basically, when you configure the element with n devices and use n+1 > output ports (as should be), then you still get the error because n+1 == > noutputs(). Adding discarders works around the problem: > > r : LinuxIPLookup(eth0, eth1) > r[0] -> ... -> ToDevice(eth0) > r[1] -> ... -> ToDevice(eth1) > r[2] -> ICMPError(18.26.4.24, 3, 0) -> ... > r[3] -> Discard > _______________________________________________ click mailing list click@amsterdam.lcs.mit.edu https://amsterdam.lcs.mit.edu/mailman/listinfo/click