mirror of
https://github.com/hanwckf/immortalwrt-mt798x.git
synced 2025-01-09 02:43:53 +08:00
[Description]
Fix the issue of mistakenly deleting entries in foe_clear_entry. When packets are forwarded in the 6RD scenario, HNAT entry is mistakenly deleted. This patch fix it. [Release-log] N/A Change-Id: I7ece4115f07eaca354d2c0301d6cafb2ba6e539c Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7531312
This commit is contained in:
parent
f189c50ef1
commit
5ead770db2
@ -301,7 +301,8 @@ void foe_clear_entry(struct neighbour *neigh)
|
|||||||
for (hash_index = 0; hash_index < hnat_priv->foe_etry_num; hash_index++) {
|
for (hash_index = 0; hash_index < hnat_priv->foe_etry_num; hash_index++) {
|
||||||
entry = hnat_priv->foe_table_cpu[i] + hash_index;
|
entry = hnat_priv->foe_table_cpu[i] + hash_index;
|
||||||
if (entry->bfib1.state == BIND &&
|
if (entry->bfib1.state == BIND &&
|
||||||
entry->ipv4_hnapt.new_dip == ntohl(dip)) {
|
entry->ipv4_hnapt.new_dip == ntohl(dip) &&
|
||||||
|
IS_IPV4_HNAPT(entry)) {
|
||||||
*((u32 *)h_dest) = swab32(entry->ipv4_hnapt.dmac_hi);
|
*((u32 *)h_dest) = swab32(entry->ipv4_hnapt.dmac_hi);
|
||||||
*((u16 *)&h_dest[4]) =
|
*((u16 *)&h_dest[4]) =
|
||||||
swab16(entry->ipv4_hnapt.dmac_lo);
|
swab16(entry->ipv4_hnapt.dmac_lo);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user