mirror_frr/bgpd
Samanvitha B Bhargav 638b05594a bgpd: Fix session reset issue caused by malformed core attributes
RCA:
On encountering any attribute error for core attributes in update message,
the error handling is set to 'treat as withdraw' and
further parsing of the remaining attributes is skipped.
But the stream pointer is not being correctly adjusted to
point to the next NLRI field skipping the rest of the attributes.
This leads to incorrect parsing of the NLRI field,
which causes BGP session to reset.

Fix:
The stream pointer offset is rightly adjusted to point to the NLRI field correctly
when the malformed attribute is encountered and remaining attribute parsing is skipped.

Signed-off-by: Samanvitha B Bhargav <bsamanvitha@vmware.com>
(cherry picked from commit 70ff940fd1)
2023-08-02 17:49:01 +00:00
..
rfapi bgpd: Remove peer->sync array 2023-07-21 20:15:18 +00:00
rfp-example *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
bgp_addpath_types.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_addpath.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_addpath.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_advertise.c bgpd: Remove peer->sync array 2023-07-21 20:15:18 +00:00
bgp_advertise.h bgpd: Remove withdraw_low from system, it is never used 2023-07-21 20:15:19 +00:00
bgp_aspath.c *: Add a hash_clean_and_free() function 2023-03-21 08:54:21 -04:00
bgp_aspath.h Merge pull request #12248 from pguibert6WIND/bgpasdot 2023-02-21 08:01:03 -05:00
bgp_attr_evpn.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_attr_evpn.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_attr.c bgpd: Fix session reset issue caused by malformed core attributes 2023-08-02 17:49:01 +00:00
bgp_attr.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
bgp_bfd.c doc: Add missing rfc9384 to BGP supported RFC list 2023-04-01 21:56:37 +03:00
bgp_bfd.h *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
bgp_bmp.c bgpd: bmp fix peer-up ports byte order 2023-04-03 17:19:32 +02:00
bgp_bmp.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
bgp_btoa.c Merge pull request #12248 from pguibert6WIND/bgpasdot 2023-02-21 08:01:03 -05:00
bgp_clist.c bgpd: entry->any is never true 2023-06-05 07:57:49 -04:00
bgp_clist.h bgpd: entry->any is never true 2023-06-05 07:57:49 -04:00
bgp_community_alias.c *: Add a hash_clean_and_free() function 2023-03-21 08:54:21 -04:00
bgp_community_alias.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_community.c *: Add a hash_clean_and_free() function 2023-03-21 08:54:21 -04:00
bgp_community.h bgpd: Deprecate BGP internet community 2023-02-17 18:53:01 +02:00
bgp_conditional_adv.c *: Convert THREAD_XXX macros to EVENT_XXX macros 2023-03-24 08:32:17 -04:00
bgp_conditional_adv.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_damp.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
bgp_damp.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
bgp_debug.c Merge pull request #12248 from pguibert6WIND/bgpasdot 2023-02-21 08:01:03 -05:00
bgp_debug.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_dump.c bgpd: increase buffer size used for dumping BGP to MRT files 2023-03-30 14:23:48 +01:00
bgp_dump.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_ecommunity.c bgpd: fix show running of nt extcommunity 2023-05-05 17:50:36 +02:00
bgp_ecommunity.h bgpd: Reuse encode_route_target_ip() function 2023-04-14 22:33:34 +03:00
bgp_encap_tlv.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_encap_tlv.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_encap_types.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_errors.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_errors.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_evpn_mh.c bgpd:add correct value into dfAlgorithm json output 2023-04-16 10:29:09 -07:00
bgp_evpn_mh.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
bgp_evpn_private.h bgpd: Drop afi_t from bgp_evpn_global_node_lookup() 2023-03-14 12:05:58 +02:00
bgp_evpn_vty.c bgpd: fix bgp evpn cli memory leaks. 2023-07-18 16:00:29 +00:00
bgp_evpn_vty.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_evpn.c Merge pull request #13310 from opensourcerouting/feature/bgpd_node_target_extended_community 2023-04-25 11:06:23 -04:00
bgp_evpn.h bgpd: Treat withdraw variable as a bool 2023-04-06 17:41:32 -04:00
bgp_filter.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_filter.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_flowspec_private.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_flowspec_util.c bgpd: add some flowspec sanity returns 2023-04-28 22:28:16 +02:00
bgp_flowspec_util.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_flowspec_vty.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_flowspec.c bgpd: Free temp memory 2023-06-07 21:36:45 +00:00
bgp_flowspec.h bgpd: Treat withdraw variable as a bool 2023-04-06 17:41:32 -04:00
bgp_fsm.c bgpd: Remove peer->obuf_work 2023-07-21 20:15:17 +00:00
bgp_fsm.h *: Convert thread_cancelXXX to event_cancelXXX 2023-03-24 08:32:17 -04:00
bgp_io.c bgpd: With io limit allow parsing to continue even if memory is low 2023-07-25 14:27:38 +00:00
bgp_io.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_keepalives.c *: Convert THREAD_XXX macros to EVENT_XXX macros 2023-03-24 08:32:17 -04:00
bgp_keepalives.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_label.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
bgp_label.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_labelpool.c bgpd: add 'show bgp label-nexthop [detail]' command 2023-05-09 21:00:57 +02:00
bgp_labelpool.h bgpd: add 'show bgp label-nexthop [detail]' command 2023-05-09 21:00:57 +02:00
bgp_lcommunity.c bgpd: Fix lcom->str string length to correctly cover aliases 2023-04-20 16:51:56 -04:00
bgp_lcommunity.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_mac.c bgpd: Cosmetic change for mac check 2023-05-10 16:58:29 +08:00
bgp_mac.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_main.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
bgp_memory.c Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
bgp_memory.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
bgp_mpath.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_mpath.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_mplsvpn_snmp.c bgpd: Coverity mistakenly believes we can fall through 2023-04-21 07:57:19 -04:00
bgp_mplsvpn_snmp.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_mplsvpn.c bgpd: free bgp vpn policy 2023-07-13 10:08:26 +03:00
bgp_mplsvpn.h bgpd: free bgp vpn policy 2023-07-13 10:08:26 +03:00
bgp_network.c Merge pull request #13084 from opensourcerouting/fix/bgp_vrf_md5_password 2023-03-26 08:21:31 -04:00
bgp_network.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
bgp_nexthop.c bgpd: add support for l3vpn per-nexthop label 2023-05-09 21:00:57 +02:00
bgp_nexthop.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_nht.c bgpd: Fix typo in debug message 2023-06-01 23:31:45 +08:00
bgp_nht.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_open.c Merge pull request #12953 from donaldsharp/struct_event 2023-03-24 13:48:53 -05:00
bgp_open.h Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
bgp_packet.c bgpd: The last_reset_cause in the peer structure is too large 2023-07-25 13:26:27 +00:00
bgp_packet.h bgpd: Treat withdraw variable as a bool 2023-04-06 17:41:32 -04:00
bgp_pbr.c *: Add a hash_clean_and_free() function 2023-03-21 08:54:21 -04:00
bgp_pbr.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_rd.c Merge pull request #12248 from pguibert6WIND/bgpasdot 2023-02-21 08:01:03 -05:00
bgp_rd.h Merge pull request #12248 from pguibert6WIND/bgpasdot 2023-02-21 08:01:03 -05:00
bgp_regex.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_regex.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_route.c bgpd: Do not try to redistribute routes if we are shutting down 2023-07-18 14:56:08 +00:00
bgp_route.h bgpd: Refactor subgroup_announce_table() to reuse an existing helpers 2023-05-25 17:04:47 +03:00
bgp_routemap_nb_config.c bgpd: Implement match source-protocol for route-maps 2023-05-11 11:39:23 +03:00
bgp_routemap_nb.c bgpd: Implement match source-protocol for route-maps 2023-05-11 11:39:23 +03:00
bgp_routemap_nb.h bgpd: Implement match source-protocol for route-maps 2023-05-11 11:39:23 +03:00
bgp_routemap.c bgpd: Implement match source-protocol for route-maps 2023-05-11 11:39:23 +03:00
bgp_rpki.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
bgp_rpki.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_script.c lib: Do not use time_t as a special Lua encoder/decoder 2023-08-02 04:53:38 +00:00
bgp_script.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_snmp_bgp4.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
bgp_snmp_bgp4.h *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
bgp_snmp_bgp4v2.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
bgp_snmp_bgp4v2.h *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
bgp_snmp.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
bgp_snmp.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_table.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_table.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
bgp_trace.c *: make sure config.h or zebra.h is first 2021-04-23 12:06:35 +02:00
bgp_trace.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_updgrp_adv.c bgpd: Refactor subgroup_announce_table() to reuse an existing helpers 2023-05-25 17:04:47 +03:00
bgp_updgrp_packet.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
bgp_updgrp.c bgpd: Remove withdraw_low from system, it is never used 2023-07-21 20:15:19 +00:00
bgp_updgrp.h bgpd: Remove withdraw_low from system, it is never used 2023-07-21 20:15:19 +00:00
bgp_vnc_types.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_vpn.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_vpn.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
bgp_vty.c bgpd: The last_reset_cause in the peer structure is too large 2023-07-25 13:26:27 +00:00
bgp_vty.h Merge pull request #12805 from karlquan/kquan_self_orig 2023-02-21 08:38:07 -05:00
bgp_zebra.c bgpd: use nexthop interface when adding LSP in BGP MPLSVPN 2023-05-09 21:00:57 +02:00
bgp_zebra.h bgpd: use nexthop interface when adding LSP in BGP MPLSVPN 2023-05-09 21:00:57 +02:00
bgpd.c Merge pull request #14090 from FRRouting/mergify/bp/dev/9.0/pr-14079 2023-07-25 14:26:18 -04:00
bgpd.h bgpd: The last_reset_cause in the peer structure is too large 2023-07-25 13:26:27 +00:00
Makefile
subdir.am Revert "bgpd: optimal router reflection cli and fsm changes" 2023-01-17 18:15:28 +02:00