diff options
author | green <green@FreeBSD.org> | 2004-10-03 00:17:46 +0000 |
---|---|---|
committer | green <green@FreeBSD.org> | 2004-10-03 00:17:46 +0000 |
commit | a1ab5f0c7dae91ac2b8d9c2be9463083757f5fe6 (patch) | |
tree | e40a46b2deb9dd73b5b7b3f96b1f19d44079a888 /sys/netinet/ip_fw.h | |
parent | c4db706631d6435563c38ac0b9ba4acbbfddccb6 (diff) | |
download | FreeBSD-src-a1ab5f0c7dae91ac2b8d9c2be9463083757f5fe6.zip FreeBSD-src-a1ab5f0c7dae91ac2b8d9c2be9463083757f5fe6.tar.gz |
Add to IPFW the ability to do ALTQ classification/tagging.
Diffstat (limited to 'sys/netinet/ip_fw.h')
-rw-r--r-- | sys/netinet/ip_fw.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/netinet/ip_fw.h b/sys/netinet/ip_fw.h index ac903f5..943b505 100644 --- a/sys/netinet/ip_fw.h +++ b/sys/netinet/ip_fw.h @@ -134,6 +134,7 @@ enum ipfw_opcodes { /* arguments (4 byte each) */ O_IP_DST_LOOKUP, /* arg1=table number, u32=value */ O_ANTISPOOF, /* none */ O_JAIL, /* u32 = id */ + O_ALTQ, /* u32 = altq classif. qid */ O_LAST_OPCODE /* not an opcode! */ }; @@ -251,6 +252,14 @@ typedef struct _ipfw_insn_pipe { } ipfw_insn_pipe; /* + * This is used for storing an altq queue id number. + */ +typedef struct _ipfw_insn_altq { + ipfw_insn o; + u_int32_t qid; +} ipfw_insn_altq; + +/* * This is used for limit rules. */ typedef struct _ipfw_insn_limit { @@ -293,6 +302,7 @@ typedef struct _ipfw_insn_log { * first instruction (at r->cmd) MUST BE an O_PROBE_STATE * + if a rule has a "log" option, then the first action * (at ACTION_PTR(r)) MUST be O_LOG + * + if a rule has an "altq" option, it comes after "log" * * NOTE: we use a simple linked list of rules because we never need * to delete a rule without scanning the list. We do not use |