Commit Graph

332 Commits

Author SHA1 Message Date
Alexandre Derumier
2ba9613ba1 add get_bridge_vlan
return correct bridge/vlan from sdn for tap/veth create/plug
2020-02-11 19:03:38 +01:00
Alexandre Derumier
823f2e2ac6 move mtu properties to zone 2020-02-11 19:03:38 +01:00
Alexandre Derumier
f84d09f217 api2: fix vnet status 2020-02-11 19:03:38 +01:00
Alexandre Derumier
5843318678 qinq plugin :add status
like vlanplugin, vnets are now virtual
2020-02-11 19:03:38 +01:00
Alexandre Derumier
6ed053c190 vlanplugin: add status
we use vlan-aware, so vnets status need to be done on main bridge status
2020-02-11 19:03:38 +01:00
Alexandre Derumier
627b1694f2 move status code to zone plugin 2020-02-11 19:03:38 +01:00
Alexandre Derumier
938ebef7bd vlan/qinq: use bridge option instead uplink-id 2020-02-11 19:03:38 +01:00
Alexandre Derumier
3834801f5d API2: Vnets: fix update
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-01-21 07:50:55 +01:00
Thomas Lamprecht
cdf2c8194b evpn: use file_{g,s}et_contents and import run_command
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-16 11:16:51 +01:00
Thomas Lamprecht
92526f0e48 evpn: indentation, whitespace cleanup and code refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-16 11:16:51 +01:00
Alexandre Derumier
c7bb4ac53a controller : evpn : only allow 1 evpn controller
we can only have 1 bgp router on a server

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-01-16 10:47:28 +01:00
Alexandre Derumier
0d1ab7dc80 evpn: add support for local frr.config
For users with complex setup (underlay ebgp for example),
allow user to add a /etc/frr/frr.conf.local

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-01-16 10:47:28 +01:00
Alexandre Derumier
f3883c703f vlan/qinq: use vlan-raw-device to support long predictable interfaces name
users have reported in the forum some crazy long interfaces names
like "enp0s20f0u8u2c2".
So they are no space for create a "enp0s20f0u8u2c2.vlan".

changelog V2:

small fix with reclared ifaces_variable

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-01-11 16:07:04 +01:00
Thomas Lamprecht
b2d8305677 grammar fix: s/does not exists/does not exist/g
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-12-13 12:10:15 +01:00
Thomas Lamprecht
cc211ddb2f bump version to 0.3-3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-12-02 09:51:07 +01:00
Alexandre Derumier
45c3f15ce9 create /etc/pve/sdn directory
like for /etc/pve/ha, create it in api create

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-29 08:40:24 +01:00
Alexandre Derumier
1f543c5f3c move find_local_ip_interface sub helper to zone plugin
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-28 14:15:25 +01:00
Alexandre Derumier
3794e42972 zones: vlan|qinq: add get_uplink_iface sub
also check that interface is eth or bond

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-28 14:15:25 +01:00
Alexandre Derumier
ba7ac021b5 zones: vxlan : remove uplink-id and multicast
only unicast for now, as multicast is not too much used currently.

remove uplink-id like for evpn

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-28 14:15:25 +01:00
Alexandre Derumier
4405f2ded1 evpn: remove uplink-id
instead, auto find interfaces

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-28 14:15:25 +01:00
Thomas Lamprecht
0b67e1c2bb bump version to 0.3-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-26 12:57:01 +01:00
Alexandre Derumier
659c27c2fe controller: evpn: use frr-reload.py for reloading frr
vtysh is not enough to cleanly reload configuration
This require frr-pythontools package

Also add default global values or frr-reload will try to remove them
each time

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-26 12:33:40 +01:00
Alexandre Derumier
56cdcac99d cleanup old transport/router/sdn_cfg references
use zone/controller...

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-26 12:33:40 +01:00
Alexandre Derumier
7cb9714d76 evpn zone plugin : remove vrf option
instead, use zone name as vrf

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-26 12:33:40 +01:00
Alexandre Derumier
7c5b0f6daf limit vnet/zones/controller to 10 characters
linux have 16 characters limit for interfaces,
but we can prepend "vxlan", "vrf",... when we generate
interfaces

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-26 12:33:40 +01:00
Alexandre Derumier
3551b612e9 add permissions
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-26 12:33:40 +01:00
Alexandre Derumier
a2b32a94b8 fix zones on_update_hook
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-26 12:33:40 +01:00
Alexandre Derumier
fa253735a4 rename frrevpn controller plugin to evpn plugin
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-26 12:33:40 +01:00
Alexandre Derumier
c2b9c1734f add nodes option to zones
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-26 12:33:40 +01:00
Alexandre Derumier
a069f0b4a4 remove vxlan|vlan allowed zone option
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-26 12:33:40 +01:00
Alexandre Derumier
3709a20378 improve status error description
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-26 12:33:40 +01:00
Alexandre Derumier
3fd3e9173a rename transportzone option to zone
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-26 12:33:40 +01:00
Alexandre Derumier
a64ea85d37 update documentation.txt
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-26 12:33:40 +01:00
Alexandre Derumier
5d50e70b10 api2: sdn: add reload config
fixme: current using pvesh
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-26 12:33:40 +01:00
Alexandre Derumier
4140be9e79 api2 : split vnets/zones/controllers
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-26 12:33:40 +01:00
Alexandre Derumier
f5eabba018 split transport/controllers/vnet to separate plugins
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-11-26 12:33:40 +01:00
Alexandre Derumier
5645bbd195 api2 : sdn : add role and type to index
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-10-17 19:25:49 +02:00
Alexandre Derumier
20e1969654 add qinq plugin
move code from vlanplugin, add transport tag option

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-10-17 19:25:49 +02:00
Alexandre Derumier
0193ebe5e5 rename plugins with controllers
For true sdn, We have 2 plugins, 1 for dataplane (switch), 1 for controlplane (controller)

rename:

- Frr to EvpnController
- Faucet to FaucetController
- OvsFaucet to Faucet

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-10-17 19:25:49 +02:00
Alexandre Derumier
fa609bdd13 add controller_reload
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-10-17 19:25:49 +02:00
Alexandre Derumier
63586d2f92 add evpnplugin (splitted from vxlanplugin)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-10-17 19:25:49 +02:00
Alexandre Derumier
ad03c54368 add faucet sdn controller plugins
1 plugin for controller, 1 plugin for dataplane

This is not 100% complete, but it's a proof of concept
to test differents sdn controller

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-10-17 19:25:49 +02:00
Alexandre Derumier
0589eb0912 vxlan: move transport controller config to frrplugin
To be able to use differents controllers model

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-10-17 19:25:49 +02:00
Alexandre Derumier
8fb1ee7f42 make sdn controller plugin generic
move all code for frr to frrplugin,
rename router option to controller.

This will allow to manage more controller in the future (ovn, faucet,....)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-10-17 19:25:49 +02:00
Thomas Lamprecht
f38f0a4d5a bump version to 0.3-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-20 16:58:01 +02:00
Alexandre Derumier
c692cbfad0 add format for multicast-address
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-20 09:16:18 +02:00
Alexandre Derumier
fcfca9ef25 add format for ip-list and mtu
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-20 09:16:18 +02:00
Alexandre Derumier
55686084a5 frr: remove "no bgp default ipv6-unicast"
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-09 18:03:11 +02:00
Thomas Lamprecht
ede0f04a04 followup trailing whitespace cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-09 16:37:30 +02:00
Alexandre Derumier
074d270b1d move gateway-nodes option to frr plugin and add gateway-external-peers
It's make more sense, as We use default vrf for routing.
Also add gateway-external-peers to define an external bgp peer.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-09 16:36:43 +02:00