ipfilter: Use the softn (NAT softc) host map size in ip_nat6 calculation.
The ipfilter NAT table host map size is a tunable that defaults to a macro value defined at build time. HOSTMAP_SIZE is saved in softn (the ipnat softc) at initialization. It can be tuned (changed) at runtime using the ipf -T command. If the hostmap_size tunable is adjusted the calculation to determine where to put new entries in the table was incorrect. Use the tunable in the NAT softc instead of the static build time value. MFC after: 1 week
This commit is contained in:
parent
10990cb460
commit
344f1083e1
@ -390,7 +390,7 @@ ipf_nat6_hostmap(softn, np, src, dst, map, port)
|
||||
hv += dst->i6[2];
|
||||
hv += dst->i6[1];
|
||||
hv += dst->i6[0];
|
||||
hv %= HOSTMAP_SIZE;
|
||||
hv %= softn->ipf_nat_hostmap_sz;
|
||||
for (hm = softn->ipf_hm_maptable[hv]; hm; hm = hm->hm_next)
|
||||
if (IP6_EQ(&hm->hm_osrc6, src) &&
|
||||
IP6_EQ(&hm->hm_odst6, dst) &&
|
||||
|
Loading…
Reference in New Issue
Block a user