mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
[XFRM]: Do not add a state whose SPI is zero to the SPI hash.
SPI=0 is used for acquired IPsec SA and MIPv6 RO state. Such state should not be added to the SPI hash because we do not care about it on deleting path. Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
This commit is contained in:
parent
7fa6b06689
commit
7b4dc3600e
@ -96,9 +96,12 @@ static void xfrm_hash_transfer(struct hlist_head *list,
|
||||
nhashmask);
|
||||
hlist_add_head(&x->bysrc, nsrctable+h);
|
||||
|
||||
h = __xfrm_spi_hash(&x->id.daddr, x->id.spi, x->id.proto,
|
||||
x->props.family, nhashmask);
|
||||
hlist_add_head(&x->byspi, nspitable+h);
|
||||
if (x->id.spi) {
|
||||
h = __xfrm_spi_hash(&x->id.daddr, x->id.spi,
|
||||
x->id.proto, x->props.family,
|
||||
nhashmask);
|
||||
hlist_add_head(&x->byspi, nspitable+h);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -622,7 +625,7 @@ static void __xfrm_state_insert(struct xfrm_state *x)
|
||||
h = xfrm_src_hash(&x->props.saddr, x->props.family);
|
||||
hlist_add_head(&x->bysrc, xfrm_state_bysrc+h);
|
||||
|
||||
if (xfrm_id_proto_match(x->id.proto, IPSEC_PROTO_ANY)) {
|
||||
if (x->id.spi) {
|
||||
h = xfrm_spi_hash(&x->id.daddr, x->id.spi, x->id.proto,
|
||||
x->props.family);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user