| Summary: | Multiple problems in ipfw's stateful code | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | missnglnk <missnglnk> | ||||
| Component: | kern | Assignee: | Luigi Rizzo <luigi> | ||||
| Status: | Closed FIXED | ||||||
| Severity: | Affects Only Me | ||||||
| Priority: | Normal | ||||||
| Version: | Unspecified | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
|
Description
missnglnk
2000-09-08 15:50:00 UTC
Responsible Changed From-To: freebsd-bugs->luigi Over to ipfw maintainer. State Changed From-To: open->closed The PR addresses 4 issues: #1 This is the way the code currently works. There is no way out other than setting the timeout larger than the keepalive interval, or having ipfw do its own keepalives. The latter is the right way to handle this problem but it requires relatively large changes. #2 and #4 This is correct behaviour for the rules used in the PR. If you want connections to expire (more correctly, if you want dynamic rules to be created only on SYN packets) you should use the "setup" option in the rule e.g. ipfw add allow ip from any to any setup keep-state ipfw add deny ip from any to any. The "problem" is entirely caused by the use of wrong rules. #3 Again this is a design decision to reduce the overhead of garbage collection. Expired rules are removed only when you run out of space, or you happen to hit one of them during a lookup. There is no reason to do it otherwise. So, i am inclined to close this PR -- none of the above is a problem in the ipfw code. |