mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 09:22:03 +00:00
Merge pull request #8248 from volta-networks/fix_ospf6_chunk_msgs
ospfd6: Clear locks when ospf messages need to be chunked
This commit is contained in:
commit
5b21cd300c
@ -1829,7 +1829,9 @@ int ospf6_dbdesc_send(struct thread *thread)
|
|||||||
/* MTU check */
|
/* MTU check */
|
||||||
if (p - sendbuf + sizeof(struct ospf6_lsa_header)
|
if (p - sendbuf + sizeof(struct ospf6_lsa_header)
|
||||||
> ospf6_packet_max(on->ospf6_if)) {
|
> ospf6_packet_max(on->ospf6_if)) {
|
||||||
ospf6_lsdb_lsa_unlock(lsa);
|
ospf6_lsa_unlock(lsa);
|
||||||
|
if (lsanext)
|
||||||
|
ospf6_lsa_unlock(lsanext);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
memcpy(p, lsa->header, sizeof(struct ospf6_lsa_header));
|
memcpy(p, lsa->header, sizeof(struct ospf6_lsa_header));
|
||||||
@ -1876,7 +1878,9 @@ int ospf6_dbdesc_send_newone(struct thread *thread)
|
|||||||
|
|
||||||
if (size + sizeof(struct ospf6_lsa_header)
|
if (size + sizeof(struct ospf6_lsa_header)
|
||||||
> ospf6_packet_max(on->ospf6_if)) {
|
> ospf6_packet_max(on->ospf6_if)) {
|
||||||
ospf6_lsdb_lsa_unlock(lsa);
|
ospf6_lsa_unlock(lsa);
|
||||||
|
if (lsanext)
|
||||||
|
ospf6_lsa_unlock(lsanext);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1935,7 +1939,9 @@ int ospf6_lsreq_send(struct thread *thread)
|
|||||||
/* MTU check */
|
/* MTU check */
|
||||||
if (p - sendbuf + sizeof(struct ospf6_lsreq_entry)
|
if (p - sendbuf + sizeof(struct ospf6_lsreq_entry)
|
||||||
> ospf6_packet_max(on->ospf6_if)) {
|
> ospf6_packet_max(on->ospf6_if)) {
|
||||||
ospf6_lsdb_lsa_unlock(lsa);
|
ospf6_lsa_unlock(lsa);
|
||||||
|
if (lsanext)
|
||||||
|
ospf6_lsa_unlock(lsanext);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2396,7 +2402,9 @@ int ospf6_lsack_send_interface(struct thread *thread)
|
|||||||
thread_add_event(master, ospf6_lsack_send_interface, oi,
|
thread_add_event(master, ospf6_lsack_send_interface, oi,
|
||||||
0, &oi->thread_send_lsack);
|
0, &oi->thread_send_lsack);
|
||||||
|
|
||||||
ospf6_lsdb_lsa_unlock(lsa);
|
ospf6_lsa_unlock(lsa);
|
||||||
|
if (lsanext)
|
||||||
|
ospf6_lsa_unlock(lsanext);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user