Commit 764f6e5
authored
Merge pull request #24330 from GaladrielZhao/upgrade/frr-10.4.1
[FRR]: Upgrade FRR to version 10.4.1
#### Why I did it
Upgrade FRR to version 10.4.1
#### How I did it
- Update FRR version to 10.4.1 and sonic-frr branch to frr-10.4.1
- Port and update patches to frr-10.4.1
##### [Table 1] Removed Patches
|**Patch**|<div style="width: 200pt">FRR Commit / Pull Request|
| :---- | :-------- |
| 0019-Revert-bgpd-upon-if-event-evaluate-bnc-with-matching.patch| FRRouting/frr@052aea6 |
| 0020-staticd-add-cli-to-support-steering-of-ipv4-traffic-over-srv6-sid-list.patch | FRRouting/frr@6f52056 |
| 0021-lib-Return-duplicate-prefix-list-entry-test.patch | FRRouting/frr@24ae7cd |
| 0023-isisd-lib-add-some-codepoints-usually-shared-with-other-vendors.patch | FRRouting/frr@53263b4 |
| 0024-staticd-Add-support-for-SRv6-uA-behavior.patch | FRRouting/frr@feff426 |
| 0025-Fpm-problems.patch | FRRouting/frr@b2fc167 |
| 0028-zebra-ensure-proper-return-for-failure-for-Sid-allocation.patch | FRRouting/frr@5a63cf4 |
| 0029-staticd-Fix-a-crash-that-occurs-when-modifying-an-SRv6-SID.patch | FRRouting/frr@6037ea3 |
| 0030-staticd-Avoid-requesting-SRv6-sid-from-zebra-when-loc-and-sid-block-dont-match.patch | FRRouting/frr@dbd9fed |
| 0031-isisd-fix-srv6-sid-memory-leak.patch | FRRouting/frr@25c813a |
| 0032-show-ipv6-route-json-displays-seg6local-flavors.patch | FRRouting/frr@a95fd3e |
| 0033-staticd-Install-known-nexthops-upon-connection-with-zebra.patch | FRRouting/frr@918a1f8 |
| 0034-staticd-Fix-an-issue-where-SRv6-SIDs-may-not-be-allocated-on-heavily-loaded-systems.patch | FRRouting/frr@9c011b5 |
| 0035-lib-Add-support-for-stream-buffer-to-expand.patch | FRRouting/frr@c0c46ba |
| 0036-zebra-zebra-crash-for-zapi-stream.patch | FRRouting/frr@6fe9092 |
| 0037-bgpd-Replace-per-peer-connection-error-with-per-bgp.patch | FRRouting/frr@6a5962e |
| 0038-bgpd-remove-apis-from-bgp_route.h.patch | FRRouting/frr@020245b |
| 0039-bgpd-batch-peer-connection-error-clearing.patch | FRRouting/frr@58f924d |
| 0040-zebra-move-peer-conn-error-list-to-connection-struct.patch | FRRouting/frr@6206e7e |
| 0041-bgpd-Allow-batch-clear-to-do-partial-work-and-contin.patch | FRRouting/frr@c527882 |
| 0042-zebra-V6-RA-not-sent-anymore-after-interface-up-down.patch | FRRouting/frr@deb8476 |
| 0043-bgpd-Paths-received-from-shutdown-peer-not-deleted.patch | FRRouting/frr@d2bec7a |
| 0044-bgpd-Modify-bgp-to-handle-packet-events-in-a-FIFO.patch | FRRouting/frr@12bf042 |
| 0045-zebra-Limit-reading-packets-when-MetaQ-is-full.patch | FRRouting/frr@937a9fb |
| 0046-bgpd-Delay-processing-MetaQ-in-some-events.patch | FRRouting/frr@83a92c9 |
| 0047-bgpd-Fix-holdtime-not-working-properly-when-busy.patch | FRRouting/frr@9a26a56 |
| 0048-bgpd-ensure-that-bgp_generate_updgrp_packets-shares-.patch | FRRouting/frr@681caee |
| 0049-zebra-show-command-to-display-metaq-info.patch | FRRouting/frr@751ae76 |
| 0050-bgpd-add-total-path-count-for-bgp-net-in-json-output.patch | FRRouting/frr@be3c6d3 |
| 0051-lib-Add-nexthop_same_no_ifindex-comparison-function.patch | FRRouting/frr@66f552c |
| 0052-zebra-show-nexthop-count-in-nexthop-group-command.patch | FRRouting/frr@da5703e |
| 0053-zebra-Allow-nhg-s-to-be-reused-when-multiple-interfa.patch | FRRouting/frr@46044a4 |
| 0054-zebra-Prevent-active-setting-if-interface-is-not-ope.patch | FRRouting/frr@e5f4675 |
| 0055-zebra-Add-nexthop-group-id-to-route-dump.patch | FRRouting/frr@b732ad2 |
| 0056-zebra-Display-interface-name-not-ifindex-in-nh-dump.patch | FRRouting/frr@c891cd2 |
| 0057-mgmtd-remove-bogus-hedge-code-which-corrupted-active.patch | FRRouting/frr@b12b4c2 |
| 0058-mgmtd-normalize-argument-order-to-copy-dst-src.patch | FRRouting/frr@59d2368 |
| 0059-zebra-Ensure-that-the-dplane-can-send-the-full-packe.patch | FRRouting/frr@c89c330 |
##### [Table 2] Realigned Patches
| Patch |  Type  | Reason |
| :---- | :------------ | :---- |
| 0001-SONiC-ONLY-Reduce-severity-of-Vty-connected-from-message.patch | Lasting| Diff logic |
| 0002-SONiC-ONLY-Allow-BGP-attr-NEXT_HOP-to-be-0.0.0.0-due-to-allevia.patch | Lasting | Diff logic |
| 0003-SONiC-ONLY-nexthops-compare-vrf-only-if-ip-type.patch | Lasting | Diff logic |
| 0004-SONiC-ONLY-frr-remove-frr-log-outchannel-to-var-log-frr.log.patch | Lasting | Diff logic |
| 0005-Add-support-of-bgp-l3vni-evpn.patch | Temp  | As shown in patch |
| 0006-SONiC-ONLY-Link-local-scope-was-not-set-while-binding-socket-for-bgp-ipv6-link-local-neighbors.patch |  Lasting  | Diff logic |
| 0007-SONiC-ONLY-ignore-route-from-default-table.patch | Lasting| Diff logic |
| 0008-SONiC-ONLY-Use-vrf_id-for-vrf-not-tabled_id.patch | Lasting| Diff logic |
| 0009-SONiC-ONLY-bgpd-Change-log-level-for-graceful-restart-events.patch | Lasting| Diff logic |
| 0010-SONiC-ONLY-Disable-ipv6-src-address-test-in-pceplib.patch | Lasting | Diff logic |
| 0011-SONiC-ONLY-cross-compile-changes.patch | Lasting| Diff compilation |
| 0012-SONiC-ONLY-build-dplane-fpm-sonic-module.patch | Lasting | Diff compilation |
| 0013-SONiC-ONLY-zebra-do-not-send-local-routes-to-fpm.patch | Lasting | Diff logic |
| 0014-SONiC-ONLY-Adding-changes-to-write-ip-nht-resolve-via-default-c.patch | Lasting | Feature added by SONiC |
| 0015-SONiC-ONLY-When-the-file-is-config-replayed-we-cannot-handle-th.patch | Lasting | Diff logic |
| 0016-SONiC-ONLY-Set-multipath-to-514-and-disable-bgp-vnc-for-optimiz.patch | Lasting | Diff compilation |
| 0017-SONiC-ONLY-Patch-to-send-tag-value-associated-with-route-via-ne.patch | Lasting | Diff logic |
| 0018-SONiC-ONLY-SRv6-vpn-route-and-sidlist-install.patch | Lasting | Feature added by SONiC |
| 0022-SONiC-ONLY-This-error-happens-when-we-try-to-write-to-a-socket.patch | Lasting | Diff logic |
| 0026-SONiC-ONLY-Translate-tableid-for-dplane-route-notify.patch | Lasting | Diff logic |
| 0027-Dont-skip-kernel-routes-uninstall.patch |  Temp   | FRR Open issue:<br>[FRRouting#19637](FRRouting/frr#19637) |
| 0060-bgpd-Convert-bmp-path_info-tracking-from-hash-to-rbt.patch |  Temp   | Merged in FRR<br>tagged frr-10.6.0 |
| 0061-bgpd-Fix-JSON-wrapper-brace-consistency-in-neighbor.patch |  Temp   | Merged in FRR<br>tagged frr-10.6.0 |
| 0062-zebra-if-speed-change-check-fix.patch |  Temp   | Backported to FRR stable/10.4 |
###### Patch 0009 has conflicts when porting patches from 10.3. We apply the same logic as in the previous upgrade to resolve the conflicts.
<br>
###### Following a discussion with @cscarpitta , the file dplane_fpm_sonic.c is involved in the following changes during the upgrade from FRR 10.3 to 10.4.1. The relevant commits and their status are shown in the table below.
##### [Table 3] Summary of dplane_fpm_sonic.c Changes
| Description Message | FRR Commit | Status in SONiC|
| :---------- |:-------- |:--------|
| zebra: Fix pass back of data from dplane through fpm pipe | FRRouting/frr@b2fc167 | NOT applicable to SONiC |
| zebra: Limit mutex for obuf to when we access obuf | FRRouting/frr@c58da10 | Merged as <br>[1f7896e](1f7896e) |
| zebra: change fpm_read to batch the messages | FRRouting/frr@7e8c18d | Committed in this PR |
| bgpd,zebra: remove use of the EVENT_OFF macro | FRRouting/frr@e9a756f | Committed in this PR |
| zebra: Ensure that the dplane can send the full packet | FRRouting/frr@c89c330 | Merged as <br>[6868762](686876262e5bb5ee672) |
| zebra: On dplane failure to write ctx, let zebra know | FRRouting/frr@a1ce6a4 | Committed in this PR |
###### Note
###### Additional patches, if needed, will be added in subsequent commits.
##### [Table 4] New Patches Added
| Patch | Type   | Reason |
| :-----------| :-------------------|:--------|
| 0064-bgpd-Prevent-unnecessary-re-install-of-routes.patch | Temp | Merged in FRR mainline<br>https://github.com/FRRouting/frr/pull/19788|
| 0065-bgpd-fix-DEREF_OF_NULL.EX.COND-in-community_list_dup.patch | Temp | From FRR stable/10.4 |
| 0066-zebra-fix-up-memory-leak-in-dplane-shutdown-sequences.patch | Temp | From FRR stable/10.4 |
| 0067-bgpd-fix-overflow-when-decoding-zapi-nexthop-for-srv.patch | Temp | From FRR stable/10.4 |
| 0068-bgpd-fix-memory-leak-in-evpn-mh.patch | Temp | From FRR stable/10.4 |
| 0069-bgpd-Fix-default-vrf-check-while-configuring-md5-password-for-prefix-on-the-bgp-listen-socket.patch | Temp | From FRR stable/10.4 |
| 0070-Gr-test-fixup.patch | Temp | From FRR stable/10.4 |
| 0071-staticd-Fix-typo-in-SRv6-SIDs-debug-logs-for-interfa.patch | Temp | From FRR stable/10.4 |
| 0072-zebra-Reset-encapsulation-source-address-when-no-srv6-is-executed.patch | Temp | From FRR stable/10.4 |
| 0073-zebra-Explicitly-print-exit-at-the-end-of-srv6-encap.patch | Temp | From FRR stable/10.4 |
| 0074-bgpd-Fix-crash-due-to-dangling-pointer-in-bnc-nht_in.patch | Temp | From FRR stable/10.4 |
| 0075-zebra-Add-missing-debug-guard-in-rt-netlink-code.patch | Temp | From FRR stable/10.4 |
| 0076-zebra-Add-missing-debug-guard-in-if-netlink-code.patch | Temp | From FRR stable/10.4 |
| 0077-lib-remove-zlog-tmp-dirs-by-default-at-exit.patch | Temp | From FRR stable/10.4 |
| 0078-staticd-Fix-SRv6-SID-installation-for-default-VRF.patch | Temp | From FRR stable/10.4 |
| 0079-bgpd-don-t-use-stale-evpn-pointer-in-bgp_update.patch | Temp | From FRR stable/10.4 |
| 0080-lib-Return-a-valid-JSON-if-prefix-list-is-not-found.patch | Temp | From FRR stable/10.4 |
| 0081-Allow-notify-callback-on-non-presence-container.patch | Temp | From FRR stable/10.4 |
| 0082-bgpd-fix-refcounts-at-termination.patch | Temp | From FRR stable/10.4 |
| 0083-bgpd-add-NULL-check-in-evpn-mh-code.patch | Temp | From FRR stable/10.4 |
| 0084-Revert-bgpd-Enable-Link-Local-Next-Hop-capability-for-unnumbered-peers-implicitly.patch | Temp | From FRR stable/10.4 |
| 0085-zebra-Cleanup-early-route-Q-when-removing-routes.patch | Temp | From FRR stable/10.4 |
| 0086-doc-Fix-documentation-regarding-capability-link-loca.patch | Temp | From FRR stable/10.4 |
| 0087-zebra-fix-neighbor-table-name-length.patch | Temp | From FRR stable/10.4 |
| 0088-bgpd-Do-not-override-a-specified-rd.patch | Temp | From FRR stable/10.4 |
| 0089-bgpd-EVPN-fix-auto-derive-rd-when-user-cfg-removed.patch | Temp | From FRR stable/10.4 |
| 0090-zebra-EVPN-fix-alignment-of-access-vlan-cli-output.patch | Temp | From FRR stable/10.4 |
| 0091-bgpd-EVPN-MH-fix-ES-EVI-memleak-during-shutdown.patch | Temp | From FRR stable/10.4 |
| 0092-bgpd-Do-not-complain-in-the-logs-if-we-intentionally.patch | Temp | From FRR stable/10.4 |
| 0093-bgpd-Put-local-BGP-ID-when-sending-NNHN-TLV-for-NH-c.patch | Temp | From FRR stable/10.4 |
| 0094-zebra-fix-yang-data-for-mcast-group.patch | Temp | From FRR stable/10.4 |
| 0095-bgpd-Crash-due-to-usage-of-freed-up-evpn_overlay-att.patch | Temp | From FRR stable/10.4 |
| 0096-bgpd-Notify-all-incoming-outgoing-on-peer-group-noti.patch | Temp | From FRR stable/10.4 |
#### How to verify it
- Build the SONiC VS image using cisco-ngdp-vs platform, based on Q200
- Run test bgp/test_bgp_stress_link_flap.py in the local vms-kvm-ciscovs-5nodes topology (Passed dut and neighbor tests)
- CI Sanity tests
- Longevity testsFile tree
100 files changed
+5741
-11375
lines changed- rules
- src/sonic-frr
- dplane_fpm_sonic
- patch
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
100 files changed
+5741
-11375
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
| 49 | + | |
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | | - | |
6 | | - | |
| 5 | + | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
671 | 671 | | |
672 | 672 | | |
673 | 673 | | |
674 | | - | |
675 | | - | |
| 674 | + | |
| 675 | + | |
676 | 676 | | |
677 | 677 | | |
678 | 678 | | |
| |||
699 | 699 | | |
700 | 700 | | |
701 | 701 | | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
702 | 706 | | |
703 | 707 | | |
704 | 708 | | |
| |||
739 | 743 | | |
740 | 744 | | |
741 | 745 | | |
742 | | - | |
| 746 | + | |
743 | 747 | | |
744 | 748 | | |
745 | 749 | | |
| |||
754 | 758 | | |
755 | 759 | | |
756 | 760 | | |
757 | | - | |
| 761 | + | |
758 | 762 | | |
759 | 763 | | |
760 | 764 | | |
| |||
766 | 770 | | |
767 | 771 | | |
768 | 772 | | |
769 | | - | |
| 773 | + | |
770 | 774 | | |
771 | 775 | | |
772 | 776 | | |
| |||
777 | 781 | | |
778 | 782 | | |
779 | 783 | | |
780 | | - | |
| 784 | + | |
781 | 785 | | |
782 | 786 | | |
783 | 787 | | |
| |||
827 | 831 | | |
828 | 832 | | |
829 | 833 | | |
830 | | - | |
831 | | - | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
832 | 837 | | |
833 | 838 | | |
834 | 839 | | |
| |||
840 | 845 | | |
841 | 846 | | |
842 | 847 | | |
843 | | - | |
844 | | - | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
845 | 851 | | |
846 | 852 | | |
847 | 853 | | |
| |||
861 | 867 | | |
862 | 868 | | |
863 | 869 | | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
864 | 879 | | |
865 | 880 | | |
866 | 881 | | |
| |||
2494 | 2509 | | |
2495 | 2510 | | |
2496 | 2511 | | |
| 2512 | + | |
2497 | 2513 | | |
2498 | 2514 | | |
2499 | 2515 | | |
| |||
2504 | 2520 | | |
2505 | 2521 | | |
2506 | 2522 | | |
| 2523 | + | |
2507 | 2524 | | |
2508 | 2525 | | |
2509 | 2526 | | |
| |||
2524 | 2541 | | |
2525 | 2542 | | |
2526 | 2543 | | |
| 2544 | + | |
2527 | 2545 | | |
2528 | 2546 | | |
2529 | 2547 | | |
| |||
2535 | 2553 | | |
2536 | 2554 | | |
2537 | 2555 | | |
| 2556 | + | |
2538 | 2557 | | |
2539 | 2558 | | |
2540 | 2559 | | |
| |||
2549 | 2568 | | |
2550 | 2569 | | |
2551 | 2570 | | |
| 2571 | + | |
2552 | 2572 | | |
2553 | 2573 | | |
2554 | 2574 | | |
| |||
2561 | 2581 | | |
2562 | 2582 | | |
2563 | 2583 | | |
| 2584 | + | |
2564 | 2585 | | |
2565 | 2586 | | |
2566 | 2587 | | |
| |||
2573 | 2594 | | |
2574 | 2595 | | |
2575 | 2596 | | |
| 2597 | + | |
2576 | 2598 | | |
2577 | 2599 | | |
2578 | 2600 | | |
| |||
2585 | 2607 | | |
2586 | 2608 | | |
2587 | 2609 | | |
| 2610 | + | |
2588 | 2611 | | |
2589 | 2612 | | |
2590 | 2613 | | |
| |||
2597 | 2620 | | |
2598 | 2621 | | |
2599 | 2622 | | |
| 2623 | + | |
2600 | 2624 | | |
2601 | 2625 | | |
2602 | 2626 | | |
| |||
2608 | 2632 | | |
2609 | 2633 | | |
2610 | 2634 | | |
| 2635 | + | |
2611 | 2636 | | |
2612 | 2637 | | |
2613 | 2638 | | |
| |||
2620 | 2645 | | |
2621 | 2646 | | |
2622 | 2647 | | |
| 2648 | + | |
2623 | 2649 | | |
2624 | 2650 | | |
2625 | 2651 | | |
| |||
2632 | 2658 | | |
2633 | 2659 | | |
2634 | 2660 | | |
| 2661 | + | |
2635 | 2662 | | |
2636 | 2663 | | |
2637 | 2664 | | |
| |||
3135 | 3162 | | |
3136 | 3163 | | |
3137 | 3164 | | |
3138 | | - | |
3139 | 3165 | | |
3140 | 3166 | | |
3141 | 3167 | | |
| |||
3154 | 3180 | | |
3155 | 3181 | | |
3156 | 3182 | | |
3157 | | - | |
| 3183 | + | |
3158 | 3184 | | |
3159 | 3185 | | |
3160 | 3186 | | |
| |||
3267 | 3293 | | |
3268 | 3294 | | |
3269 | 3295 | | |
3270 | | - | |
3271 | | - | |
3272 | | - | |
3273 | | - | |
3274 | | - | |
3275 | | - | |
3276 | | - | |
3277 | | - | |
3278 | | - | |
3279 | | - | |
| 3296 | + | |
| 3297 | + | |
| 3298 | + | |
| 3299 | + | |
| 3300 | + | |
| 3301 | + | |
| 3302 | + | |
| 3303 | + | |
| 3304 | + | |
| 3305 | + | |
3280 | 3306 | | |
3281 | 3307 | | |
3282 | 3308 | | |
| |||
Submodule frr updated 1331 files
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | | - | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
8 | 10 | | |
9 | 11 | | |
10 | | - | |
| 12 | + | |
11 | 13 | | |
12 | 14 | | |
13 | | - | |
| 15 | + | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
| |||
19 | 21 | | |
20 | 22 | | |
21 | 23 | | |
22 | | - | |
23 | | - | |
24 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | | - | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
8 | 10 | | |
9 | 11 | | |
10 | | - | |
| 12 | + | |
11 | 13 | | |
12 | 14 | | |
13 | | - | |
| 15 | + | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
| |||
20 | 22 | | |
21 | 23 | | |
22 | 24 | | |
23 | | - | |
24 | | - | |
25 | | - | |
Lines changed: 12 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | | - | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
7 | 10 | | |
8 | 11 | | |
9 | | - | |
| 12 | + | |
10 | 13 | | |
11 | 14 | | |
12 | | - | |
| 15 | + | |
13 | 16 | | |
14 | 17 | | |
15 | 18 | | |
| |||
22 | 25 | | |
23 | 26 | | |
24 | 27 | | |
25 | | - | |
| 28 | + | |
26 | 29 | | |
27 | 30 | | |
28 | 31 | | |
| |||
36 | 39 | | |
37 | 40 | | |
38 | 41 | | |
39 | | - | |
| 42 | + | |
40 | 43 | | |
41 | 44 | | |
42 | | - | |
| 45 | + | |
43 | 46 | | |
44 | 47 | | |
45 | 48 | | |
| |||
52 | 55 | | |
53 | 56 | | |
54 | 57 | | |
55 | | - | |
| 58 | + | |
56 | 59 | | |
57 | 60 | | |
58 | 61 | | |
| |||
65 | 68 | | |
66 | 69 | | |
67 | 70 | | |
68 | | - | |
69 | | - | |
70 | | - | |
0 commit comments