Lines 1869-1879
dyn_install_state(const struct ipfw_flow_id *pkt,
Link Here
|
1869 |
uint16_t kidx, uint8_t type) |
1869 |
uint16_t kidx, uint8_t type) |
1870 |
{ |
1870 |
{ |
1871 |
struct ipfw_flow_id id; |
1871 |
struct ipfw_flow_id id; |
1872 |
uint32_t hashval, parent_hashval; |
1872 |
uint32_t hashval, parent_hashval, ruleid, rulenum; |
1873 |
int ret; |
1873 |
int ret; |
1874 |
|
1874 |
|
1875 |
MPASS(type == O_LIMIT || type == O_KEEP_STATE); |
1875 |
MPASS(type == O_LIMIT || type == O_KEEP_STATE); |
1876 |
|
1876 |
|
|
|
1877 |
ruleid = rule->id; |
1878 |
rulenum = rule->rulenum; |
1877 |
if (type == O_LIMIT) { |
1879 |
if (type == O_LIMIT) { |
1878 |
/* Create masked flow id and calculate bucket */ |
1880 |
/* Create masked flow id and calculate bucket */ |
1879 |
id.addr_type = pkt->addr_type; |
1881 |
id.addr_type = pkt->addr_type; |
Lines 1928-1938
dyn_install_state(const struct ipfw_flow_id *pkt,
Link Here
|
1928 |
|
1930 |
|
1929 |
hashval = hash_packet(pkt); |
1931 |
hashval = hash_packet(pkt); |
1930 |
if (IS_IP4_FLOW_ID(pkt)) |
1932 |
if (IS_IP4_FLOW_ID(pkt)) |
1931 |
ret = dyn_add_ipv4_state(rule, rule->id, rule->rulenum, pkt, |
1933 |
ret = dyn_add_ipv4_state(rule, ruleid, rulenum, pkt, |
1932 |
ulp, pktlen, hashval, info, fibnum, kidx, type); |
1934 |
ulp, pktlen, hashval, info, fibnum, kidx, type); |
1933 |
#ifdef INET6 |
1935 |
#ifdef INET6 |
1934 |
else if (IS_IP6_FLOW_ID(pkt)) |
1936 |
else if (IS_IP6_FLOW_ID(pkt)) |
1935 |
ret = dyn_add_ipv6_state(rule, rule->id, rule->rulenum, pkt, |
1937 |
ret = dyn_add_ipv6_state(rule, ruleid, rulenum, pkt, |
1936 |
zoneid, ulp, pktlen, hashval, info, fibnum, kidx, type); |
1938 |
zoneid, ulp, pktlen, hashval, info, fibnum, kidx, type); |
1937 |
#endif /* INET6 */ |
1939 |
#endif /* INET6 */ |
1938 |
else |
1940 |
else |