Lines Matching refs:on

49 	    (struct ospf6_neighbor * on, int state, int next_state),
50 (on, state, next_state))
79 struct ospf6_neighbor *on; in ospf6_neighbor_lookup() local
81 for (ALL_LIST_ELEMENTS_RO(oi->neighbor_list, n, on)) in ospf6_neighbor_lookup()
82 if (on->router_id == router_id) in ospf6_neighbor_lookup()
83 return on; in ospf6_neighbor_lookup()
92 struct ospf6_neighbor *on; in ospf6_neighbor_create() local
95 on = XCALLOC(MTYPE_OSPF6_NEIGHBOR, sizeof(struct ospf6_neighbor)); in ospf6_neighbor_create()
97 snprintf(on->name, sizeof(on->name), "%s%%%s", buf, in ospf6_neighbor_create()
99 on->ospf6_if = oi; in ospf6_neighbor_create()
100 on->state = OSPF6_NEIGHBOR_DOWN; in ospf6_neighbor_create()
101 on->state_change = 0; in ospf6_neighbor_create()
102 monotime(&on->last_changed); in ospf6_neighbor_create()
103 on->router_id = router_id; in ospf6_neighbor_create()
105 on->summary_list = ospf6_lsdb_create(on); in ospf6_neighbor_create()
106 on->request_list = ospf6_lsdb_create(on); in ospf6_neighbor_create()
107 on->retrans_list = ospf6_lsdb_create(on); in ospf6_neighbor_create()
109 on->dbdesc_list = ospf6_lsdb_create(on); in ospf6_neighbor_create()
110 on->lsupdate_list = ospf6_lsdb_create(on); in ospf6_neighbor_create()
111 on->lsack_list = ospf6_lsdb_create(on); in ospf6_neighbor_create()
113 listnode_add_sort(oi->neighbor_list, on); in ospf6_neighbor_create()
115 ospf6_bfd_info_nbr_create(oi, on); in ospf6_neighbor_create()
116 return on; in ospf6_neighbor_create()
119 void ospf6_neighbor_delete(struct ospf6_neighbor *on) in ospf6_neighbor_delete() argument
123 ospf6_lsdb_remove_all(on->summary_list); in ospf6_neighbor_delete()
124 ospf6_lsdb_remove_all(on->request_list); in ospf6_neighbor_delete()
125 for (ALL_LSDB(on->retrans_list, lsa)) { in ospf6_neighbor_delete()
127 ospf6_lsdb_remove(lsa, on->retrans_list); in ospf6_neighbor_delete()
130 ospf6_lsdb_remove_all(on->dbdesc_list); in ospf6_neighbor_delete()
131 ospf6_lsdb_remove_all(on->lsupdate_list); in ospf6_neighbor_delete()
132 ospf6_lsdb_remove_all(on->lsack_list); in ospf6_neighbor_delete()
134 ospf6_lsdb_delete(on->summary_list); in ospf6_neighbor_delete()
135 ospf6_lsdb_delete(on->request_list); in ospf6_neighbor_delete()
136 ospf6_lsdb_delete(on->retrans_list); in ospf6_neighbor_delete()
138 ospf6_lsdb_delete(on->dbdesc_list); in ospf6_neighbor_delete()
139 ospf6_lsdb_delete(on->lsupdate_list); in ospf6_neighbor_delete()
140 ospf6_lsdb_delete(on->lsack_list); in ospf6_neighbor_delete()
142 THREAD_OFF(on->inactivity_timer); in ospf6_neighbor_delete()
144 THREAD_OFF(on->thread_send_dbdesc); in ospf6_neighbor_delete()
145 THREAD_OFF(on->thread_send_lsreq); in ospf6_neighbor_delete()
146 THREAD_OFF(on->thread_send_lsupdate); in ospf6_neighbor_delete()
147 THREAD_OFF(on->thread_send_lsack); in ospf6_neighbor_delete()
149 ospf6_bfd_reg_dereg_nbr(on, ZEBRA_BFD_DEST_DEREGISTER); in ospf6_neighbor_delete()
150 XFREE(MTYPE_OSPF6_NEIGHBOR, on); in ospf6_neighbor_delete()
154 struct ospf6_neighbor *on, int event) in ospf6_neighbor_state_change() argument
158 prev_state = on->state; in ospf6_neighbor_state_change()
159 on->state = next_state; in ospf6_neighbor_state_change()
164 on->state_change++; in ospf6_neighbor_state_change()
165 monotime(&on->last_changed); in ospf6_neighbor_state_change()
170 on->name, ospf6_neighbor_state_str[prev_state], in ospf6_neighbor_state_change()
176 if (CHECK_FLAG(on->ospf6_if->area->ospf6->config_flags, in ospf6_neighbor_state_change()
178 && (CHECK_FLAG(on->ospf6_if->area->ospf6->config_flags, in ospf6_neighbor_state_change()
182 zlog_notice("AdjChg: Nbr %s: %s -> %s (%s)", on->name, in ospf6_neighbor_state_change()
189 OSPF6_ROUTER_LSA_SCHEDULE(on->ospf6_if->area); in ospf6_neighbor_state_change()
190 if (on->ospf6_if->state == OSPF6_INTERFACE_DR) { in ospf6_neighbor_state_change()
191 OSPF6_NETWORK_LSA_SCHEDULE(on->ospf6_if); in ospf6_neighbor_state_change()
192 OSPF6_INTRA_PREFIX_LSA_SCHEDULE_TRANSIT(on->ospf6_if); in ospf6_neighbor_state_change()
195 on->ospf6_if->area->intra_prefix_originate = 1; in ospf6_neighbor_state_change()
197 OSPF6_INTRA_PREFIX_LSA_SCHEDULE_STUB(on->ospf6_if->area); in ospf6_neighbor_state_change()
202 OSPF6_AS_EXTERN_LSA_SCHEDULE(on->ospf6_if); in ospf6_neighbor_state_change()
203 on->ospf6_if->area->full_nbrs++; in ospf6_neighbor_state_change()
207 on->ospf6_if->area->full_nbrs--; in ospf6_neighbor_state_change()
214 ospf6_maxage_remove(on->ospf6_if->area->ospf6); in ospf6_neighbor_state_change()
216 hook_call(ospf6_neighbor_change, on, next_state, prev_state); in ospf6_neighbor_state_change()
217 ospf6_bfd_trigger_event(on, prev_state, next_state); in ospf6_neighbor_state_change()
221 static int need_adjacency(struct ospf6_neighbor *on) in need_adjacency() argument
223 if (on->ospf6_if->state == OSPF6_INTERFACE_POINTTOPOINT in need_adjacency()
224 || on->ospf6_if->state == OSPF6_INTERFACE_DR in need_adjacency()
225 || on->ospf6_if->state == OSPF6_INTERFACE_BDR) in need_adjacency()
228 if (on->ospf6_if->drouter == on->router_id in need_adjacency()
229 || on->ospf6_if->bdrouter == on->router_id) in need_adjacency()
237 struct ospf6_neighbor *on; in hello_received() local
239 on = (struct ospf6_neighbor *)THREAD_ARG(thread); in hello_received()
240 assert(on); in hello_received()
243 zlog_debug("Neighbor Event %s: *HelloReceived*", on->name); in hello_received()
246 THREAD_OFF(on->inactivity_timer); in hello_received()
247 on->inactivity_timer = NULL; in hello_received()
248 thread_add_timer(master, inactivity_timer, on, in hello_received()
249 on->ospf6_if->dead_interval, &on->inactivity_timer); in hello_received()
251 if (on->state <= OSPF6_NEIGHBOR_DOWN) in hello_received()
252 ospf6_neighbor_state_change(OSPF6_NEIGHBOR_INIT, on, in hello_received()
260 struct ospf6_neighbor *on; in twoway_received() local
262 on = (struct ospf6_neighbor *)THREAD_ARG(thread); in twoway_received()
263 assert(on); in twoway_received()
265 if (on->state > OSPF6_NEIGHBOR_INIT) in twoway_received()
269 zlog_debug("Neighbor Event %s: *2Way-Received*", on->name); in twoway_received()
271 thread_add_event(master, neighbor_change, on->ospf6_if, 0, NULL); in twoway_received()
273 if (!need_adjacency(on)) { in twoway_received()
274 ospf6_neighbor_state_change(OSPF6_NEIGHBOR_TWOWAY, on, in twoway_received()
279 ospf6_neighbor_state_change(OSPF6_NEIGHBOR_EXSTART, on, in twoway_received()
281 SET_FLAG(on->dbdesc_bits, OSPF6_DBDESC_MSBIT); in twoway_received()
282 SET_FLAG(on->dbdesc_bits, OSPF6_DBDESC_MBIT); in twoway_received()
283 SET_FLAG(on->dbdesc_bits, OSPF6_DBDESC_IBIT); in twoway_received()
285 THREAD_OFF(on->thread_send_dbdesc); in twoway_received()
286 on->thread_send_dbdesc = NULL; in twoway_received()
287 thread_add_event(master, ospf6_dbdesc_send, on, 0, in twoway_received()
288 &on->thread_send_dbdesc); in twoway_received()
295 struct ospf6_neighbor *on; in negotiation_done() local
298 on = (struct ospf6_neighbor *)THREAD_ARG(thread); in negotiation_done()
299 assert(on); in negotiation_done()
301 if (on->state != OSPF6_NEIGHBOR_EXSTART) in negotiation_done()
305 zlog_debug("Neighbor Event %s: *NegotiationDone*", on->name); in negotiation_done()
308 ospf6_lsdb_remove_all(on->summary_list); in negotiation_done()
309 ospf6_lsdb_remove_all(on->request_list); in negotiation_done()
310 for (ALL_LSDB(on->retrans_list, lsa)) { in negotiation_done()
312 ospf6_lsdb_remove(lsa, on->retrans_list); in negotiation_done()
316 for (ALL_LSDB(on->ospf6_if->lsdb, lsa)) { in negotiation_done()
319 ospf6_lsdb_add(ospf6_lsa_copy(lsa), on->retrans_list); in negotiation_done()
321 ospf6_lsdb_add(ospf6_lsa_copy(lsa), on->summary_list); in negotiation_done()
325 for (ALL_LSDB(on->ospf6_if->area->lsdb, lsa)) { in negotiation_done()
328 ospf6_lsdb_add(ospf6_lsa_copy(lsa), on->retrans_list); in negotiation_done()
330 ospf6_lsdb_add(ospf6_lsa_copy(lsa), on->summary_list); in negotiation_done()
334 for (ALL_LSDB(on->ospf6_if->area->ospf6->lsdb, lsa)) { in negotiation_done()
337 ospf6_lsdb_add(ospf6_lsa_copy(lsa), on->retrans_list); in negotiation_done()
339 ospf6_lsdb_add(ospf6_lsa_copy(lsa), on->summary_list); in negotiation_done()
342 UNSET_FLAG(on->dbdesc_bits, OSPF6_DBDESC_IBIT); in negotiation_done()
343 ospf6_neighbor_state_change(OSPF6_NEIGHBOR_EXCHANGE, on, in negotiation_done()
351 struct ospf6_neighbor *on; in exchange_done() local
353 on = (struct ospf6_neighbor *)THREAD_ARG(thread); in exchange_done()
354 assert(on); in exchange_done()
356 if (on->state != OSPF6_NEIGHBOR_EXCHANGE) in exchange_done()
360 zlog_debug("Neighbor Event %s: *ExchangeDone*", on->name); in exchange_done()
362 THREAD_OFF(on->thread_send_dbdesc); in exchange_done()
363 ospf6_lsdb_remove_all(on->dbdesc_list); in exchange_done()
370 if (on->request_list->count == 0) in exchange_done()
371 ospf6_neighbor_state_change(OSPF6_NEIGHBOR_FULL, on, in exchange_done()
374 ospf6_neighbor_state_change(OSPF6_NEIGHBOR_LOADING, on, in exchange_done()
377 thread_add_event(master, ospf6_lsreq_send, on, 0, in exchange_done()
378 &on->thread_send_lsreq); in exchange_done()
385 void ospf6_check_nbr_loading(struct ospf6_neighbor *on) in ospf6_check_nbr_loading() argument
392 if ((on->state == OSPF6_NEIGHBOR_LOADING) in ospf6_check_nbr_loading()
393 || (on->state == OSPF6_NEIGHBOR_EXCHANGE)) { in ospf6_check_nbr_loading()
394 if (on->request_list->count == 0) in ospf6_check_nbr_loading()
395 thread_add_event(master, loading_done, on, 0, NULL); in ospf6_check_nbr_loading()
396 else if (on->last_ls_req == NULL) { in ospf6_check_nbr_loading()
397 if (on->thread_send_lsreq != NULL) in ospf6_check_nbr_loading()
398 THREAD_OFF(on->thread_send_lsreq); in ospf6_check_nbr_loading()
399 on->thread_send_lsreq = NULL; in ospf6_check_nbr_loading()
400 thread_add_event(master, ospf6_lsreq_send, on, 0, in ospf6_check_nbr_loading()
401 &on->thread_send_lsreq); in ospf6_check_nbr_loading()
408 struct ospf6_neighbor *on; in loading_done() local
410 on = (struct ospf6_neighbor *)THREAD_ARG(thread); in loading_done()
411 assert(on); in loading_done()
413 if (on->state != OSPF6_NEIGHBOR_LOADING) in loading_done()
417 zlog_debug("Neighbor Event %s: *LoadingDone*", on->name); in loading_done()
419 assert(on->request_list->count == 0); in loading_done()
421 ospf6_neighbor_state_change(OSPF6_NEIGHBOR_FULL, on, in loading_done()
429 struct ospf6_neighbor *on; in adj_ok() local
432 on = (struct ospf6_neighbor *)THREAD_ARG(thread); in adj_ok()
433 assert(on); in adj_ok()
436 zlog_debug("Neighbor Event %s: *AdjOK?*", on->name); in adj_ok()
438 if (on->state == OSPF6_NEIGHBOR_TWOWAY && need_adjacency(on)) { in adj_ok()
439 ospf6_neighbor_state_change(OSPF6_NEIGHBOR_EXSTART, on, in adj_ok()
441 SET_FLAG(on->dbdesc_bits, OSPF6_DBDESC_MSBIT); in adj_ok()
442 SET_FLAG(on->dbdesc_bits, OSPF6_DBDESC_MBIT); in adj_ok()
443 SET_FLAG(on->dbdesc_bits, OSPF6_DBDESC_IBIT); in adj_ok()
445 THREAD_OFF(on->thread_send_dbdesc); in adj_ok()
446 on->thread_send_dbdesc = NULL; in adj_ok()
447 thread_add_event(master, ospf6_dbdesc_send, on, 0, in adj_ok()
448 &on->thread_send_dbdesc); in adj_ok()
450 } else if (on->state >= OSPF6_NEIGHBOR_EXSTART && !need_adjacency(on)) { in adj_ok()
451 ospf6_neighbor_state_change(OSPF6_NEIGHBOR_TWOWAY, on, in adj_ok()
453 ospf6_lsdb_remove_all(on->summary_list); in adj_ok()
454 ospf6_lsdb_remove_all(on->request_list); in adj_ok()
455 for (ALL_LSDB(on->retrans_list, lsa)) { in adj_ok()
457 ospf6_lsdb_remove(lsa, on->retrans_list); in adj_ok()
466 struct ospf6_neighbor *on; in seqnumber_mismatch() local
469 on = (struct ospf6_neighbor *)THREAD_ARG(thread); in seqnumber_mismatch()
470 assert(on); in seqnumber_mismatch()
472 if (on->state < OSPF6_NEIGHBOR_EXCHANGE) in seqnumber_mismatch()
476 zlog_debug("Neighbor Event %s: *SeqNumberMismatch*", on->name); in seqnumber_mismatch()
478 ospf6_neighbor_state_change(OSPF6_NEIGHBOR_EXSTART, on, in seqnumber_mismatch()
480 SET_FLAG(on->dbdesc_bits, OSPF6_DBDESC_MSBIT); in seqnumber_mismatch()
481 SET_FLAG(on->dbdesc_bits, OSPF6_DBDESC_MBIT); in seqnumber_mismatch()
482 SET_FLAG(on->dbdesc_bits, OSPF6_DBDESC_IBIT); in seqnumber_mismatch()
484 ospf6_lsdb_remove_all(on->summary_list); in seqnumber_mismatch()
485 ospf6_lsdb_remove_all(on->request_list); in seqnumber_mismatch()
486 for (ALL_LSDB(on->retrans_list, lsa)) { in seqnumber_mismatch()
488 ospf6_lsdb_remove(lsa, on->retrans_list); in seqnumber_mismatch()
491 THREAD_OFF(on->thread_send_dbdesc); in seqnumber_mismatch()
492 on->dbdesc_seqnum++; /* Incr seqnum as per RFC2328, sec 10.3 */ in seqnumber_mismatch()
494 on->thread_send_dbdesc = NULL; in seqnumber_mismatch()
495 thread_add_event(master, ospf6_dbdesc_send, on, 0, in seqnumber_mismatch()
496 &on->thread_send_dbdesc); in seqnumber_mismatch()
503 struct ospf6_neighbor *on; in bad_lsreq() local
506 on = (struct ospf6_neighbor *)THREAD_ARG(thread); in bad_lsreq()
507 assert(on); in bad_lsreq()
509 if (on->state < OSPF6_NEIGHBOR_EXCHANGE) in bad_lsreq()
513 zlog_debug("Neighbor Event %s: *BadLSReq*", on->name); in bad_lsreq()
515 ospf6_neighbor_state_change(OSPF6_NEIGHBOR_EXSTART, on, in bad_lsreq()
517 SET_FLAG(on->dbdesc_bits, OSPF6_DBDESC_MSBIT); in bad_lsreq()
518 SET_FLAG(on->dbdesc_bits, OSPF6_DBDESC_MBIT); in bad_lsreq()
519 SET_FLAG(on->dbdesc_bits, OSPF6_DBDESC_IBIT); in bad_lsreq()
521 ospf6_lsdb_remove_all(on->summary_list); in bad_lsreq()
522 ospf6_lsdb_remove_all(on->request_list); in bad_lsreq()
523 for (ALL_LSDB(on->retrans_list, lsa)) { in bad_lsreq()
525 ospf6_lsdb_remove(lsa, on->retrans_list); in bad_lsreq()
528 THREAD_OFF(on->thread_send_dbdesc); in bad_lsreq()
529 on->dbdesc_seqnum++; /* Incr seqnum as per RFC2328, sec 10.3 */ in bad_lsreq()
531 on->thread_send_dbdesc = NULL; in bad_lsreq()
532 thread_add_event(master, ospf6_dbdesc_send, on, 0, in bad_lsreq()
533 &on->thread_send_dbdesc); in bad_lsreq()
540 struct ospf6_neighbor *on; in oneway_received() local
543 on = (struct ospf6_neighbor *)THREAD_ARG(thread); in oneway_received()
544 assert(on); in oneway_received()
546 if (on->state < OSPF6_NEIGHBOR_TWOWAY) in oneway_received()
550 zlog_debug("Neighbor Event %s: *1Way-Received*", on->name); in oneway_received()
552 ospf6_neighbor_state_change(OSPF6_NEIGHBOR_INIT, on, in oneway_received()
554 thread_add_event(master, neighbor_change, on->ospf6_if, 0, NULL); in oneway_received()
556 ospf6_lsdb_remove_all(on->summary_list); in oneway_received()
557 ospf6_lsdb_remove_all(on->request_list); in oneway_received()
558 for (ALL_LSDB(on->retrans_list, lsa)) { in oneway_received()
560 ospf6_lsdb_remove(lsa, on->retrans_list); in oneway_received()
563 THREAD_OFF(on->thread_send_dbdesc); in oneway_received()
564 THREAD_OFF(on->thread_send_lsreq); in oneway_received()
565 THREAD_OFF(on->thread_send_lsupdate); in oneway_received()
566 THREAD_OFF(on->thread_send_lsack); in oneway_received()
573 struct ospf6_neighbor *on; in inactivity_timer() local
575 on = (struct ospf6_neighbor *)THREAD_ARG(thread); in inactivity_timer()
576 assert(on); in inactivity_timer()
579 zlog_debug("Neighbor Event %s: *InactivityTimer*", on->name); in inactivity_timer()
581 on->inactivity_timer = NULL; in inactivity_timer()
582 on->drouter = on->prev_drouter = 0; in inactivity_timer()
583 on->bdrouter = on->prev_bdrouter = 0; in inactivity_timer()
585 ospf6_neighbor_state_change(OSPF6_NEIGHBOR_DOWN, on, in inactivity_timer()
587 thread_add_event(master, neighbor_change, on->ospf6_if, 0, NULL); in inactivity_timer()
589 listnode_delete(on->ospf6_if->neighbor_list, on); in inactivity_timer()
590 ospf6_neighbor_delete(on); in inactivity_timer()
598 static void ospf6_neighbor_show(struct vty *vty, struct ospf6_neighbor *on) in ospf6_neighbor_show() argument
608 inet_ntop(AF_INET, &on->router_id, router_id, sizeof(router_id)); in ospf6_neighbor_show()
616 if (on->inactivity_timer) { in ospf6_neighbor_show()
617 s = monotime_until(&on->inactivity_timer->u.sands, NULL) in ospf6_neighbor_show()
627 if (on->ospf6_if->type == OSPF_IFTYPE_POINTOPOINT) in ospf6_neighbor_show()
630 if (on->router_id == on->drouter) in ospf6_neighbor_show()
632 else if (on->router_id == on->bdrouter) in ospf6_neighbor_show()
639 monotime_since(&on->last_changed, &res); in ospf6_neighbor_show()
649 on->priority, deadtime, ospf6_neighbor_state_str[on->state], in ospf6_neighbor_show()
650 nstate, duration, on->ospf6_if->interface->name, in ospf6_neighbor_show()
651 ospf6_interface_state_str[on->ospf6_if->state]); in ospf6_neighbor_show()
655 struct ospf6_neighbor *on) in ospf6_neighbor_show_drchoice() argument
668 inet_ntop(AF_INET, &on->router_id, router_id, sizeof(router_id)); in ospf6_neighbor_show_drchoice()
669 inet_ntop(AF_INET, &on->drouter, drouter, sizeof(drouter)); in ospf6_neighbor_show_drchoice()
670 inet_ntop(AF_INET, &on->bdrouter, bdrouter, sizeof(bdrouter)); in ospf6_neighbor_show_drchoice()
673 timersub(&now, &on->last_changed, &res); in ospf6_neighbor_show_drchoice()
677 ospf6_neighbor_state_str[on->state], duration, drouter, in ospf6_neighbor_show_drchoice()
678 bdrouter, on->ospf6_if->interface->name, in ospf6_neighbor_show_drchoice()
679 ospf6_interface_state_str[on->ospf6_if->state]); in ospf6_neighbor_show_drchoice()
683 struct ospf6_neighbor *on) in ospf6_neighbor_show_detail() argument
690 inet_ntop(AF_INET6, &on->linklocal_addr, linklocal_addr, in ospf6_neighbor_show_detail()
692 inet_ntop(AF_INET, &on->drouter, drouter, sizeof(drouter)); in ospf6_neighbor_show_detail()
693 inet_ntop(AF_INET, &on->bdrouter, bdrouter, sizeof(bdrouter)); in ospf6_neighbor_show_detail()
696 timersub(&now, &on->last_changed, &res); in ospf6_neighbor_show_detail()
699 vty_out(vty, " Neighbor %s\n", on->name); in ospf6_neighbor_show_detail()
701 on->ospf6_if->area->name, on->ospf6_if->interface->name, in ospf6_neighbor_show_detail()
702 on->ospf6_if->interface->ifindex); in ospf6_neighbor_show_detail()
704 on->ifindex, linklocal_addr); in ospf6_neighbor_show_detail()
706 ospf6_neighbor_state_str[on->state], duration); in ospf6_neighbor_show_detail()
708 bdrouter, on->priority); in ospf6_neighbor_show_detail()
710 (CHECK_FLAG(on->dbdesc_bits, OSPF6_DBDESC_IBIT) ? "Initial " in ospf6_neighbor_show_detail()
712 (CHECK_FLAG(on->dbdesc_bits, OSPF6_DBDESC_MBIT) ? "More " : ""), in ospf6_neighbor_show_detail()
713 (CHECK_FLAG(on->dbdesc_bits, OSPF6_DBDESC_MSBIT) ? "Master" in ospf6_neighbor_show_detail()
715 (unsigned long)ntohl(on->dbdesc_seqnum)); in ospf6_neighbor_show_detail()
717 vty_out(vty, " Summary-List: %d LSAs\n", on->summary_list->count); in ospf6_neighbor_show_detail()
718 for (ALL_LSDB(on->summary_list, lsa)) in ospf6_neighbor_show_detail()
721 vty_out(vty, " Request-List: %d LSAs\n", on->request_list->count); in ospf6_neighbor_show_detail()
722 for (ALL_LSDB(on->request_list, lsa)) in ospf6_neighbor_show_detail()
725 vty_out(vty, " Retrans-List: %d LSAs\n", on->retrans_list->count); in ospf6_neighbor_show_detail()
726 for (ALL_LSDB(on->retrans_list, lsa)) in ospf6_neighbor_show_detail()
730 if (on->thread_send_dbdesc) in ospf6_neighbor_show_detail()
731 timersub(&on->thread_send_dbdesc->u.sands, &now, &res); in ospf6_neighbor_show_detail()
734 on->dbdesc_list->count, duration, in ospf6_neighbor_show_detail()
735 (on->thread_send_dbdesc ? "on" : "off")); in ospf6_neighbor_show_detail()
736 for (ALL_LSDB(on->dbdesc_list, lsa)) in ospf6_neighbor_show_detail()
740 if (on->thread_send_lsreq) in ospf6_neighbor_show_detail()
741 timersub(&on->thread_send_lsreq->u.sands, &now, &res); in ospf6_neighbor_show_detail()
744 on->request_list->count, duration, in ospf6_neighbor_show_detail()
745 (on->thread_send_lsreq ? "on" : "off")); in ospf6_neighbor_show_detail()
746 for (ALL_LSDB(on->request_list, lsa)) in ospf6_neighbor_show_detail()
750 if (on->thread_send_lsupdate) in ospf6_neighbor_show_detail()
751 timersub(&on->thread_send_lsupdate->u.sands, &now, &res); in ospf6_neighbor_show_detail()
755 on->lsupdate_list->count, duration, in ospf6_neighbor_show_detail()
756 (on->thread_send_lsupdate ? "on" : "off")); in ospf6_neighbor_show_detail()
757 for (ALL_LSDB(on->lsupdate_list, lsa)) in ospf6_neighbor_show_detail()
761 if (on->thread_send_lsack) in ospf6_neighbor_show_detail()
762 timersub(&on->thread_send_lsack->u.sands, &now, &res); in ospf6_neighbor_show_detail()
765 on->lsack_list->count, duration, in ospf6_neighbor_show_detail()
766 (on->thread_send_lsack ? "on" : "off")); in ospf6_neighbor_show_detail()
767 for (ALL_LSDB(on->lsack_list, lsa)) in ospf6_neighbor_show_detail()
770 ospf6_bfd_show_info(vty, on->bfd_info, 0); in ospf6_neighbor_show_detail()
784 struct ospf6_neighbor *on; variable
810 for (ALL_LIST_ELEMENTS_RO(oi->neighbor_list, k, on))
811 (*showfunc)(vty, on);
828 struct ospf6_neighbor *on; variable
846 for (ALL_LIST_ELEMENTS_RO(oi->neighbor_list, k, on))
847 (*showfunc)(vty, on);