Date: Wed, 22 Apr 2009 20:01:06 +0300 From: Chris Cowart <ccowart@rescomp.berkeley.edu> To: freebsd-net@freebsd.org Subject: Re: IPFW missing feature Message-ID: <1812419482.20090422200106@yandex.ru> Resent-Message-ID: <20090422170108.23F4AAFBF7@forwards5.yandex.ru>
next in thread | raw e-mail | index | archive | help
KES wrote: > ????????????, Lowell. > > ?? ?????? 16 ?????? 2009 ?., 15:22:31: > > LG> KES <kes-kes@yandex.ru> writes: > >>> The tablearg feature provides the ability to use a value, looked up in >>> the table, as the argument for a rule action, action parameter or rule >>> option. This can significantly reduce number of rules in some configura- >>> tions. If two tables are used in a rule, the result of the second (des- >>> tination) is used. The tablearg argument can be used with the following >>> actions: nat, pipe, queue, divert, tee, netgraph, ngtee, fwd, skipto >>> action parameters: tag, untag, rule options: limit, tagged. >>> >>> >>> Why tablearg cannot be used with setfib? > > LG> Because tables are a feature of IPFW, and the FIB isn't. > > setfib is also feature of ipfw. see man: > > setfib fibnum > The packet is tagged so as to use the FIB (routing table) fibnum > in any subsequent forwarding decisions. Initially this is limited > to the values 0 through 15. See setfib(8). Processing continues > at the next rule. > > There is no any difficulties to use 'tablearg' as 'fibnum' > > ipfw add 3 setfib 2 all from 192.168.0.0/16 to any in recv <IFACE> > ipfw add 3 setfib tablearg all from table(<X>) to any in recv <IFACE> > > but now this is not mistake to write 'setfib tablearg'. IPFW just > replace tablearg in rule with 0 > It seems like a bug. because of it MUST work in proper way or DO NOT > work at all. IMHO I use tablearg with netgraph. For example, ipfw add netgraph tablearg all from 'table(9)' to any in When I run ipfw show, I see: 02380 408 60358 netgraph tablearg ip from any to table(9) in KES, do you mean to say that when you run `ipfw show' the rule is echoed back to you as: setfib 0 all from table(<X>) to any in recv <IFACE> instead of tablearg? If that's the case, it sounds like ipfw is parsing the rule incorrectly. If tablearg isn't supported by setfib, I would expect a syntax error to be thrown and not a different rule being inserted into your ruleset. If this is the behavior you're seeing, you should run it by the folks on the -net mailing list. That would also be a good place to ask about future plans to support this feature. -- Chris Cowart Network Technical Lead Network & Infrastructure Services, RSSP-IT UC Berkeley
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1812419482.20090422200106>