Alexander V. Chernikov 5a2555160f * 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.
* 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
2015-08-20 12:05:17 +00:00
..
2015-04-26 11:39:25 +00:00
2015-01-12 08:33:04 +00:00
2015-03-18 04:40:36 +00:00
2015-04-21 20:25:12 +00:00
2015-07-31 09:02:28 +00:00
2015-08-08 15:58:35 +00:00
2015-07-18 15:28:32 +00:00
2015-06-17 15:20:14 +00:00
2015-06-17 15:20:14 +00:00
2015-06-19 21:55:12 +00:00
2015-06-17 15:20:14 +00:00
2015-07-25 16:14:55 +00:00