mirror_frr/bgpd
Quentin Young 80bd61c416
bgpd: move update group processing to main thread
Prior to this change, packets generated for update groups were taken off
of the (independent) buffer for the update group, reformatted for the
specific peer under question and sent off inline with bgp_write(). Since
the operations of this code path can include the merging and pruning of
subgroups and are too large to safely synchronize, this change moves
that logic to execute after each tick of the write thread.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-11-30 16:17:57 -05:00
..
rfapi *: Make zapi route install Notifications optional 2017-11-27 09:09:35 -05:00
rfp-example *: add missing \n in some help strings 2017-10-24 19:30:30 -02:00
.gitignore lib, bgpd: fix .gitignore 2017-06-29 19:39:36 +00:00
BGP4-MIB.txt Initial revision 2002-12-13 20:15:29 +00:00
bgp_advertise.c bgpd: use FOREACH_AFI_SAFI where possible 2017-11-21 13:02:06 -05:00
bgp_advertise.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_aspath.c bgpd: Only create json for aspath if needed 2017-11-16 20:46:37 -05:00
bgp_aspath.h bgpd: Only create json for aspath if needed 2017-11-16 20:46:37 -05:00
bgp_attr_evpn.c *: fix be32 reading / 24-bit left shift 2017-09-09 19:50:58 +02:00
bgp_attr_evpn.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_attr.c bgpd: Free up changes to attr that the speculative route-map applied 2017-11-27 08:21:56 -05:00
bgp_attr.h bgpd: Free up changes to attr that the speculative route-map applied 2017-11-27 08:21:56 -05:00
bgp_bfd.c Revert "*: reindent pt. 2" 2017-07-22 14:52:33 +02:00
bgp_bfd.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_btoa.c Revert "*: reindent pt. 2" 2017-07-22 14:52:33 +02:00
bgp_clist.c bgpd: Only build json for community when needed 2017-11-17 09:04:26 -05:00
bgp_clist.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_community.c bgpd: Only build json for community when needed 2017-11-17 09:04:26 -05:00
bgp_community.h bgpd: Only build json for community when needed 2017-11-17 09:04:26 -05:00
bgp_damp.c *: Define the number of seconds in a Day, Week and year 2017-08-08 09:06:22 -04:00
bgp_damp.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_debug.c bgpd: Only build json for community when needed 2017-11-17 09:04:26 -05:00
bgp_debug.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_dump.c Revert "*: reindent pt. 2" 2017-07-22 14:52:33 +02:00
bgp_dump.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_ecommunity.c bgpd: Fix crash with ecommunity string 2017-11-06 10:34:51 -05:00
bgp_ecommunity.h bgpd: deduplicate struct definition 2017-09-13 11:47:35 -04:00
bgp_encap_tlv.c bgpd: Fix off by one error introduced by 8c9cc7bbf6 2017-10-18 18:37:38 -04:00
bgp_encap_tlv.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_encap_types.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_evpn_private.h *: fix style 2017-08-30 11:27:11 -04:00
bgp_evpn_vty.c bgpd: Fix 'not initialized' possibly on older compilers 2017-10-18 18:39:04 -04:00
bgp_evpn_vty.h bgpd: get rid of afi_header_vty_out() & co. 2017-08-29 08:36:03 +02:00
bgp_evpn.c *: fix coverity warnings - error handling issues 2017-10-24 19:30:30 -02:00
bgp_evpn.h zebra: Fix MAC change handling for a neighbor 2017-08-17 03:54:38 -07:00
bgp_filter.c bgpd: fix clang warning 2017-10-08 23:50:54 +02:00
bgp_filter.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_fsm.c bgpd: move packet writes into dedicated pthread 2017-11-30 16:17:57 -05:00
bgp_fsm.h bgpd: move packet writes into dedicated pthread 2017-11-30 16:17:57 -05:00
bgp_label.c bgpd, zebra: Ensure that passed flags is 0 for unregister event 2017-11-13 14:30:17 -05:00
bgp_label.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_lcommunity.c *: fix be32 reading / 24-bit left shift 2017-09-09 19:50:58 +02:00
bgp_lcommunity.h bgpd: Fixed some comments in bgp_lcommunity.h 2017-09-03 06:35:53 +00:00
bgp_main.c bgpd: move packet writes into dedicated pthread 2017-11-30 16:17:57 -05:00
bgp_memory.c bgpd: Ignore EVPN routes from CLAG peer when VNI comes up 2017-08-16 23:19:58 -07:00
bgp_memory.h bgpd: Ignore EVPN routes from CLAG peer when VNI comes up 2017-08-16 23:19:58 -07:00
bgp_mpath.c *: fix coverity warnings - resource leaks 2017-10-24 19:30:30 -02:00
bgp_mpath.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_mplsvpn.c bgpd: fix 'show bgp ipvX vpn rd' command 2017-10-05 10:11:49 -04:00
bgp_mplsvpn.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_network.c bgpd: exit on socket bind failures 2017-10-26 14:11:46 -04:00
bgp_network.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_nexthop.c bgpd: Reduce multiaccess_check_v4 overhead for subgroups 2017-09-26 20:06:13 -04:00
bgp_nexthop.h bgpd: Reduce multiaccess_check_v4 overhead for subgroups 2017-09-26 20:06:13 -04:00
bgp_nht.c bgpd, zebra: Flags should be 0 for unregister 2017-11-13 19:06:26 -05:00
bgp_nht.h bgpd: Cleanup NHT state when underlying VRF goes down 2017-08-17 02:54:14 -07:00
bgp_open.c bgpd: use FOREACH_AFI_SAFI where possible 2017-11-21 13:02:06 -05:00
bgp_open.h bgpd: don't make any assumptions about the size of an enum 2017-07-31 23:45:03 -03:00
bgp_packet.c bgpd: move update group processing to main thread 2017-11-30 16:17:57 -05:00
bgp_packet.h bgpd: move packet writes into dedicated pthread 2017-11-30 16:17:57 -05:00
bgp_rd.c *: fix be32 reading / 24-bit left shift 2017-09-09 19:50:58 +02:00
bgp_rd.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_regex.c *: reindent 2017-07-17 14:04:07 +02:00
bgp_regex.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_route.c bgpd: Free up changes to attr that the speculative route-map applied 2017-11-27 08:21:56 -05:00
bgp_route.h bgpd: Allow bgp to understand the different nexthop types 2017-11-16 08:45:28 -05:00
bgp_routemap.c Merge pull request #1474 from qlyoung/foreach_afi_safi 2017-11-22 13:54:30 -02:00
bgp_rpki.c bgpd: add missing newlines to help strings in bgp_rpki.c command definitions 2017-11-14 09:58:09 +01:00
bgp_snmp.c bgpd: fix various problems with hold/keepalive timers 2017-10-26 11:55:31 -04:00
bgp_table.c *: reindent 2017-07-17 14:04:07 +02:00
bgp_table.h bgpd: bgp process queue optimization 2017-08-17 17:58:35 +02:00
bgp_updgrp_adv.c bgpd: move packet writes into dedicated pthread 2017-11-30 16:17:57 -05:00
bgp_updgrp_packet.c bgpd: move packet writes into dedicated pthread 2017-11-30 16:17:57 -05:00
bgp_updgrp.c bgpd: move packet writes into dedicated pthread 2017-11-30 16:17:57 -05:00
bgp_updgrp.h bgpd: move packet writes into dedicated pthread 2017-11-30 16:17:57 -05:00
bgp_vnc_types.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_vpn.c bgpd/ospfd: fix json leaks and blank output 2017-07-26 12:28:56 -03:00
bgp_vpn.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_vty.c Merge pull request #1448 from qlyoung/fix-peer-group-name 2017-11-29 03:37:48 +08:00
bgp_vty.h bgpd: get rid of afi_header_vty_out() & co. 2017-08-29 08:36:03 +02:00
bgp_zebra.c *: Make zapi route install Notifications optional 2017-11-27 09:09:35 -05:00
bgp_zebra.h bgpd: get rid of afi_header_vty_out() & co. 2017-08-29 08:36:03 +02:00
bgpd.c bgpd: move packet writes into dedicated pthread 2017-11-30 16:17:57 -05:00
bgpd.conf.sample bgpd: hide "router bgp" commands also under "address-family ipv4 unicast" 2017-05-04 17:06:13 +00:00
bgpd.conf.sample2 Initial revision 2002-12-13 20:15:29 +00:00
bgpd.conf.vnc.sample bgpd: hide "router bgp" commands also under "address-family ipv4 unicast" 2017-05-04 17:06:13 +00:00
bgpd.h bgpd: move packet writes into dedicated pthread 2017-11-30 16:17:57 -05:00
IMPLEMENTATION.txt Adjust size complexity estimates. Still not quite right, but closer. 2005-02-15 17:10:03 +00:00
Makefile.am bgpd: fix RPKI-enabled build 2017-11-26 04:13:54 +03:00