- Split allocation and table linking for lle's. Before that, the logic besides lle_create() was the following: return existing if found, create if not. This behaviour was error-prone since we had to deal with 'sudden' static<>dynamic lle changes. This commit fixes bunch of different issues like:
- refcount leak when lle is converted to static. Simple check case: console 1: while true; do for i in arp -an|awk '$4~/incomp/{print$2}'|tr -d '()'; do arp -s $i 00:22:44:66:88:00 ; arp -d $i; done; done console 2: ping -f any-dead-host-in-L2 console 3:
- watch for memory consumption: vmstat -m | awk '$1~/lltable/{print$2}'
- possible problems in arptimer() / nd6_timer() when dropping/reacquiring lock. New logic explicitly handles use-or-create cases in every lla_create user. Basically, most of the changes are purely mechanical. However, we explicitly avoid using existing lle's for interface/static LLE records.
- refcount leak when lle is converted to static. Simple check case: console 1: while true; do for i in arp -an|awk '$4~/incomp/{print$2}'|tr -d '()'; do arp -s $i 00:22:44:66:88:00 ; arp -d $i; done; done console 2: ping -f any-dead-host-in-L2 console 3:
- While here, call lle_event handlers on all real table lle change.
- Create lltable_free_entry() calling existing per-lltable lle_free_t callback for entry deletion
Description
Description
Details
Details
- Provenance
melifaro Authored on - Parents
- rS286954: Add the arm64 minidump header. This was missed from r286953.
- Branches
- Unknown
- Tags