Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib: fix route map duplicated prefix removal evaluation #14472

Merged
merged 2 commits into from
Oct 3, 2023

Conversation

rzalamena
Copy link
Member

Fixes #14392 .

This PR reverts #13369 fix in favor of a optimized lookup function that uses the trie instead of the linked list to find duplicated prefix.

When deleting a duplicated prefix list entry don't announce the change
to route map listeners, otherwise they will be removing rules that
shouldn't be removed causing the prefix that still exist in the
prefix-list to be not evaluated anymore.

Signed-off-by: Rafael Zalamena <[email protected]>
@rzalamena
Copy link
Member Author

This PR obsoletes #14415

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Sep 22, 2023

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-14300/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Get source / Pull Request: Successful

Building Stage: Successful

Basic Tests: Failed

Topotests Ubuntu 18.04 arm8 part 2: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO2U18ARM8-14300/test

Topology Tests failed for Topotests Ubuntu 18.04 arm8 part 2
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-14300/artifact/TOPO2U18ARM8/TopotestLogs/log_topotests.txt
Topotests Ubuntu 18.04 arm8 part 2: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-14300/artifact/TOPO2U18ARM8/TopotestDetails/

Topotests Ubuntu 18.04 i386 part 5: Failed (click for details)

Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO5U18I386-14300/test

Topology Tests failed for Topotests Ubuntu 18.04 i386 part 5
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-14300/artifact/TOPO5U18I386/TopotestLogs/log_topotests.txt
Topotests Ubuntu 18.04 i386 part 5: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-14300/artifact/TOPO5U18I386/TopotestDetails/

Successful on other platforms/tests
  • Addresssanitizer topotests part 9
  • Topotests Ubuntu 18.04 arm8 part 7
  • Topotests Ubuntu 18.04 amd64 part 3
  • Topotests Ubuntu 18.04 i386 part 2
  • Topotests debian 10 amd64 part 5
  • Topotests debian 10 amd64 part 0
  • Topotests Ubuntu 18.04 arm8 part 8
  • Addresssanitizer topotests part 7
  • Topotests Ubuntu 18.04 i386 part 6
  • Topotests Ubuntu 18.04 amd64 part 5
  • Topotests Ubuntu 18.04 i386 part 7
  • Addresssanitizer topotests part 5
  • Topotests Ubuntu 18.04 i386 part 1
  • Topotests Ubuntu 18.04 i386 part 3
  • Topotests Ubuntu 18.04 i386 part 8
  • Topotests Ubuntu 18.04 amd64 part 2
  • Topotests Ubuntu 18.04 amd64 part 0
  • Addresssanitizer topotests part 3
  • Topotests debian 10 amd64 part 8
  • Topotests Ubuntu 18.04 amd64 part 7
  • Topotests Ubuntu 18.04 arm8 part 4
  • Topotests debian 10 amd64 part 9
  • Addresssanitizer topotests part 2
  • Topotests Ubuntu 18.04 arm8 part 9
  • Topotests Ubuntu 18.04 amd64 part 4
  • CentOS 7 rpm pkg check
  • Topotests debian 10 amd64 part 2
  • Topotests Ubuntu 18.04 i386 part 9
  • Topotests debian 10 amd64 part 7
  • Topotests Ubuntu 18.04 arm8 part 0
  • Topotests Ubuntu 18.04 amd64 part 8
  • Addresssanitizer topotests part 8
  • Static analyzer (clang)
  • Topotests Ubuntu 18.04 amd64 part 9
  • Ubuntu 20.04 deb pkg check
  • Topotests Ubuntu 18.04 i386 part 0
  • Ubuntu 18.04 deb pkg check
  • Debian 10 deb pkg check
  • Addresssanitizer topotests part 6
  • Topotests Ubuntu 18.04 arm8 part 5
  • Topotests debian 10 amd64 part 1
  • Topotests Ubuntu 18.04 amd64 part 1
  • Topotests debian 10 amd64 part 6
  • Topotests Ubuntu 18.04 arm8 part 1
  • Topotests Ubuntu 18.04 arm8 part 6
  • Topotests debian 10 amd64 part 3
  • Addresssanitizer topotests part 0
  • Topotests Ubuntu 18.04 amd64 part 6
  • Debian 9 deb pkg check
  • Addresssanitizer topotests part 4
  • Addresssanitizer topotests part 1
  • Topotests Ubuntu 18.04 i386 part 4
  • Topotests Ubuntu 18.04 arm8 part 3
  • Topotests debian 10 amd64 part 4

@rzalamena rzalamena marked this pull request as draft September 22, 2023 19:16
@rzalamena rzalamena marked this pull request as ready for review September 22, 2023 19:18
@rzalamena
Copy link
Member Author

ci:rerun

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Sep 22, 2023

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

Test incomplete. See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-14304/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Get source / Pull Request: Successful

Building Stage: Successful

Basic Tests: Incomplete

Topotests Ubuntu 18.04 arm8 part 9: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 9: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-14304/artifact/TOPO9U18ARM8/TopotestDetails/ Topotests Ubuntu 18.04 arm8 part 9: No useful log found
Topotests Ubuntu 18.04 i386 part 9: Incomplete (check logs for details)
Successful on other platforms/tests
  • Topotests Ubuntu 18.04 amd64 part 3
  • Topotests Ubuntu 18.04 arm8 part 7
  • Topotests Ubuntu 18.04 i386 part 7
  • Addresssanitizer topotests part 7
  • Topotests Ubuntu 18.04 arm8 part 8
  • Topotests Ubuntu 18.04 i386 part 2
  • Topotests Ubuntu 18.04 amd64 part 5
  • Topotests Ubuntu 18.04 amd64 part 2
  • Addresssanitizer topotests part 5
  • Topotests Ubuntu 18.04 i386 part 1
  • Topotests Ubuntu 18.04 i386 part 6
  • Topotests Ubuntu 18.04 i386 part 8
  • Topotests Ubuntu 18.04 amd64 part 0
  • Topotests Ubuntu 18.04 i386 part 3
  • Topotests debian 10 amd64 part 8
  • Debian 10 deb pkg check
  • Topotests Ubuntu 18.04 arm8 part 4
  • Topotests Ubuntu 18.04 amd64 part 7
  • Addresssanitizer topotests part 2
  • Topotests debian 10 amd64 part 0
  • Topotests Ubuntu 18.04 arm8 part 2
  • Addresssanitizer topotests part 3
  • Topotests debian 10 amd64 part 9
  • Addresssanitizer topotests part 9
  • Topotests Ubuntu 18.04 amd64 part 4
  • CentOS 7 rpm pkg check
  • Topotests Ubuntu 18.04 amd64 part 9
  • Topotests debian 10 amd64 part 2
  • Addresssanitizer topotests part 8
  • Static analyzer (clang)
  • Topotests Ubuntu 18.04 amd64 part 1
  • Addresssanitizer topotests part 6
  • Topotests Ubuntu 18.04 i386 part 5
  • Ubuntu 20.04 deb pkg check
  • Topotests Ubuntu 18.04 i386 part 0
  • Ubuntu 18.04 deb pkg check
  • Topotests debian 10 amd64 part 1
  • Topotests Ubuntu 18.04 amd64 part 8
  • Topotests Ubuntu 18.04 arm8 part 5
  • Topotests debian 10 amd64 part 7
  • Topotests Ubuntu 18.04 arm8 part 0
  • Topotests Ubuntu 18.04 arm8 part 6
  • Addresssanitizer topotests part 0
  • Topotests debian 10 amd64 part 6
  • Topotests Ubuntu 18.04 arm8 part 1
  • Topotests debian 10 amd64 part 3
  • Topotests Ubuntu 18.04 amd64 part 6
  • Topotests Ubuntu 18.04 arm8 part 3
  • Debian 9 deb pkg check
  • Addresssanitizer topotests part 4
  • Addresssanitizer topotests part 1
  • Topotests Ubuntu 18.04 i386 part 4
  • Topotests debian 10 amd64 part 5
  • Topotests debian 10 amd64 part 4

Copy link
Member

@riw777 riw777 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good

@riw777
Copy link
Member

riw777 commented Sep 26, 2023

ospf; unrelated ... trying again
ci:rerun

@Jafaral Jafaral added this to the 9.1 Release milestone Sep 26, 2023
@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Sep 26, 2023

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

See below for issues.
CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-14340/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

Get source / Pull Request: Successful

Building Stage: Successful

Basic Tests: Failed

Topotests Ubuntu 18.04 arm8 part 9: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 9: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-14340/artifact/TOPO9U18ARM8/TopotestDetails/ Topotests Ubuntu 18.04 arm8 part 9: No useful log found
Addresssanitizer topotests part 1: Failed (click for details)
***********************************************************************************
Address Sanitizer Error detected in bgp_auth.test_bgp_auth4/R3.asan.ospfd.32139

=================================================================
==32139==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 256 byte(s) in 2 object(s) allocated from:
    #0 0x7f1a4b960d28 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded28)
    #1 0x7f1a4b3591c3 in qcalloc lib/memory.c:105
    #2 0x55aba5627ea9 in ospf_lsa_new ospfd/ospf_lsa.c:186
    #3 0x55aba56281b3 in ospf_lsa_new_and_data ospfd/ospf_lsa.c:205
    #4 0x55aba565cc0c in ospf_ls_upd_list_lsa ospfd/ospf_packet.c:1631
    #5 0x55aba565cc0c in ospf_ls_upd ospfd/ospf_packet.c:1716
    #6 0x55aba565cc0c in ospf_read_helper ospfd/ospf_packet.c:2896
    #7 0x55aba565cc0c in ospf_read ospfd/ospf_packet.c:2927
    #8 0x7f1a4b3f9dde in event_call lib/event.c:1976
    #9 0x7f1a4b33c462 in frr_run lib/libfrr.c:1213
    #10 0x55aba5605c49 in main ospfd/ospf_main.c:251
    #11 0x7f1a4a953c86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)

Indirect leak of 92 byte(s) in 2 object(s) allocated from:
    #0 0x7f1a4b960d28 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded28)
    #1 0x7f1a4b3591c3 in qcalloc lib/memory.c:105
    #2 0x55aba56281a2 in ospf_lsa_data_new ospfd/ospf_lsa.c:296
    #3 0x55aba56281be in ospf_lsa_new_and_data ospfd/ospf_lsa.c:206
    #4 0x55aba565cc0c in ospf_ls_upd_list_lsa ospfd/ospf_packet.c:1631
    #5 0x55aba565cc0c in ospf_ls_upd ospfd/ospf_packet.c:1716
    #6 0x55aba565cc0c in ospf_read_helper ospfd/ospf_packet.c:2896
    #7 0x55aba565cc0c in ospf_read ospfd/ospf_packet.c:2927
    #8 0x7f1a4b3f9dde in event_call lib/event.c:1976
    #9 0x7f1a4b33c462 in frr_run lib/libfrr.c:1213
    #10 0x55aba5605c49 in main ospfd/ospf_main.c:251
    #11 0x7f1a4a953c86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)

SUMMARY: AddressSanitizer: 348 byte(s) leaked in 4 allocation(s).
***********************************************************************************

Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-ASAN1-14340/test

Topology Tests failed for Addresssanitizer topotests part 1
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-14340/artifact/ASAN1/TopotestLogs/log_topotests.txt
Addresssanitizer topotests part 1: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-14340/artifact/ASAN1/TopotestDetails/

Topotests Ubuntu 18.04 amd64 part 2: Failed (click for details) Topotests Ubuntu 18.04 amd64 part 2: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-14340/artifact/TP2U1804AMD64/TopotestDetails/

Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TP2U1804AMD64-14340/test

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 2
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-14340/artifact/TP2U1804AMD64/TopotestLogs/log_topotests.txt

Successful on other platforms/tests
  • Topotests debian 10 amd64 part 3
  • Topotests debian 10 amd64 part 8
  • Addresssanitizer topotests part 0
  • Topotests Ubuntu 18.04 amd64 part 6
  • Topotests Ubuntu 18.04 arm8 part 4
  • Ubuntu 20.04 deb pkg check
  • Ubuntu 18.04 deb pkg check
  • Debian 10 deb pkg check
  • Topotests Ubuntu 18.04 i386 part 4
  • Topotests Ubuntu 18.04 arm8 part 3
  • Topotests Ubuntu 18.04 i386 part 3
  • Topotests Ubuntu 18.04 i386 part 8
  • Debian 9 deb pkg check
  • Addresssanitizer topotests part 4
  • Topotests Ubuntu 18.04 arm8 part 5
  • Topotests Ubuntu 18.04 amd64 part 9
  • Addresssanitizer topotests part 7
  • Topotests debian 10 amd64 part 4
  • Topotests Ubuntu 18.04 i386 part 9
  • Static analyzer (clang)
  • Addresssanitizer topotests part 5
  • Topotests debian 10 amd64 part 1
  • Topotests debian 10 amd64 part 2
  • Topotests Ubuntu 18.04 i386 part 6
  • Topotests Ubuntu 18.04 arm8 part 0
  • Topotests Ubuntu 18.04 amd64 part 8
  • Topotests Ubuntu 18.04 amd64 part 4
  • Topotests Ubuntu 18.04 i386 part 1
  • Addresssanitizer topotests part 2
  • Topotests debian 10 amd64 part 6
  • Topotests Ubuntu 18.04 amd64 part 5
  • Topotests Ubuntu 18.04 amd64 part 0
  • Topotests Ubuntu 18.04 arm8 part 1
  • Topotests Ubuntu 18.04 arm8 part 6
  • Topotests Ubuntu 18.04 arm8 part 2
  • Addresssanitizer topotests part 3
  • Topotests Ubuntu 18.04 amd64 part 7
  • Topotests debian 10 amd64 part 5
  • Topotests debian 10 amd64 part 0
  • Addresssanitizer topotests part 9
  • Topotests Ubuntu 18.04 arm8 part 7
  • CentOS 7 rpm pkg check
  • Addresssanitizer topotests part 8
  • Topotests Ubuntu 18.04 i386 part 2
  • Topotests Ubuntu 18.04 arm8 part 8
  • Topotests debian 10 amd64 part 9
  • Topotests Ubuntu 18.04 i386 part 7
  • Topotests Ubuntu 18.04 amd64 part 3
  • Addresssanitizer topotests part 6
  • Topotests Ubuntu 18.04 i386 part 5
  • Topotests Ubuntu 18.04 amd64 part 1
  • Topotests Ubuntu 18.04 i386 part 0
  • Topotests debian 10 amd64 part 7

@ton31337
Copy link
Member

@Mergifyio backport stable/9.0

@mergify
Copy link

mergify bot commented Sep 27, 2023

backport stable/9.0

✅ Backports have been created

@rzalamena
Copy link
Member Author

ci:rerun

@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-14366/

This is a comment from an automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.

@riw777 riw777 merged commit c97c31c into FRRouting:master Oct 3, 2023
ton31337 added a commit that referenced this pull request Oct 4, 2023
lib: fix route map duplicated prefix removal evaluation (backport #14472)
@rzalamena rzalamena deleted the plist-dup branch January 12, 2024 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ip prefix-list removal of overlapping rule may not unmask subsequent rule.
5 participants