Commit Graph

312 Commits

Author SHA1 Message Date
Alexandre Derumier
916488ccca controllers: evpn: fix multiple exit-nodes with route-map filtering
Currently, when multiple exit-nodes are defined, each exit-nodes exchanges
their own default route, so traffic is looping between both exit nodes
instead going out.

This add a new route-map to filter received type-5 on exit node

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-04-27 10:31:30 +02:00
Alexandre Derumier
824252f691 zones: add del_bridge_fdb
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-03-16 16:38:09 +01:00
Alexandre Derumier
fef63d88ab zones: add add_bridge_fdb
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-03-16 16:38:09 +01:00
Alexandre Derumier
56a9e2b3f3 zones : tap_plug: add support for disable bridge learning
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-03-16 16:38:09 +01:00
Alexandre Derumier
afc906a4dc vnets: fix get_vnet
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-03-16 16:38:09 +01:00
Alexandre Derumier
9c24bcc5eb controllers: evpn : use frr restart if reload fail
frr reload is not 100% perfect, and sometime is not able to
apply correctly changes.

Use restart in this case to be sure to have the correct config.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-02-24 13:39:53 +01:00
Thomas Lamprecht
c5582ba30e buildsys: change upload dist to bullseye
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-02-14 08:07:46 +01:00
Thomas Lamprecht
b86302e314 bump version to 0.7.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-02-13 15:04:54 +01:00
Alexandre Derumier
9c7dded6e3 controllers: evpn : remove ip forwarding, ipv6 forwarding and add frr version
Forwarding is enabled by default since frr 7.4
also add frr version && reorder some options to avoid warning message on frr reload

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-02-13 14:23:36 +01:00
Alexandre Derumier
3a46bcb1ce controllers: bgp : remove bgp network import-check
already enabled since frr 7.4

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-02-13 14:23:36 +01:00
Alexandre Derumier
57e463046e controllers: evpn : remove "no bgp ebgp-requires-policy"
It's already disabled in the default datacenter profile since frr 7.4

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-02-13 14:23:36 +01:00
Alexandre Derumier
96794fd6ce zones: evpn : add rt-import
Allow to import external route target list from external evpn network
(main usecase is DC inter-connect)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-02-13 14:23:36 +01:00
Alexandre Derumier
f34a898e01 controllers: evpn: add missing bgp router-id in vrf
evpn route distinguisher is compute from bgp router-id.
if not defined, it take random ip or 0.0.0.0 and could result collisions between hosts

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-02-13 14:23:36 +01:00
Alexandre Derumier
847f514452 controllers: evpn/bgp : add exitnodes-primary && rework route-map
exitnodes-primary option force traffic to a primary node
A route-map is used to increase metric on backup nodes.
This can be usefull for snat or avoid asymetric routing.

Route-map is rework to handle multiple sequences of route map.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-02-13 14:23:36 +01:00
Alexandre Derumier
9e6b99fd8c controllers: evpn : add min/max value to asn
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-02-13 14:23:36 +01:00
Alexandre Derumier
1262519c3d controllers: bgp: add bgp-multipath-as-path-relax option
Some users need it to do ecmp when peering with 2 differents asn

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-02-13 14:23:36 +01:00
Alexandre Derumier
bbf4e4b17b controllers: bgp: use loopback ip src for loopback network
can be usefull if we want to join other loopback ips,
like a ceph cluster in the underlay network

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-02-13 14:23:36 +01:00
Alexandre Derumier
1608c16598 zones: status : skip node if node don't have the zone
reported by forum user:
https://forum.proxmox.com/threads/proxmox-sdn-incorrect-node-deployment.99834/

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2022-02-13 14:23:36 +01:00
Thomas Lamprecht
f81ad67fc9 controllers: allow minus and underscore in IDs again
commit 7c5b0f6 not only reduced the possible length but also the
accepted character set, revert the latter partially again and allow
using minus and underscore for characters not being the start or end.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-02-01 11:21:07 +01:00
Thomas Lamprecht
3f557f268d controllers: indentation fixes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-02-01 11:18:06 +01:00
Thomas Lamprecht
ea5187a424 bump version to 0.6.2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-11-12 19:34:24 +01:00
Alexandre Derumier
96b298d520 vnets: alias: fix regex 2021-11-09 19:00:06 +01:00
Alexandre Derumier
b1a5c31e8f zones: evpn: add disable-arp-nd-suppression option
arp-nd-suppression can break ip mobility,
when an ip from a vm is moved to another vm, with different mac.
For example, with a keepalived vip, the garp is filtered.
2021-11-09 19:00:06 +01:00
Alexandre Derumier
12206ae544 api2: zones: fix update 2021-11-09 19:00:06 +01:00
Alexandre Derumier
83dcfd5733 vnet/subnet : add skipdns option
allow to register ip to ipam without dns registration.
can be used for temp/pending ip for example
2021-11-09 19:00:06 +01:00
Alexandre Derumier
78d58f66fd vnet : alias : check pattern
fix : https://bugzilla.proxmox.com/show_bug.cgi?id=2966
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2021-08-24 14:25:02 +02:00
Alexandre Derumier
3d135423cc evpn: add exitnodes-local-routing
This option allow an exit-node to reach itself a guest in evpn network.

Forum user have requested it, the exitnode need to reach virtual dns server in evpn.

This use a veth-pair instead a simple leak.
It's not enable by default is slowing down a little bit the routing.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2021-08-24 14:25:02 +02:00
Alexandre Derumier
92d8effb6e evpn : add advertise-subnets option
allow to advertise type5 routes for evpn subnets, if vms are silents hosts.
(don't do any traffic, so anycast gateway don't have their mac-ip)

fix: https://bugzilla.proxmox.com/show_bug.cgi?id=3571
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2021-08-24 14:25:02 +02:00
Alexandre Derumier
110b881d49 evpn : add "ip route del vrf vrf_myzone unreachable default metric 4278198272" on exit node
This is breaking routing between the evpn vrf && default vrf leak  on exit node only

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2021-08-24 14:25:02 +02:00
Thomas Lamprecht
8591dacbff Revert "evpn : remove "ip route add vrf vrf_myzone unreachable default metric 4278198272" on exit node"
replaced by another series
https://lists.proxmox.com/pipermail/pve-devel/2021-August/049771.html

This reverts commit 95e2f20f5c.
2021-08-24 14:23:53 +02:00
Alexandre Derumier
bb95abb0af get_local_vnets: add permissions on /sdn/vnets/*
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2021-08-23 18:19:48 +02:00
Alexandre Derumier
95e2f20f5c evpn : remove "ip route add vrf vrf_myzone unreachable default metric 4278198272" on exit node
This is breaking routing between the evpn vrf && default vrf leak  on exit node only

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2021-07-21 09:38:13 +02:00
Thomas Lamprecht
6949fc0152 bump version to 0.6.1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-05 19:07:55 +02:00
Alexandre Derumier
34c4c6d74f subnets/ipam : fix is_gateway
- add lost is_gateway in subnets subnet when creating subnet
- allow reuse ip as gateway in subnet create if it's already flagged gateway in the ipamdb
- add tests
2021-06-18 18:29:15 +02:00
Alexandre Derumier
9f1e793423 vnets: subroutines: return if !$vnetid 2021-06-18 18:29:15 +02:00
Alexandre Derumier
3c0fc96d9c add vnets test + ipam fixes
- add vnets tests with multiple subnets
- fix pve ipam ipv6 with next_free_ip (ipv6 don't have network && broadcast address)
- fix vnet next_free_ip with no ipam
2021-06-18 18:29:15 +02:00
Alexandre Derumier
3d8799db81 sdn: get_local_vnets : add ipam && vlanaware values
to be able to use them in ui bridgeselector
2021-06-18 18:29:15 +02:00
Thomas Lamprecht
c72266faee bump version to 0.6.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-10 10:45:56 +02:00
Thomas Lamprecht
4686176d29 d/source: switch to native versioning
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-10 10:45:53 +02:00
Alexandre Derumier
bdec70894d zones: simple|evpn : only enable ip-forward if gateway is defined on the subnet
or ifquery report an error
2021-05-10 09:38:14 +02:00
Alexandre Derumier
d6557a2dcd subnets: fix add|del subnets withtout ipam 2021-05-10 09:37:16 +02:00
Alexandre Derumier
bf8761e9fa subnets: tests: add noipam test 2021-05-10 09:37:16 +02:00
Thomas Lamprecht
7f50761859 api: zones: code/indentation/format cleanups
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-05 12:16:26 +02:00
Alexandre Derumier
690d3f7d4f api2: zone: check ipam change if no ipam was defined before too
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2021-05-05 12:07:47 +02:00
Thomas Lamprecht
26dedb18bc qinq: code cleanup and whitespace/indendation fixes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-05 08:25:49 +02:00
Alexandre Derumier
403b05e2c1 zone: qinq: add vnet without tag support
some user want to be able to define a vnet without vlan,
so at qinq zone level, to be able to see traffic from others vnets of this
qinq zone.
Some example of usage is a inter-vnet firewall/gateway vm.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2021-05-05 07:39:05 +02:00
Thomas Lamprecht
90c150b25b d/control: fix description
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-05 07:20:14 +02:00
Alexandre Derumier
de795a53d0 zones: qinq: vlanaware bridge: add tests with multiple vnets/zones
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2021-04-29 13:29:07 +02:00
Alexandre Derumier
2fa5d39288 zones: qinq: classic bridge: fix bridge zone name with multiple zones/vnets
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2021-04-29 13:29:07 +02:00
Alexandre Derumier
d8c88170fd zones: qinq: ovs: fix duplicate ovs_ports with multiple zones/vnets
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2021-04-29 13:29:07 +02:00