Op 22/05/2024 om 14:55 schreef Alex Mattioli:
Thanks for the input Wido,

That said, you could also opt that you can specify BGP peers are zone level and 
override them at network level if one prefers. Nothing specified at >the network? 
The zone-level peers are used. If you do >specify them at the network level those 
are used. Again, think about multihop.


Have you thought about the AS number pool? This pool could be assigned to a network. All networks can point to the same AS number pool or have multiple pools where you might make different choices.

On the network level this allows you to create specific BGP filters based on the AS number. When these are in fixed 'blocks' you can create better filters.

That's exactly what I had in mind, the same way we set DNS for the zone but can 
specify at network level as well. This way we keep self-service intact for when 
end-users simply want a routed network that peers with whatever the provider 
has setup upstream but also give the ability to either peer with an user 
managed VNF upstream or an operator provided router.

I hope this way we can cater for most use cases, at least with a first simple 
implementation.

Will definitely keep multihop in mind.

+ BGP password. This would solve most use-cases from the start:

- BGP peer on zone level
  - override on network level
- AS number pool
  - networks refer to this pool
- BGP multihop enabled yes or no
  - zone level
  - network level override
- BGP password

Wido


Cheers,
Alex



-----Original Message-----
From: Wido den Hollander <w...@widodh.nl>
Sent: Monday, May 20, 2024 8:22 PM
To: d...@cloudstack.apache.org; Alex Mattioli <alex.matti...@shapeblue.com>; 
users@cloudstack.apache.org; adietr...@ussignal.com
Subject: Re: Dynamic routing for routed mode IPv6 and IPv4 Isolated and VPC 
networks



Op 20/05/2024 om 14:45 schreef Alex Mattioli:
Hi Alex,

In this scenario:

I think adding the ability to add network specific peers as mentioned in one of 
>your prior replies would still allow the level of control some operators (myself 
>included) may desire.

How do you propose network specific peers to be implemented?


I do agree with Alex (Dietrich) that I think BGP peers should be configured per 
network. There is no guarantee that every VLAN/VNI
(VXLAN) ends up at the same pair of routers. Technically there is also no need 
to do so.

Let's say I have two VNI (VXLAN):

VNI 500:
Router 1: 192.168.153.1 / 2001:db8::153:1 Router 2: 192.168.153.2 / 
2001:db8::153:2

VNI 600:
Router 1: 192.168.155.1 / 2001:db8::155:1 Router 2: 192.168.155.2 / 
2001:db8::155:2

In these case you would say that the upstream BGP peers are .153.1/2,
.155.1/2 (and their IPv6 addresses). No need for BGP multihop.

Talking about multihop, I would make that optional, people might want to have 
two central BGP routers where each VR peers with (multihop) and those routers 
distribute the routes into the network again.

Per network you create you also provide the ASN range, but even better would be 
to refer to a pool. You can use one pool for your zone by referencing every 
network to the same pool are simply use multiple pools if your network requires 
so.

That said, you could also opt that you can specify BGP peers are peer level and 
override them at network level if one prefers. Nothing specified at the 
network? The zone-level peers are used. If you do specify them at the network 
level those are used. Again, think about multihop.

Wido

Regards
Alex



-----Original Message-----
From: Dietrich, Alex <adietr...@ussignal.com.INVALID>
Sent: Monday, May 20, 2024 2:21 PM
To: users@cloudstack.apache.org; d...@cloudstack.apache.org
Subject: Re: Dynamic routing for routed mode IPv6 and IPv4 Isolated
and VPC networks

Hi Alex,

This may be a difference in perspective in implementation of BGP at the tenant 
level. I see the ability this would provide to seamlessly establishing those 
peering relationships with minimal intervention (helping scalability).

I think adding the ability to add network specific peers as mentioned in one of 
your prior replies would still allow the level of control some operators 
(myself included) may desire.

Thanks,
Alex

[photo]<http://www.ussignal.com/>

Alex Dietrich
Senior Network Engineer, US Signal

616-233-5094<tel:616-233-5094>  |
www.ussignal.com<https://www.ussignal.com>  |
adietr...@ussignal.com<mailto:adietr...@ussignal.com>

201 Ionia Ave SW, Grand Rapids, MI
49503<https://maps.google.com/?q=201%20Ionia%20Ave%20SW,%20Grand%20Rap
ids,%20MI%2049503>

[linkedin]<https://www.linkedin.com/company/us-signal/>

[facebook]<https://www.facebook.com/ussignalcom/>

[youtube]<https://www.youtube.com/channel/UCaFBGFfXmHziWGTFqjGzaWw>

IMPORTANT: The contents of this email are confidential. Information is intended 
for the named recipient(s) only. If you have received this email by mistake, 
please notify the sender immediately and do not disclose the contents to anyone 
or make copies thereof.

[__tpx__]
From: Alex Mattioli <alex.matti...@shapeblue.com>
Date: Monday, May 20, 2024 at 7:51 AM
To: users@cloudstack.apache.org <users@cloudstack.apache.org>,
d...@cloudstack.apache.org <d...@cloudstack.apache.org>
Subject: RE: Dynamic routing for routed mode IPv6 and IPv4 Isolated
and VPC networks EXTERNAL

Hi Alex,

I am not convinced that specifying BGP peers at the zone level is a good idea 
given the impacts BGP can have on a given network. I would much rather see both 
peer and AS specification handled at the >network configuration, or another 
more specific level.

I don't see how else end users would be able to automatically create routed 
networks without intervention from the operator.


Cheers
Alex




-----Original Message-----
From: Dietrich, Alex <adietr...@ussignal.com.INVALID>
Sent: Thursday, May 16, 2024 2:23 PM
To: users@cloudstack.apache.org; d...@cloudstack.apache.org
Subject: Re: Dynamic routing for routed mode IPv6 and IPv4 Isolated
and VPC networks

Hello Alex,

I appreciate this back and forth as I am excited about the potential this 
feature would hold.


    *   This is a very valid point.  We could add network specific BGP peers as 
well, which would override the automatic AS allocation, in the same way that we 
now allocate DNS servers in the zone level but can override that by manually 
selecting different DNS servers at network creation time.  Would that address 
your point?

Why does the network specific BGP peers need to override automatic AS 
allocation? In my mind there isn’t a dependency that needs to exist to those 
two as they are somewhat independent of one another.

I am not convinced that specifying BGP peers at the zone level is a good idea 
given the impacts BGP can have on a given network. I would much rather see both 
peer and AS specification handled at the network configuration, or another more 
specific level.

Thanks,
Alex

From: Alex Mattioli <alex.matti...@shapeblue.com>
Date: Wednesday, May 15, 2024 at 10:15 AM
To: users@cloudstack.apache.org <users@cloudstack.apache.org>,
d...@cloudstack.apache.org <d...@cloudstack.apache.org>
Subject: RE: Dynamic routing for routed mode IPv6 and IPv4 Isolated
and VPC networks EXTERNAL

Hi Alex,

Would zone-level BGP peers be those used by default for establishing new BGP 
peers in networks where dynamic routing is enabled?

Correct, so far we plan to allow for up to 4 BGP peers for a zone, with the 
possibility to setup different metrics to each peer.

This could affect a multi-tenant model where there may be different BGP peers 
presented based on what the upstream network provides. An example of >this 
would be where the VLANs associated to a given account are associated to distinct 
VRFs and may have different peering IP addresses.
I would like to see the peering IP addresses specific to the networks where 
dynamic routing is enabled instead of specifying defaults at the zone level.


This is a very valid point.  We could add network specific BGP peers as well, 
which would override the automatic AS allocation, in the same way that we now 
allocate DNS servers in the zone level but can override that by manually 
selecting different DNS servers at network creation time.  Would that address 
your point?

Cheers,
Alex




-----Original Message-----
From: Dietrich, Alex <adietr...@ussignal.com.INVALID>
Sent: Wednesday, May 15, 2024 2:34 PM
To: users@cloudstack.apache.org; d...@cloudstack.apache.org
Subject: Re: Dynamic routing for routed mode IPv6 and IPv4 Isolated
and VPC networks

Hi Alex,

I appreciate the clarity!

Excuse my ignorance if I am misunderstanding the intention of specifying BGP 
peers at the zone level.

Would zone-level BGP peers be those used by default for establishing new BGP 
peers in networks where dynamic routing is enabled?

This could affect a multi-tenant model where there may be different BGP peers 
presented based on what the upstream network provides. An example of this would 
be where the VLANs associated to a given account are associated to distinct 
VRFs and may have different peering IP addresses.

I would like to see the peering IP addresses specific to the networks where 
dynamic routing is enabled instead of specifying defaults at the zone level.


    *   Alex

[__tpx__]
From: Alex Mattioli <alex.matti...@shapeblue.com>
Date: Wednesday, May 15, 2024 at 9:27 AM
To: users@cloudstack.apache.org <users@cloudstack.apache.org>,
d...@cloudstack.apache.org <d...@cloudstack.apache.org>
Subject: RE: Dynamic routing for routed mode IPv6 and IPv4 Isolated
and VPC networks EXTERNAL

Hi Alex,

Answers inline below with >

Cheers




-----Original Message-----
From: Dietrich, Alex <adietr...@ussignal.com.INVALID>
Sent: Wednesday, May 15, 2024 3:12 PM
To: users@cloudstack.apache.org; d...@cloudstack.apache.org
Subject: Re: Dynamic routing for routed mode IPv6 and IPv4 Isolated
and VPC networks

Hello Alex,

I appreciate you taking on this initiative as I’d like to see similar 
functionality made available in CloudStack.

I do have some feedback on your implementation approach:

1 - Operator configures one or more BGP peers for a given Zone (with
different metrics)

What is the intention behind specifying BGP peers at the zone level? I would 
think this would need to be specific to the network that you want to enable BGP 
on and does not need to concern the entire zone.

The goal is for the process to be drive by the end user without operator 
intervention. In the current design we'd enable the VR to share routes with 
upstream routers without any need for extra configuration on the part of the 
operator.
Your point is very valid and it should definitely be a future enhancement on 
the feature.

2 - Operator presents a pool of Private AS numbers to the Zone (just
like we do for VLANs)

As a private AS consumer, I agree that this approach would be helpful for a 
more dynamic allocation as new dynamic routing enabled networks are created.

Glad we are in the same page there.

3 - When a network is created with an offering which has dynamic
routing enabled an AS number is allocated to the network

4 - ACS configures the BGP session on the VR (using FRR), advertising
all its connected networks

Given there is a lot of extensibility within BGP, I would think there would 
need to be some level of customizability to the peering configurations. Is the 
intention to consider adding additional knobs, or relegating that to the 
upstream BGP peer? I could see scenarios where you would at least want to have 
control over prefix lengths, etc.

Absolutely, but I think this should be a future enhancement, the current goal is 
to have a very simple and basic dynamic BGP implementation working, after that's 
out there and in use then we definitely should discuss how to enhance the 
>feature with exactly what you pointed out.


Thanks,
Alex Dietrich


[__tpx__]
From: Alex Mattioli <alex.matti...@shapeblue.com>
Date: Wednesday, May 15, 2024 at 8:55 AM
To: users@cloudstack.apache.org <users@cloudstack.apache.org>,
d...@cloudstack.apache.org <d...@cloudstack.apache.org>
Subject: RE: Dynamic routing for routed mode IPv6 and IPv4 Isolated
and VPC networks EXTERNAL

Hi all,

Does anyone have an opinion on the implementation of dynamic routing in 
Isolated networks and VPCs?

So far the design is:

1 - Operator configures one or more BGP peers for a given Zone (with
different metrics)
2 - Operator presents a pool of Private AS numbers to the Zone (just
like we do for VLANs)
3 - When a network is created with an offering which has dynamic
routing enabled an AS number is allocated to the network
4 - ACS configures the BGP session on the VR (using FRR), advertising
all its connected networks

Any and all input will be very welcome.

Cheers,
Alex




From: Alex Mattioli
Sent: Wednesday, April 17, 2024 3:25 AM
To: users@cloudstack.apache.org; d...@cloudstack.apache.org
Subject: Dynamic routing for routed mode IPv6 and IPv4 Isolated and
VPC networks

Hi all,

I'd like to brainstorm dynamic routing in ACS (yes, again... for the
newcomers to this mailing list - this has been discussed multiple
times in the past 10+ years)

ACS 4.17 has introduced routed mode for IPv6 in Isolated networks and VPCs, we are currently working on 
extending that to IPv4 as well, which will support the current NAT'ed mode and also a routed mode 
(inspired by the NSX integration 
https://urldefense.com/v3/__https://www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$<https://urldefense.com/v3/__https:/www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$><https://urldefense.com/v3/__https:/www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$%3chttps://urldefense.com/v3/__https:/www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$%3e><https://urldefense.com/v3/__https:/www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$%3chttps://urldefense.com/v3/__https:/www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$%3e%3chttps://urldefense.com/v3/__https:/www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$%3chttps://urldefense.com/v3/__https:/www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$%3e%3e><https://urldefense.com/v3/__https:/www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$%3chttps://urldefense.com/v3/__https:/www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$%3e%3chttps://urldefense.com/v3/__https:/www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$%3chttps://urldefense.com/v3/__https:/www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$%3e%3e%3chttps://urldefense.com/v3/__https:/www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$%3chttps://urldefense.com/v3/__https:/www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$%3e%3chttps://urldefense.com/v3/__https:/www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$%3chttps://urldefense.com/v3/__https:/www.youtube.com/watch?v=f7ao-vv7Ahk__;!!P9cq_d3Gyw!gRe7Js-1plXE8vRRc_mJQIri5T4-Z1zOFVmqEwmHGE_AGkN6P6BU5T8nq0WL4Fx0MTwP0p-ucEL6DjwFzB7TaoBNnS4$%3e%3e%3e>
 ).

With stock ACS (i.e. without NSX or OpenSDN) this routing is purely static, with the 
operator being responsible to add static routes to the Isolated network or VPC tiers via 
the "public" (outside) IP of the virtual router.

The next step on this journey is to add some kind of dynamic routing. One way 
that I have in mind is using dynamic BGP:

1 - Operator configures one or more BGP peers for a given Zone (with
different metrics)
2 - Operator presents a pool of Private AS numbers to the Zone (just
like we do for VLANs)
3 - When a network is created with an offering which has dynamic
routing enabled an AS number is allocated
4 - ACS configures the BGP session on the VR, advertising all its
connected networks

This way there's no need to reconfigure the upstream router for each
new ACS network (it just needs to allow dynamic BGP peering from the
pool of AS numbers presented to the zone)

This implementation could also be used for Shared Networks, in which case the 
destination advertised via BGP is to the gateway of the shared network.

There could also be an offering where we allow for end users to setup the BGP 
parameters for their Isolated or VPC networks, which can then peer with 
upstream VNF(s).

Any and all input is very welcome...

Taking the liberty to tag some of you: @Wei
Zhou<mailto:wei.z...@shapeblue.com> @Wido den
Hollander<mailto:w...@widodh.nl> @Kristaps
Čudars<mailto:kristaps.cud...@telia.lv>

Cheers,
Alex

Reply via email to