ipfw counters for tables
Eugen Konkov
kes-kes at yandex.ru
Mon Jul 23 10:13:56 UTC 2012
Здравствуйте, Ian.
Вы писали 23 июля 2012 г., 8:27:50:
IS> In freebsd-questions Digest, Vol 424, Issue 10, Message: 10
IS> On Sun, 22 Jul 2012 14:55:46 +0300 Eugen Konkov <kes-kes at yandex.ru> wrote:
IS> Hi Eugen,
>> I use ipfw tables to allow host to access to internet.
>> is there counter for matched packets/bytes for table entry like for
>> ipfw rule?
>>
>> #ipfw show 901
>> rule packets bytes
>> 00901 302271108 27717115967 allow ip from 10.10.1.3 to any
>>
>> #ipfw table 7 list
>> ---table(7)---
>> 10.7.60.41/32 100
>>
>> No counters here (((
IS> No, there are no individual counters for matched entries in tables.
IS> Apart from extra space cost, the accounting time cost would be huge;
IS> lookups are fast but updating radix trees per match would be very slow.
IS> Also, a table may be referenced in multiple rules, or even twice in the
IS> same rule, so what could such a count really indicate?
IS> Of course, counts for matching the table are in the rule/s concerned:
IS> 16100 58300 3060562 deny log logamount 20 ip from table(1) to any in recv ng0
IS> 16200 4449 226060 deny log logamount 20 tcp from
IS> table(25) to any dst-port 25,110 in recv ng0 setup
IS> 23000 45 2700 allow log logamount 100 tcp from
IS> table(22) to w.x.y.z dst-port 22 in recv ng0 setup
but if lookup function will return matched entry, then calling rule
may update appropriate counter.
matchedentry= lookup_table( PACKETDATA );
updatecounter(matchedentry);
#ipfw show 16100
16100 58300 3060562 deny *counttable* log logamount 20 ip from table(1) to any in recv ng0
50000 3000000 10.5.0.1/32
300 562 10.5.0.7/32
8000 60000 10.5.0.2/32
will this be slow?
IS> Myself, I'd be more interested in a last-match timestamp than a count
IS> for table entries, but that won't happen either for the above reasons :)
IS> cheers, Ian
--
С уважением,
Eugen mailto:kes-kes at yandex.ru
More information about the freebsd-questions
mailing list