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

bgpd: Add support for BGP vrf route copying #13582

Closed
wants to merge 3 commits into from
Closed

bgpd: Add support for BGP vrf route copying #13582

wants to merge 3 commits into from

Conversation

zice312963205
Copy link
Contributor

Example configuration:
router bgp 100 vrf vrf-1
address-family ipv4 unicast
rd vpn export 1:1
rt vpn both 1:1
export vpn
import vpn
redistribute vrf vrf-2
exit-address-family
!
!
router bgp 100 vrf vrf-2
neighbor 2.2.2.2 remote-as 1
address-family ipv4 unicast
rd vpn export 2:2
rt vpn both 2:2
neighbor 2.2.2.2 activate
exit-address-family
!
!
BGP routes learned from the neighbor 2.2.2.2 under VRF-1 can be directly copied to the BGP under VRF-1 without carrying the RD and RT attributes of VRF-1.
After being copied to VRF-1, the routes will be sent to VPN with the RD 1:1 and RT 1:1 attributes, forming BGP-VPN routes.

Signed-off-by: Jack.Zhang <hanyu.zly@alibaba-inc.com>
This commit adds a new test case.The new test case performs three
operations:

 install routes in vrf1.
 set redistribute vrf vrf1 command on vrf2.
 check the copying routes by vrf1 in vrf2.

Signed-off-by: Jack.Zhang <hanyu.zly@alibaba-inc.com>
@frrbot frrbot bot added bgp documentation tests Topotests, make check, etc labels May 23, 2023
@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented May 23, 2023

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

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

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: Failed

Checkout code: Failed (click for details)

PullReq merge failed. Please rebase your branch:
see merge log in attachment https://ci1.netdef.org/browse/FRR-PULLREQ2-11705/artifact/CHECKOUT/ErrorLog/log_merge.txt

@riw777
Copy link
Member

riw777 commented May 23, 2023

Sorry to be obtuse ... but is there a use case for this? I'd be a bit worried about the ability to form routing loops with this change, or carry duplicate routes between vrfs (because the rd is removed)? I'm thinking this one would be good to discuss in a tuesday meeting (?)

@ton31337
Copy link
Member

Imagine a case with route reflectors (RR). Router has two VRFs (VRF1/VRF2), and routes from VRF2 are modified in RR to include RT (from VRF1). And as a result, the routes will have both RTs (VRF1+VRF2) attached and routes will be imported to VRF1 again. Won't it break a normal import by RT/RD with this new redistribute vrf functionality?

Also, if VRF2 has routes with random RTs attached, will they be imported as they are with stripped RTs?

@donaldsharp donaldsharp self-requested a review May 23, 2023 15:35
@donaldsharp
Copy link
Member

I'd like to understand why FRR needs a third way of importing routes into different vrf's from bgp? What does FRR gain by adding another approach to the problem?

@zice312963205
Copy link
Contributor Author

Sorry for the delayed reply. I think I would be happy to explain the application scenario of this feature at the weekly meeting of FRR. However, I have to say that my spoken English is limited, and I may not be able to participate in the discussion fluently. Thank you for your understanding.

The function of copying VRF routes is currently mainly applied in the traffic scheduling scenario of SRv6.
Imagine the following scenario: PE and CE establish a BGP neighbor through VRF0 and receive all user-side routes. However, on the backbone network side, users want to apply different SR policies to these business routes for predictable traffic scheduling, but they want to avoid establishing multiple redundant BGP neighbors with the CE.
At this time, we need to copy the CE routes of VRF0 to gold-vrf, silver-vrf, and copper-vrf according to certain route-maps, and then these routes will be used in gold-vrf, silver-vrf, and copper-vrf to form MP-BGP routes (vpnv4/6) with new RTs, colors, and VPN-SIDs respectively. These routes will then be sent to the remote PE.
For data traffic from the remote PE, different user routes will be imported into the remote PE's gold-vrf, silver-vrf, and copper-vrf through PBR, and corresponding SR-TE will be used to forward traffic (such as encapsulating SRH, encapsulating VPN-SID, etc.).

The answers to several questions are as follows:
1.Why not use the import VRF function?
The route introduction function of import VRF is indeed somewhat similar to that of redistribute VRF, but there are two difficult problems to solve: 1. The routes introduced by the import VRF function will automatically increase redundant RTs, which is not desirable on the remote PE. 2. Import VRF needs to introduce VRF1 routes into VRF2 through VPN, but after the introduction, the routes of VRF2 cannot be re-generated into MP-BGP routes according to the new (VRF2's RT/VPN-SID) attributes and sent to the remote PE.

2.Will VRF copying cause route loops?
I have done corresponding verification to ensure that. That is to say, the routes that can be redistributed from VRF1 to VRF2 can only be received from CE neighbors or static routes, etc., and the routes leaked from VPN cannot be reintroduced into other VRFs.

3.Will using RR between VRFs cause routes to be repeatedly introduced?
First of all, to solve the problem in this scenario, of course, we can follow Donatas Abraitis's suggestion to use a central RR to establish neighbors with all VRFs such as gold-vrf, sliver-vrf, copper-vrf, and VRF0-vrf. However, this function is intended to be implemented by a single PE device to achieve this kind of route copying, and will not increase redundant neighbors for routing interworking under each VRF. Secondly, in real network scenarios, we can use RR to solve routing interworking without using the redistribute VRF function.

4.A similar implementation has been made by corresponding network equipment vendors, please refer to the following link.
Juniper: instance-import
https://www.juniper.net/documentation/us/en/software/junos/static-routing/topics/ref/statement/instance-import-edit-routing-options.html
HUAWEI:import-rib vpn-instance
https://support.huawei.com/enterprise/en/doc/EDOC1100138146/56d24015/configuring-ipv4-route-import-between-vpn-instances

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.

One small performance question ... otherwise this looks good

bgpd/bgp_route.c Show resolved Hide resolved
@riw777
Copy link
Member

riw777 commented Jun 21, 2023

looks like a git problem on ci ... rerunning
ci:rerun

@riw777
Copy link
Member

riw777 commented Jun 21, 2023

lint just seems like spacing for comments ... probably worth fixing if just to keep them from flagging again (?)

@NetDEF-CI
Copy link
Collaborator

NetDEF-CI commented Jun 21, 2023

Continuous Integration Result: FAILED

Continuous Integration Result: FAILED

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

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 i386 part 5: Failed (click for details)

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

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

Topotests Ubuntu 18.04 i386 part 0: Failed (click for details) Topotests Ubuntu 18.04 i386 part 0: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO0U18I386/TopotestDetails/

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

Topology Tests failed for Topotests Ubuntu 18.04 i386 part 0
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO0U18I386/TopotestLogs/log_topotests.txt

Topotests Ubuntu 18.04 arm8 part 0: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 0: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO0U18ARM8/TopotestDetails/

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

Topology Tests failed for Topotests Ubuntu 18.04 arm8 part 0
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO0U18ARM8/TopotestLogs/log_topotests.txt

Topotests Ubuntu 18.04 amd64 part 6: Failed (click for details)

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

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 6
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO6U18AMD64/TopotestLogs/log_topotests.txt
Topotests Ubuntu 18.04 amd64 part 6: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO6U18AMD64/TopotestDetails/

Topotests debian 10 amd64 part 6: Failed (click for details)

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

Topology Tests failed for Topotests debian 10 amd64 part 6
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO6DEB10AMD64/TopotestLogs/log_topotests.txt
Topotests debian 10 amd64 part 6: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO6DEB10AMD64/TopotestDetails/

Topotests Ubuntu 18.04 arm8 part 6: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 6: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO6U18ARM8/TopotestDetails/ Topotests Ubuntu 18.04 arm8 part 6: No useful log found
Topotests Ubuntu 18.04 i386 part 4: Failed (click for details)

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

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

Topotests debian 10 amd64 part 5: Failed (click for details)

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

Topology Tests failed for Topotests debian 10 amd64 part 5
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO5DEB10AMD64/TopotestLogs/log_topotests.txt
Topotests debian 10 amd64 part 5: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO5DEB10AMD64/TopotestDetails/

Topotests debian 10 amd64 part 4: Failed (click for details)

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

Topology Tests failed for Topotests debian 10 amd64 part 4
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO4DEB10AMD64/TopotestLogs/log_topotests.txt
Topotests debian 10 amd64 part 4: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO4DEB10AMD64/TopotestDetails/

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

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

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

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

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

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

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

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

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

Topotests Ubuntu 18.04 amd64 part 0: Failed (click for details)

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

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 0
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPOU1804/TopotestLogs/log_topotests.txt
Topotests Ubuntu 18.04 amd64 part 0: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPOU1804/TopotestDetails/

Topotests debian 10 amd64 part 0: Failed (click for details)

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

Topology Tests failed for Topotests debian 10 amd64 part 0
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO0DEB10AMD64/TopotestLogs/log_topotests.txt
Topotests debian 10 amd64 part 0: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO0DEB10AMD64/TopotestDetails/

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

Warnings Generated during build:

Checkout code: Successful with additional warnings
Topotests Ubuntu 18.04 i386 part 5: Failed (click for details)

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

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

Topotests Ubuntu 18.04 i386 part 0: Failed (click for details) Topotests Ubuntu 18.04 i386 part 0: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO0U18I386/TopotestDetails/

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

Topology Tests failed for Topotests Ubuntu 18.04 i386 part 0
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO0U18I386/TopotestLogs/log_topotests.txt

Topotests Ubuntu 18.04 arm8 part 0: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 0: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO0U18ARM8/TopotestDetails/

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

Topology Tests failed for Topotests Ubuntu 18.04 arm8 part 0
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO0U18ARM8/TopotestLogs/log_topotests.txt

Topotests Ubuntu 18.04 amd64 part 6: Failed (click for details)

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

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 6
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO6U18AMD64/TopotestLogs/log_topotests.txt
Topotests Ubuntu 18.04 amd64 part 6: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO6U18AMD64/TopotestDetails/

Topotests debian 10 amd64 part 6: Failed (click for details)

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

Topology Tests failed for Topotests debian 10 amd64 part 6
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO6DEB10AMD64/TopotestLogs/log_topotests.txt
Topotests debian 10 amd64 part 6: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO6DEB10AMD64/TopotestDetails/

Topotests Ubuntu 18.04 arm8 part 6: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 6: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO6U18ARM8/TopotestDetails/ Topotests Ubuntu 18.04 arm8 part 6: No useful log found
Topotests Ubuntu 18.04 i386 part 4: Failed (click for details)

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

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

Topotests debian 10 amd64 part 5: Failed (click for details)

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

Topology Tests failed for Topotests debian 10 amd64 part 5
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO5DEB10AMD64/TopotestLogs/log_topotests.txt
Topotests debian 10 amd64 part 5: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO5DEB10AMD64/TopotestDetails/

Topotests debian 10 amd64 part 4: Failed (click for details)

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

Topology Tests failed for Topotests debian 10 amd64 part 4
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO4DEB10AMD64/TopotestLogs/log_topotests.txt
Topotests debian 10 amd64 part 4: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO4DEB10AMD64/TopotestDetails/

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

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

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

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

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

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

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

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

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

Topotests Ubuntu 18.04 amd64 part 0: Failed (click for details)

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

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 0
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPOU1804/TopotestLogs/log_topotests.txt
Topotests Ubuntu 18.04 amd64 part 0: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPOU1804/TopotestDetails/

Topotests debian 10 amd64 part 0: Failed (click for details)

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

Topology Tests failed for Topotests debian 10 amd64 part 0
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO0DEB10AMD64/TopotestLogs/log_topotests.txt
Topotests debian 10 amd64 part 0: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO0DEB10AMD64/TopotestDetails/

Topotests Ubuntu 18.04 arm8 part 7: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 7: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12452/artifact/TOPO7U18ARM8/TopotestDetails/ Topotests Ubuntu 18.04 arm8 part 7: No useful log found
<stdin>:820: trailing whitespace.
   Copy all VRF routes from the VRF specified by "VRFNAME" to the current VRF, 
<stdin>:821: trailing whitespace.
   carrying all underlying attributes except for RD and RT. This is different 
<stdin>:822: trailing whitespace.
   from "import vrf VRFNAME" configuration which allows specifying the RD and RT 
<stdin>:823: trailing whitespace.
   for both the source and destination VRFs, and for the routes copied to the 
<stdin>:824: trailing whitespace.
   destination VRF, they can be exported to the VPN using the RD and RT of the 
warning: squelched 8 whitespace errors
warning: 13 lines add whitespace errors.
Report for bgp_mplsvpn.c | 12 issues
===============================================
< WARNING: braces {} are not necessary for single statement blocks
< #2132: FILE: /tmp/f1-1568632/bgp_mplsvpn.c:2132:
< WARNING: braces {} are not necessary for single statement blocks
< #2174: FILE: /tmp/f1-1568632/bgp_mplsvpn.c:2174:
< WARNING: Missing a blank line after declarations
< #2279: FILE: /tmp/f1-1568632/bgp_mplsvpn.c:2279:
< WARNING: Missing a blank line after declarations
< #2308: FILE: /tmp/f1-1568632/bgp_mplsvpn.c:2308:
< WARNING: braces {} are not necessary for single statement blocks
< #2318: FILE: /tmp/f1-1568632/bgp_mplsvpn.c:2318:
< WARNING: Comparisons should place the constant on the right side of the test
< #2553: FILE: /tmp/f1-1568632/bgp_mplsvpn.c:2553:
Report for bgp_mplsvpn.h | 4 issues
===============================================
< WARNING: Missing a blank line after declarations
< #332: FILE: /tmp/f1-1568632/bgp_mplsvpn.h:332:
< WARNING: Missing a blank line after declarations
< #335: FILE: /tmp/f1-1568632/bgp_mplsvpn.h:335:
Report for bgp_route.c | 52 issues
===============================================
< WARNING: Missing a blank line after declarations
< #4729: FILE: /tmp/f1-1568632/bgp_route.c:4729:
< WARNING: Comparisons should place the constant on the right side of the test
< #4740: FILE: /tmp/f1-1568632/bgp_route.c:4740:
< WARNING: Missing a blank line after declarations
< #4905: FILE: /tmp/f1-1568632/bgp_route.c:4905:
< WARNING: Comparisons should place the constant on the right side of the test
< #4914: FILE: /tmp/f1-1568632/bgp_route.c:4914:
< WARNING: Comparisons should place the constant on the right side of the test
< #5079: FILE: /tmp/f1-1568632/bgp_route.c:5079:
< WARNING: Missing a blank line after declarations
< #5084: FILE: /tmp/f1-1568632/bgp_route.c:5084:
< WARNING: Comparisons should place the constant on the right side of the test
< #5533: FILE: /tmp/f1-1568632/bgp_route.c:5533:
< WARNING: Missing a blank line after declarations
< #5538: FILE: /tmp/f1-1568632/bgp_route.c:5538:
< WARNING: Comparisons should place the constant on the right side of the test
< #5845: FILE: /tmp/f1-1568632/bgp_route.c:5845:
< WARNING: Missing a blank line after declarations
< #5851: FILE: /tmp/f1-1568632/bgp_route.c:5851:
< WARNING: line over 80 characters
< #5853: FILE: /tmp/f1-1568632/bgp_route.c:5853:
< WARNING: Too many leading tabs - consider code refactoring
< #5857: FILE: /tmp/f1-1568632/bgp_route.c:5857:
< WARNING: line over 80 characters
< #5858: FILE: /tmp/f1-1568632/bgp_route.c:5858:
< WARNING: Missing a blank line after declarations
< #6417: FILE: /tmp/f1-1568632/bgp_route.c:6417:
< WARNING: Comparisons should place the constant on the right side of the test
< #6477: FILE: /tmp/f1-1568632/bgp_route.c:6477:
< WARNING: Missing a blank line after declarations
< #6486: FILE: /tmp/f1-1568632/bgp_route.c:6486:
< WARNING: Comparisons should place the constant on the right side of the test
< #6515: FILE: /tmp/f1-1568632/bgp_route.c:6515:
< WARNING: Missing a blank line after declarations
< #6525: FILE: /tmp/f1-1568632/bgp_route.c:6525:
< WARNING: Comparisons should place the constant on the right side of the test
< #6569: FILE: /tmp/f1-1568632/bgp_route.c:6569:
< WARNING: Missing a blank line after declarations
< #8942: FILE: /tmp/f1-1568632/bgp_route.c:8942:
< WARNING: line over 80 characters
< #8944: FILE: /tmp/f1-1568632/bgp_route.c:8944:
< WARNING: Too many leading tabs - consider code refactoring
< #8948: FILE: /tmp/f1-1568632/bgp_route.c:8948:
< WARNING: line over 80 characters
< #8949: FILE: /tmp/f1-1568632/bgp_route.c:8949:
< WARNING: Missing a blank line after declarations
< #8977: FILE: /tmp/f1-1568632/bgp_route.c:8977:
< WARNING: Missing a blank line after declarations
< #9022: FILE: /tmp/f1-1568632/bgp_route.c:9022:
< WARNING: Missing a blank line after declarations
< #9067: FILE: /tmp/f1-1568632/bgp_route.c:9067:
Report for bgp_vty.c | 6 issues
===============================================
< WARNING: Comparisons should place the constant on the right side of the test
< #9969: FILE: /tmp/f1-1568632/bgp_vty.c:9969:
< WARNING: line over 80 characters
< #10002: FILE: /tmp/f1-1568632/bgp_vty.c:10002:
< WARNING: Comparisons should place the constant on the right side of the test
< #10052: FILE: /tmp/f1-1568632/bgp_vty.c:10052:

    Example configuration:
        router bgp 100 vrf vrf-1
         address-family ipv4 unicast
          rd vpn export 1:1
          rt vpn both 1:1
          export vpn
          import vpn
          redistribute vrf vrf-2
         exit-address-family
         !
        !
        router bgp 100 vrf vrf-2
         neighbor 2.2.2.2 remote-as 1
         address-family ipv4 unicast
          rd vpn export 2:2
          rt vpn both 2:2
          neighbor 2.2.2.2 activate
         exit-address-family
         !
        !
    BGP routes learned from the neighbor 2.2.2.2 under VRF-1 can be directly copied to the BGP under VRF-1 without carrying the RD and RT attributes of VRF-1.
    After being copied to VRF-1, the routes will be sent to VPN with the RD 1:1 and RT 1:1 attributes, forming BGP-VPN routes.

Signed-off-by: Jack.Zhang <hanyu.zly@alibaba-inc.com>
@github-actions github-actions bot added the rebase PR needs rebase label Jun 26, 2023
@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: FAILED

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

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 amd64 part 6: Failed (click for details)

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

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 6
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO6U18AMD64/TopotestLogs/log_topotests.txt
Topotests Ubuntu 18.04 amd64 part 6: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO6U18AMD64/TopotestDetails/

Topotests debian 10 amd64 part 4: Failed (click for details)

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

Topology Tests failed for Topotests debian 10 amd64 part 4
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO4DEB10AMD64/TopotestLogs/log_topotests.txt
Topotests debian 10 amd64 part 4: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO4DEB10AMD64/TopotestDetails/

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

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

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

Topotests Ubuntu 18.04 arm8 part 0: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 0: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO0U18ARM8/TopotestDetails/

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

Topology Tests failed for Topotests Ubuntu 18.04 arm8 part 0
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO0U18ARM8/TopotestLogs/log_topotests.txt

Topotests debian 10 amd64 part 0: Failed (click for details)

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

Topology Tests failed for Topotests debian 10 amd64 part 0
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO0DEB10AMD64/TopotestLogs/log_topotests.txt
Topotests debian 10 amd64 part 0: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO0DEB10AMD64/TopotestDetails/

Topotests Ubuntu 18.04 amd64 part 9: Failed (click for details)

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

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 9
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO9U18AMD64/TopotestLogs/log_topotests.txt
Topotests Ubuntu 18.04 amd64 part 9: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO9U18AMD64/TopotestDetails/

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

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

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

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

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

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

Topotests Ubuntu 18.04 arm8 part 6: Failed (click for details) Topotests Ubuntu 18.04 arm8 part 6: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO6U18ARM8/TopotestDetails/ Topotests Ubuntu 18.04 arm8 part 6: No useful log found
Topotests Ubuntu 18.04 amd64 part 0: Failed (click for details)

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

Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 0
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPOU1804/TopotestLogs/log_topotests.txt
Topotests Ubuntu 18.04 amd64 part 0: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPOU1804/TopotestDetails/

Topotests debian 10 amd64 part 6: Failed (click for details)

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

Topology Tests failed for Topotests debian 10 amd64 part 6
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO6DEB10AMD64/TopotestLogs/log_topotests.txt
Topotests debian 10 amd64 part 6: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO6DEB10AMD64/TopotestDetails/

Topotests Ubuntu 18.04 i386 part 0: Failed (click for details) Topotests Ubuntu 18.04 i386 part 0: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO0U18I386/TopotestDetails/

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

Topology Tests failed for Topotests Ubuntu 18.04 i386 part 0
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO0U18I386/TopotestLogs/log_topotests.txt

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

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

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

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

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

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

Topotests debian 10 amd64 part 5: Failed (click for details)

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

Topology Tests failed for Topotests debian 10 amd64 part 5
see full log at https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO5DEB10AMD64/TopotestLogs/log_topotests.txt
Topotests debian 10 amd64 part 5: Unknown Log
URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12539/artifact/TOPO5DEB10AMD64/TopotestDetails/

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

@github-actions
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@riw777
Copy link
Member

riw777 commented Sep 12, 2023

is anyone still working on this?

@zice312963205
Copy link
Contributor Author

is anyone still working on this?

Yes, I will rebase for this branch ,fix ci test and push again.
Sorry for late update.

@zice312963205 zice312963205 closed this by deleting the head repository Dec 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants