Address on SNAT port won't be advertised by BGP speaker
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Invalid
|
Undecided
|
Unassigned | ||
neutron-dynamic-routing (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
ENV:
Zed
FYI:
1. All IP addresses mentioned are all in the same scope
2. The IP addresses are only examples, this bug is not related to any specific IP addresses range.
Description:
1. When a DVR floating IP associate to a VM, the BGP will advertise the FIP to Provider router successfully,
2. But when using private IP addresses for VM and FIP for SNAT forwarding port, the FIP, on that DVR port with forwarding rules, won't be advertised by BGP.
e.g, DVR port with floating IP 123.0.0.20/24 and rule (internal_ip 10.10.10.10, internal_port 5555, external_port 64000), and assign a private IP (10.10.10.10/24) to a VM. The floating IP 123.0.0.20 won’t be advertised through BGP.
Additons:
1. This is a basic DVR + Floating IP + BGP dynamic routing environment, plus, testing with shared IP.
2. The port_forwardings rule makes the port act like a SNAT role and forward any packets that reach it with destination 123.0.0.20:64000 to the private IP 10.10.10.10/24.
3. The IP address could be reached in the neutron network.
4. PE IP address, CE IP address, and floating IP gateway are using the same subnet A and subnet pool (192.168.123.0/24), while floating IP belongs to subnet B and subnet pool (123.0.0.0/24), both subnets belong to the provider network.
5. Only floating IP that assigned to the VM will be advertised to PE through BGP
6. Floating IP that is assigned to DVR port won’t be advertised, even if the IP is activated and is reachable internally.
Changed in neutron: | |
status: | New → Invalid |
Changed in neutron-dynamic-routing (Ubuntu): | |
status: | New → Incomplete |
Changed in neutron-dynamic-routing (Ubuntu): | |
status: | Incomplete → New |
port-forwarding is L4, while BGP is L3, there is no way to transmit port information with it, so this doesn't make any sense to me.