cvs commit: src/sbin/ipfw ipfw2.c src/sys/netinet ip_fw.h ip_fw2.c

From: Gleb Smirnoff <glebius_at_FreeBSD.org>
Date: Tue, 13 Dec 2005 12:16:03 +0000 (UTC)
glebius     2005-12-13 12:16:03 UTC

  FreeBSD src repository

  Modified files:
    sbin/ipfw            ipfw2.c 
    sys/netinet          ip_fw.h ip_fw2.c 
  Log:
  Add a new feature for optimizining ipfw rulesets - substitution of the
  action argument with the value obtained from table lookup. The feature
  is now applicable only to "pipe", "queue", "divert", "tee", "netgraph"
  and "ngtee" rules.
  
  An example usage:
  
    ipfw pipe 1000 config bw 1000Kbyte/s
    ipfw pipe 4000 config bw 4000Kbyte/s
    ipfw table 1 add x.x.x.x 1000
    ipfw table 1 add x.x.x.y 4000
    ipfw pipe tablearg ip from table(1) to any
  
  In the example above the rule will throw different packets to different pipes.
  
  TODO:
    - Support "skipto" action, but without searching all rules.
    - Improve parser, so that it warns about bad rules. These are:
      - "tablearg" argument to action, but no "table" in the rule. All
        traffic will be blocked.
      - "tablearg" argument to action, but "table" searches for entry with
        a specific value. All traffic will be blocked.
      - "tablearg" argument to action, and two "table" looks - for src and
        for dst. The last lookup will match.
  
  Revision  Changes    Path
  1.82      +44 -46    src/sbin/ipfw/ipfw2.c
  1.103     +2 -0      src/sys/netinet/ip_fw.h
  1.119     +16 -5     src/sys/netinet/ip_fw2.c
Received on Tue Dec 13 2005 - 12:16:04 UTC