mirror_frr/ospfd
Paul Jakma aa276fd783 ospfd: Prioritise hellos for sending by queueing to head of output buffer
* It's possible for the packet output buffer to be filled up with a long
  series of non-Hello packets in between Hellos packets, such that the
  router's neighbours don't receive the Hello packet in time, even though
  the hello-timer ran at about the right time. Fix this by prioritising
  Hello packets, letting them skip the queue and go ahead of any packets
  already on the queue.

  This problem can occur when there are lots of LSAs and slow links.

* ospf_packet.h: (ospf_hello_send_sub) not used outside of ospf_packet.c
* ospf_packet.c: (ospf_fifo_push_head) add packet to head of fifo (so its
  no longer really a fifo, but hey)
  (ospf_packet_add_top) add packet to top of the packet output queue.
  (ospf_hello_send_sub) Put Hello's at the top of the packet output queue.
  make it take in_addr_t parameter, so that this
  ospf_hello_send can re-use this code too.
  (ospf_hello_send) consolidate code by using ospf_hello_send_sub
  (ospf_poll_send,ospf_hello_reply_timer) adjust for ospf_hello_send_sub.
2010-12-08 17:11:19 +00:00
..
.cvsignore - Add .arch-ids and .arch-inventory to cvsignore, to allow one to use arch 2004-11-02 18:59:49 +00:00
.gitignore [administrivia] Git should ignore backup files and .loT files 2008-08-22 20:00:46 +01:00
ChangeLog.opaque.txt Initial revision 2003-02-03 16:31:16 +00:00
Makefile.am * configure.ac, */Makefile.am: Fix previous commit. SNMP includes 2005-03-28 15:29:07 +00:00
ospf_abr.c ospfd: Change struct ospf_path *oi to ifindex. 2009-08-03 16:52:30 +01:00
ospf_abr.h 2005-09-29 Alain Ritoux <alain.ritoux@6wind.com> 2005-09-29 13:52:57 +00:00
ospf_api.c [cleanup] Convert XMALLOC/memset to XCALLOC 2009-06-12 17:07:49 +01:00
ospf_api.h 2005-05-06 Paul Jakma <paul.jakma@sun.com> 2005-05-06 21:37:42 +00:00
ospf_apiserver.c [cleanup] Convert XMALLOC/memset to XCALLOC 2009-06-12 17:07:49 +01:00
ospf_apiserver.h 2005-05-06 Paul Jakma <paul.jakma@sun.com> 2005-05-06 21:37:42 +00:00
ospf_asbr.c [cleanup] Convert XMALLOC/memset to XCALLOC 2009-06-12 17:07:49 +01:00
ospf_asbr.h [ospfd] CID #28, remove another ospf_lookup call - ospf_redistribute_withdraw 2006-05-12 23:02:46 +00:00
ospf_ase.c ospfd: Fix various route_unlock discrepencies 2010-12-08 17:11:18 +00:00
ospf_ase.h 2005-05-06 Paul Jakma <paul.jakma@sun.com> 2005-05-06 21:37:42 +00:00
ospf_dump.c [OSPF/cleanup] make message lists read only 2009-06-18 20:18:30 +01:00
ospf_dump.h [ospfd] Standardize buffer sizes used for displaying timers. 2005-11-16 20:17:52 +00:00
ospf_flood.c [ospfd] Do not use stale Network/Router LSAs 2009-06-26 16:12:19 +01:00
ospf_flood.h 2005-05-06 Paul Jakma <paul.jakma@sun.com> 2005-05-06 21:37:42 +00:00
ospf_ia.c [ospfd] CID #14, NULL check ospf->backbone before use, ospf_update_router_route 2006-05-12 23:04:45 +00:00
ospf_ia.h 2005-05-06 Paul Jakma <paul.jakma@sun.com> 2005-05-06 21:37:42 +00:00
ospf_interface.c ospfd: interface code should leave network_lsa_self alone 2010-12-08 17:11:18 +00:00
ospf_interface.h ospfd: Make ospf_if_lookup_recv_if() find the right unnumbered i/f 2009-07-28 18:47:43 +01:00
ospf_ism.c ospfd: Lower level of some common messages from info to debug 2010-12-08 17:11:17 +00:00
ospf_ism.h [ospfd] Make OSPF_ISM_TIMER_OFF macro safer. 2005-11-16 19:33:22 +00:00
ospf_lsa.c ospfd: the maxage_lsa_remover should check whether it needs to yield the cpu 2010-12-08 17:11:18 +00:00
ospf_lsa.h ospfd: fix performance problem with redistribute delete 2009-08-13 09:58:46 +01:00
ospf_lsdb.c ospfd: Fix various route_unlock discrepencies 2010-12-08 17:11:18 +00:00
ospf_lsdb.h 2005-05-06 Paul Jakma <paul.jakma@sun.com> 2005-05-06 21:37:42 +00:00
ospf_main.c all: check return value from daemon() call 2009-08-13 10:21:13 +01:00
ospf_neighbor.c [cleanup] Convert XMALLOC/memset to XCALLOC 2009-06-12 17:07:49 +01:00
ospf_neighbor.h [ospfd] Additional NSM neighbour state change stats/information 2006-07-25 20:44:12 +00:00
ospf_network.c ospfd: Lower level of some common messages from info to debug 2010-12-08 17:11:17 +00:00
ospf_network.h Bug #362 is fixed now. 2007-08-21 16:32:56 +00:00
ospf_nsm.c ospfd: Reset neighbour inactivity timer for any packet arrival 2010-12-08 17:11:18 +00:00
ospf_nsm.h ospfd: Reset neighbour inactivity timer for any packet arrival 2010-12-08 17:11:18 +00:00
ospf_opaque.c [ospfd] Allow ospf_lsa_unlock to NULL out callers' LSA pointers upon free 2006-07-26 09:37:26 +00:00
ospf_opaque.h [c++] remove/rename some names in headers that clash with C++ reserved words 2008-02-26 09:16:09 +00:00
ospf_packet.c ospfd: Prioritise hellos for sending by queueing to head of output buffer 2010-12-08 17:11:19 +00:00
ospf_packet.h ospfd: Prioritise hellos for sending by queueing to head of output buffer 2010-12-08 17:11:19 +00:00
ospf_route.c ospfd: Change struct ospf_path *oi to ifindex. 2009-08-03 16:52:30 +01:00
ospf_route.h ospfd: Change struct ospf_path *oi to ifindex. 2009-08-03 16:52:30 +01:00
ospf_routemap.c [compiler] miscellaneous trivial compiler warning fixes 2006-01-19 20:16:55 +00:00
ospf_snmp.c [cleanup] functions taking no args should be declared with void args 2009-06-12 17:09:03 +01:00
ospf_snmp.h 2005-09-29 Alain Ritoux <alain.ritoux@6wind.com> 2005-09-29 16:34:30 +00:00
ospf_spf.c ospfd: update some comments 2009-08-03 16:52:38 +01:00
ospf_spf.h [ospfd] Fix SPF of virtual-links 2006-05-04 07:32:57 +00:00
ospf_te.c [cleanup] Convert XMALLOC/memset to XCALLOC 2009-06-12 17:07:49 +01:00
ospf_te.h 2005-11-03 Paul Jakma <paul.jakma@sun.com> 2005-11-03 09:08:29 +00:00
ospf_vty.c ospfd: VTY strings cleanup 2009-12-03 19:25:04 +03:00
ospf_vty.h 2005-05-06 Paul Jakma <paul.jakma@sun.com> 2005-05-06 21:37:42 +00:00
ospf_zebra.c ospfd: Only refresh external default route once. 2010-04-18 14:56:41 -04:00
ospf_zebra.h [ospfd] misc small fixes. Fix default stub router setting. no opaque compile. 2005-11-14 11:11:11 +00:00
OSPF-ALIGNMENT.txt add note about alignment in LS updates due to opaque LSAs. 2004-11-17 17:59:52 +00:00
OSPF-MIB.txt spelling: s/supress/suppress/ 2004-11-05 13:24:12 +00:00
OSPF-TRAP-MIB.txt Initial revision 2002-12-13 20:15:29 +00:00
ospfd.c ospfd: make local functions static 2009-12-03 19:07:00 +03:00
ospfd.conf.sample Initial revision 2002-12-13 20:15:29 +00:00
ospfd.h ospfd: make local functions static 2009-12-03 19:07:00 +03:00