summaryrefslogtreecommitdiffstats
path: root/sys/netinet/ip_dummynet.h
diff options
context:
space:
mode:
authorluigi <luigi@FreeBSD.org>2000-02-10 14:17:40 +0000
committerluigi <luigi@FreeBSD.org>2000-02-10 14:17:40 +0000
commit0a7657b3329286c1adb3f581bd671054fb7b0636 (patch)
treed6950c94c1ae4f771f218f381f1e033d31bd5973 /sys/netinet/ip_dummynet.h
parent8ee757716a386e49c12c6c2880528590059b4261 (diff)
downloadFreeBSD-src-0a7657b3329286c1adb3f581bd671054fb7b0636.zip
FreeBSD-src-0a7657b3329286c1adb3f581bd671054fb7b0636.tar.gz
Support for stateful (dynamic) ipfw rules. They are very
similar to ipfilter's keep-state. Look at the updated ipfw(8) manpage for details. Approved-by: jordan
Diffstat (limited to 'sys/netinet/ip_dummynet.h')
-rw-r--r--sys/netinet/ip_dummynet.h14
1 files changed, 2 insertions, 12 deletions
diff --git a/sys/netinet/ip_dummynet.h b/sys/netinet/ip_dummynet.h
index dbfa8a2..a386960 100644
--- a/sys/netinet/ip_dummynet.h
+++ b/sys/netinet/ip_dummynet.h
@@ -96,22 +96,13 @@ struct dn_queue {
} ;
/*
- * Flow mask/flow id for each queue.
- */
-struct dn_flow_id {
- u_int32_t dst_ip, src_ip ;
- u_int16_t dst_port, src_port ;
- u_int8_t proto ;
-} ;
-
-/*
* We use per flow queues. Hashing is used to select the right slot,
* then we scan the list to match the flow-id.
* The pipe is shared as it is only a delay line and thus one is enough.
*/
struct dn_flow_queue {
struct dn_flow_queue *next ;
- struct dn_flow_id id ;
+ struct ipfw_flow_id id ;
struct dn_pipe *p ; /* parent pipe */
struct dn_queue r;
long numbytes ;
@@ -141,7 +132,7 @@ struct dn_pipe { /* a pipe */
int plr ; /* pkt loss rate (2^31-1 means 100%) */
struct dn_queue p ;
- struct dn_flow_id flow_mask ;
+ struct ipfw_flow_id flow_mask ;
int rq_size ;
int rq_elements ;
struct dn_flow_queue **rq ; /* array of rq_size entries */
@@ -153,7 +144,6 @@ MALLOC_DECLARE(M_IPFW);
typedef int ip_dn_ctl_t __P((struct sockopt *)) ;
extern ip_dn_ctl_t *ip_dn_ctl_ptr;
-extern struct dn_flow_id dn_last_pkt ;
void dn_rule_delete(void *r); /* used in ip_fw.c */
int dummynet_io(int pipe, int dir,
OpenPOWER on IntegriCloud