]> git.proxmox.com Git - pve-network.git/log
pve-network.git
3 years agoevpn: prefix interfaces
Alexandre Derumier [Tue, 19 May 2020 16:37:44 +0000 (18:37 +0200)]
evpn: prefix interfaces

vnets can have random name, prefix other interfaces to avoid conflicts

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
3 years agoqinq: use new model + ovs/classic bridge support
Alexandre Derumier [Tue, 19 May 2020 16:37:43 +0000 (18:37 +0200)]
qinq: use new model + ovs/classic bridge support

Always create a vnet bridge for each vnet, and avoid to tag
vm port directly.

As we don't manage tap|veth vlan tag in /etc/network/interfaces,
this could break on reload if user change vlan value on a vnet.

ovs

3 years agovlan: use new model
Alexandre Derumier [Tue, 19 May 2020 16:37:42 +0000 (18:37 +0200)]
vlan: use new model

Always create a vnet bridge for each vnet, and avoid to tag
vm port directly.

As we don't manage tap|veth vlan tag in /etc/network/interfaces,
this could break on reload if user change vlan value on a vnet.

ovs

3 years agoretrict vnet name to 8 characters
Alexandre Derumier [Tue, 19 May 2020 16:37:41 +0000 (18:37 +0200)]
retrict vnet name to 8 characters

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
3 years agorestrict zone name to 8 characters
Alexandre Derumier [Tue, 19 May 2020 16:37:40 +0000 (18:37 +0200)]
restrict zone name to 8 characters

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
3 years agoapi: fix reload all UPID handling
Thomas Lamprecht [Tue, 12 May 2020 12:48:31 +0000 (14:48 +0200)]
api: fix reload all UPID handling

run_command returns the exit code, we need to parse out the UPID from
the outfunc.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobump version to 0.4-4
Thomas Lamprecht [Sun, 10 May 2020 15:08:37 +0000 (17:08 +0200)]
bump version to 0.4-4

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agovlan plugin: add support for no vlan-aware bridge
Alexandre Derumier [Fri, 8 May 2020 09:00:44 +0000 (11:00 +0200)]
vlan plugin: add support for no vlan-aware bridge

Some users could have problem with vlan-aware and some nics.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
3 years agod/control: recommend frr-pythontools, ifupdown2
Thomas Lamprecht [Wed, 6 May 2020 10:29:28 +0000 (12:29 +0200)]
d/control: recommend frr-pythontools, ifupdown2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agozones: improve error messages and code style
Thomas Lamprecht [Wed, 6 May 2020 10:29:06 +0000 (12:29 +0200)]
zones: improve error messages and code style

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoonly parse version if local sdn file exists
Stoiko Ivanov [Tue, 5 May 2020 15:22:01 +0000 (17:22 +0200)]
only parse version if local sdn file exists

if a file does not exist PVE::Tools::file_read_firstline returns undef.

This happens e.g. if you install the libpve-network-perl package before
creating the local sdn file.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
3 years agobump version to 0.4-3
Thomas Lamprecht [Sat, 2 May 2020 17:20:37 +0000 (19:20 +0200)]
bump version to 0.4-3

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agod/triggers: activate-noawait pve-api-updates
Thomas Lamprecht [Sun, 3 May 2020 16:56:26 +0000 (18:56 +0200)]
d/triggers: activate-noawait pve-api-updates

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agosdn version: default to 0 for undef/empty-string
Thomas Lamprecht [Sun, 3 May 2020 16:55:32 +0000 (18:55 +0200)]
sdn version: default to 0 for undef/empty-string

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agozones: status : use version to compare local sdn vs cluster sdn
Alexandre Derumier [Mon, 13 Apr 2020 06:13:13 +0000 (08:13 +0200)]
zones: status : use version to compare local sdn vs cluster sdn

3 years ago/etc/network/interfaces.d/sdn : add version
Alexandre Derumier [Mon, 13 Apr 2020 06:13:12 +0000 (08:13 +0200)]
/etc/network/interfaces.d/sdn : add version

3 years agosdn: use .version and global lock
Alexandre Derumier [Mon, 13 Apr 2020 06:13:11 +0000 (08:13 +0200)]
sdn: use .version and global lock

3 years agoremove .new files
Alexandre Derumier [Mon, 13 Apr 2020 06:13:10 +0000 (08:13 +0200)]
remove .new files

4 years agozones: sort network config keys when iterating for stabillity
Thomas Lamprecht [Thu, 9 Apr 2020 08:27:53 +0000 (10:27 +0200)]
zones: sort network config keys when iterating for stabillity

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agozones: code cleanup fallback to classic bridge case
Thomas Lamprecht [Thu, 9 Apr 2020 08:27:24 +0000 (10:27 +0200)]
zones: code cleanup fallback to classic bridge case

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agozones: factor out get_plugin_config
Thomas Lamprecht [Thu, 9 Apr 2020 08:26:59 +0000 (10:26 +0200)]
zones: factor out get_plugin_config

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agosdn zones: indentation and whitespace cleanup
Thomas Lamprecht [Thu, 9 Apr 2020 06:03:33 +0000 (08:03 +0200)]
sdn zones: indentation and whitespace cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agosdn zones: add newline to warn
Thomas Lamprecht [Thu, 9 Apr 2020 06:03:18 +0000 (08:03 +0200)]
sdn zones: add newline to warn

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobump version to 0.4-2
Thomas Lamprecht [Wed, 8 Apr 2020 17:58:14 +0000 (19:58 +0200)]
bump version to 0.4-2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoadd get_local_vnets()
Alexandre Derumier [Thu, 26 Mar 2020 02:06:34 +0000 (03:06 +0100)]
add get_local_vnets()

return the vnets of the localnode

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agobump version to 0.4-1
Thomas Lamprecht [Tue, 10 Mar 2020 18:02:16 +0000 (19:02 +0100)]
bump version to 0.4-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoadd tap|veth create|plug
Alexandre Derumier [Mon, 9 Mar 2020 09:24:13 +0000 (10:24 +0100)]
add tap|veth create|plug

4 years agowhitespace cleanup
Thomas Lamprecht [Tue, 10 Mar 2020 17:58:52 +0000 (18:58 +0100)]
whitespace cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agovxlan|evpn : fix mtu
Alexandre Derumier [Thu, 13 Feb 2020 11:16:13 +0000 (12:16 +0100)]
vxlan|evpn : fix mtu

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoadd get_bridge_vlan
Alexandre Derumier [Mon, 10 Feb 2020 16:26:10 +0000 (17:26 +0100)]
add get_bridge_vlan

return correct bridge/vlan from sdn for tap/veth create/plug

4 years agomove mtu properties to zone
Alexandre Derumier [Mon, 10 Feb 2020 16:26:09 +0000 (17:26 +0100)]
move mtu properties to zone

4 years agoapi2: fix vnet status
Alexandre Derumier [Mon, 10 Feb 2020 16:26:08 +0000 (17:26 +0100)]
api2: fix vnet status

4 years agoqinq plugin :add status
Alexandre Derumier [Mon, 10 Feb 2020 16:26:07 +0000 (17:26 +0100)]
qinq plugin :add status

like vlanplugin, vnets are now virtual

4 years agovlanplugin: add status
Alexandre Derumier [Mon, 10 Feb 2020 16:26:06 +0000 (17:26 +0100)]
vlanplugin: add status

we use vlan-aware, so vnets status need to be done on main bridge status

4 years agomove status code to zone plugin
Alexandre Derumier [Mon, 10 Feb 2020 16:26:05 +0000 (17:26 +0100)]
move status code to zone plugin

4 years agovlan/qinq: use bridge option instead uplink-id
Alexandre Derumier [Mon, 10 Feb 2020 16:26:04 +0000 (17:26 +0100)]
vlan/qinq: use bridge option instead uplink-id

4 years agoAPI2: Vnets: fix update
Alexandre Derumier [Mon, 20 Jan 2020 11:01:22 +0000 (12:01 +0100)]
API2: Vnets: fix update

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoevpn: use file_{g,s}et_contents and import run_command
Thomas Lamprecht [Thu, 16 Jan 2020 10:14:53 +0000 (11:14 +0100)]
evpn: use file_{g,s}et_contents and import run_command

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoevpn: indentation, whitespace cleanup and code refactoring
Thomas Lamprecht [Thu, 16 Jan 2020 10:14:15 +0000 (11:14 +0100)]
evpn: indentation, whitespace cleanup and code refactoring

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agocontroller : evpn : only allow 1 evpn controller
Alexandre Derumier [Thu, 16 Jan 2020 08:15:16 +0000 (09:15 +0100)]
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>
4 years agoevpn: add support for local frr.config
Alexandre Derumier [Thu, 16 Jan 2020 08:15:15 +0000 (09:15 +0100)]
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>
4 years agovlan/qinq: use vlan-raw-device to support long predictable interfaces name
Alexandre Derumier [Sat, 11 Jan 2020 12:48:50 +0000 (13:48 +0100)]
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>
4 years agogrammar fix: s/does not exists/does not exist/g
Thomas Lamprecht [Fri, 13 Dec 2019 11:10:15 +0000 (12:10 +0100)]
grammar fix: s/does not exists/does not exist/g

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobump version to 0.3-3
Thomas Lamprecht [Mon, 2 Dec 2019 08:51:07 +0000 (09:51 +0100)]
bump version to 0.3-3

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agocreate /etc/pve/sdn directory
Alexandre Derumier [Thu, 28 Nov 2019 13:34:48 +0000 (14:34 +0100)]
create /etc/pve/sdn directory

like for /etc/pve/ha, create it in api create

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agomove find_local_ip_interface sub helper to zone plugin
Alexandre Derumier [Thu, 28 Nov 2019 08:40:27 +0000 (09:40 +0100)]
move find_local_ip_interface sub helper to zone plugin

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agozones: vlan|qinq: add get_uplink_iface sub
Alexandre Derumier [Thu, 28 Nov 2019 08:40:26 +0000 (09:40 +0100)]
zones: vlan|qinq: add get_uplink_iface sub

also check that interface is eth or bond

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agozones: vxlan : remove uplink-id and multicast
Alexandre Derumier [Thu, 28 Nov 2019 08:40:25 +0000 (09:40 +0100)]
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>
4 years agoevpn: remove uplink-id
Alexandre Derumier [Thu, 28 Nov 2019 08:40:24 +0000 (09:40 +0100)]
evpn: remove uplink-id

instead, auto find interfaces

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agobump version to 0.3-2
Thomas Lamprecht [Tue, 26 Nov 2019 11:57:01 +0000 (12:57 +0100)]
bump version to 0.3-2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agocontroller: evpn: use frr-reload.py for reloading frr
Alexandre Derumier [Tue, 26 Nov 2019 09:00:30 +0000 (10:00 +0100)]
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>
4 years agocleanup old transport/router/sdn_cfg references
Alexandre Derumier [Tue, 26 Nov 2019 09:00:29 +0000 (10:00 +0100)]
cleanup old transport/router/sdn_cfg references

use zone/controller...

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoevpn zone plugin : remove vrf option
Alexandre Derumier [Tue, 26 Nov 2019 09:00:28 +0000 (10:00 +0100)]
evpn zone plugin : remove vrf option

instead, use zone name as vrf

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agolimit vnet/zones/controller to 10 characters
Alexandre Derumier [Tue, 26 Nov 2019 09:00:27 +0000 (10:00 +0100)]
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>
4 years agoadd permissions
Alexandre Derumier [Tue, 26 Nov 2019 09:00:26 +0000 (10:00 +0100)]
add permissions

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agofix zones on_update_hook
Alexandre Derumier [Tue, 26 Nov 2019 09:00:25 +0000 (10:00 +0100)]
fix zones on_update_hook

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agorename frrevpn controller plugin to evpn plugin
Alexandre Derumier [Tue, 26 Nov 2019 09:00:24 +0000 (10:00 +0100)]
rename frrevpn controller plugin to evpn plugin

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoadd nodes option to zones
Alexandre Derumier [Tue, 26 Nov 2019 09:00:23 +0000 (10:00 +0100)]
add nodes option to zones

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoremove vxlan|vlan allowed zone option
Alexandre Derumier [Tue, 26 Nov 2019 09:00:22 +0000 (10:00 +0100)]
remove vxlan|vlan allowed zone option

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoimprove status error description
Alexandre Derumier [Tue, 26 Nov 2019 09:00:21 +0000 (10:00 +0100)]
improve status error description

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agorename transportzone option to zone
Alexandre Derumier [Tue, 26 Nov 2019 09:00:20 +0000 (10:00 +0100)]
rename transportzone option to zone

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoupdate documentation.txt
Alexandre Derumier [Tue, 26 Nov 2019 09:00:19 +0000 (10:00 +0100)]
update documentation.txt

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoapi2: sdn: add reload config
Alexandre Derumier [Tue, 26 Nov 2019 09:00:18 +0000 (10:00 +0100)]
api2: sdn: add reload config

fixme: current using pvesh
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoapi2 : split vnets/zones/controllers
Alexandre Derumier [Tue, 26 Nov 2019 09:00:17 +0000 (10:00 +0100)]
api2 : split vnets/zones/controllers

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agosplit transport/controllers/vnet to separate plugins
Alexandre Derumier [Tue, 26 Nov 2019 09:00:16 +0000 (10:00 +0100)]
split transport/controllers/vnet to separate plugins

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoapi2 : sdn : add role and type to index
Alexandre Derumier [Mon, 30 Sep 2019 09:03:39 +0000 (11:03 +0200)]
api2 : sdn : add role and type to index

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoadd qinq plugin
Alexandre Derumier [Mon, 30 Sep 2019 09:03:38 +0000 (11:03 +0200)]
add qinq plugin

move code from vlanplugin, add transport tag option

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agorename plugins with controllers
Alexandre Derumier [Mon, 30 Sep 2019 09:03:37 +0000 (11:03 +0200)]
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>
4 years agoadd controller_reload
Alexandre Derumier [Mon, 30 Sep 2019 09:03:36 +0000 (11:03 +0200)]
add controller_reload

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoadd evpnplugin (splitted from vxlanplugin)
Alexandre Derumier [Mon, 30 Sep 2019 09:03:35 +0000 (11:03 +0200)]
add evpnplugin (splitted from vxlanplugin)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoadd faucet sdn controller plugins
Alexandre Derumier [Mon, 30 Sep 2019 09:03:34 +0000 (11:03 +0200)]
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>
4 years agovxlan: move transport controller config to frrplugin
Alexandre Derumier [Mon, 30 Sep 2019 09:03:33 +0000 (11:03 +0200)]
vxlan: move transport controller config to frrplugin

To be able to use differents controllers model

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agomake sdn controller plugin generic
Alexandre Derumier [Mon, 30 Sep 2019 09:03:32 +0000 (11:03 +0200)]
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>
4 years agobump version to 0.3-1
Thomas Lamprecht [Fri, 20 Sep 2019 14:57:35 +0000 (16:57 +0200)]
bump version to 0.3-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoadd format for multicast-address
Alexandre Derumier [Fri, 13 Sep 2019 10:33:45 +0000 (12:33 +0200)]
add format for multicast-address

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoadd format for ip-list and mtu
Alexandre Derumier [Fri, 13 Sep 2019 10:33:44 +0000 (12:33 +0200)]
add format for ip-list and mtu

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agofrr: remove "no bgp default ipv6-unicast"
Alexandre Derumier [Mon, 9 Sep 2019 15:56:37 +0000 (17:56 +0200)]
frr: remove "no bgp default ipv6-unicast"

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agofollowup trailing whitespace cleanup
Thomas Lamprecht [Mon, 9 Sep 2019 14:37:30 +0000 (16:37 +0200)]
followup trailing whitespace cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agomove gateway-nodes option to frr plugin and add gateway-external-peers
Alexandre Derumier [Mon, 9 Sep 2019 06:45:53 +0000 (08:45 +0200)]
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>
4 years agovxlan: frr : remove unneeded prefix-list
Alexandre Derumier [Mon, 9 Sep 2019 06:45:52 +0000 (08:45 +0200)]
vxlan: frr : remove unneeded prefix-list

no bgp default ipv4-unicast already deny redistribution
of routes in default vrf

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agovxlan: evpn: fix routing to local vms on gateway nodes
Alexandre Derumier [Mon, 9 Sep 2019 06:45:51 +0000 (08:45 +0200)]
vxlan: evpn: fix routing to local vms on gateway nodes

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agogenerate_frr_config: cleanup hash and ordering
Alexandre Derumier [Mon, 9 Sep 2019 06:45:50 +0000 (08:45 +0200)]
generate_frr_config: cleanup hash and ordering

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agodon't regenerate frr config if no router is defined
Alexandre Derumier [Wed, 4 Sep 2019 05:49:31 +0000 (07:49 +0200)]
don't regenerate frr config if no router is defined

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agovxlan: add ip-forward|ip6-forward|arp-accept for routing
Alexandre Derumier [Tue, 3 Sep 2019 09:14:55 +0000 (11:14 +0200)]
vxlan: add ip-forward|ip6-forward|arp-accept for routing

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agovxlan: add gateway-nodes option
Alexandre Derumier [Tue, 3 Sep 2019 09:14:54 +0000 (11:14 +0200)]
vxlan: add gateway-nodes option

Allow to define 1 or more gateway node,
to route the traffic to the outside world

import vrf is bugged in frr 7.1
works fine with current stable/7.1 branch
https://github.com/FRRouting/frr/issues/4905

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agotrailing whitespace cleanup
Thomas Lamprecht [Tue, 3 Sep 2019 06:25:00 +0000 (08:25 +0200)]
trailing whitespace cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoadd documentation.txt
Alexandre Derumier [Thu, 29 Aug 2019 10:32:54 +0000 (12:32 +0200)]
add documentation.txt

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agosdn: add write_frr_config
Alexandre Derumier [Thu, 29 Aug 2019 10:32:53 +0000 (12:32 +0200)]
sdn: add write_frr_config

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoadd update_delete hook on frr related options
Alexandre Derumier [Thu, 29 Aug 2019 10:32:52 +0000 (12:32 +0200)]
add update_delete hook on frr related options

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agosdn: add generate_frr_config
Alexandre Derumier [Thu, 29 Aug 2019 10:32:51 +0000 (12:32 +0200)]
sdn: add generate_frr_config

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agogenerate network config in a hash
Alexandre Derumier [Thu, 29 Aug 2019 10:32:50 +0000 (12:32 +0200)]
generate network config in a hash

more clean and avoid duplicate interface

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agovxlan: add support for ipv4/ipv6/mac for anycast routing
Alexandre Derumier [Thu, 29 Aug 2019 10:32:49 +0000 (12:32 +0200)]
vxlan: add support for ipv4/ipv6/mac for anycast routing

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agovxlanplugin: add vrf and vrfvxlan
Alexandre Derumier [Thu, 29 Aug 2019 10:32:48 +0000 (12:32 +0200)]
vxlanplugin: add vrf and vrfvxlan

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoadd frr plugin
Alexandre Derumier [Thu, 29 Aug 2019 10:32:47 +0000 (12:32 +0200)]
add frr plugin

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agomake Vxlanplugin generic for multicast/unicast/frr
Alexandre Derumier [Thu, 29 Aug 2019 10:32:46 +0000 (12:32 +0200)]
make Vxlanplugin generic for multicast/unicast/frr

if no multicast or unicast address is defined, default to frr

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoapi2: add local endpoint for listing transportzones status
Alexandre Derumier [Thu, 29 Aug 2019 10:32:45 +0000 (12:32 +0200)]
api2: add local endpoint for listing transportzones status

pvesh get /nodes/<node>/sdn/
┌─────────────────┬───────────┐
│ sdn             │ status    │
├─────────────────┼───────────┤
│ transportzone10 │ error     │
├─────────────────┼───────────┤
│ zone1           │ available │
├─────────────────┼───────────┤
│ zone4           │ available │
└─────────────────┴───────────┘

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoapi2: add local endpoint for listing content of a transportzone
Alexandre Derumier [Thu, 29 Aug 2019 10:32:44 +0000 (12:32 +0200)]
api2: add local endpoint for listing content of a transportzone

pveset get /nodes/<node>/sdn/<transportzone>/content

┌─────────┬────────┐
│ vnet    │ status │
├─────────┼────────┤
│ vnet100 │ error  │
├─────────┼────────┤
│ vnet101 │ error  │
└─────────┴────────┘

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoadd new status sub and move code from test
Alexandre Derumier [Thu, 29 Aug 2019 10:32:43 +0000 (12:32 +0200)]
add new status sub and move code from test

old status sub was renamed ifquery_check

also check if local config exist or if local config is too old.
(fixme : compare mtime, maybe could we use some kind of version for this?)

we can have 4 status code:

- pending : local config is absent but sdn.cfg exist
- unknown : local config is too old, we can't be sure of the running state
- error : local config is present, but don't match the running state
- available : all is ok, local config is present and match running state.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoadd generate_etc_network_config && write_etc_network_config subs
Alexandre Derumier [Thu, 29 Aug 2019 10:32:42 +0000 (12:32 +0200)]
add generate_etc_network_config && write_etc_network_config subs

moved from test script,
also skip vnet generation instead die in case of error

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agod/compat: bump level to 11 and fix lintian warnings
Thomas Lamprecht [Wed, 10 Jul 2019 15:53:17 +0000 (17:53 +0200)]
d/compat: bump level to 11 and fix lintian warnings

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>