]>
git.puffer.fish Git - matthieu/pve-network.git/log
Thomas Lamprecht [Thu, 25 Jun 2020 11:41:28 +0000 (13:41 +0200)]
fixup: drop trailing whitespaces
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Alexandre Derumier [Fri, 19 Jun 2020 11:47:07 +0000 (13:47 +0200)]
improve status
check all plumbing interfaces needed for vnets
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Thomas Lamprecht [Wed, 3 Jun 2020 12:15:45 +0000 (14:15 +0200)]
bump version to 0.4-6
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Wed, 3 Jun 2020 11:19:26 +0000 (13:19 +0200)]
status: warn only once about old or void SDN interfaces config
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Wed, 3 Jun 2020 09:40:46 +0000 (11:40 +0200)]
sdn: add generate controller/zone config helpers
mostly just to have a single method to call from manager
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Wed, 3 Jun 2020 09:35:37 +0000 (11:35 +0200)]
generate_etc_network_config: avoid warn line info
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Alexandre Derumier [Tue, 2 Jun 2020 09:20:27 +0000 (11:20 +0200)]
vlan: ovs : vlanaware: use 802.1q for tunnel
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 2 Jun 2020 09:20:26 +0000 (11:20 +0200)]
vlan: ovs: remove twice defined ovsbridge ports
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 2 Jun 2020 09:20:25 +0000 (11:20 +0200)]
vlan|qinq: add mtu to ovsint link port
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 2 Jun 2020 09:20:24 +0000 (11:20 +0200)]
catch errors on sdn config generation
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 2 Jun 2020 09:20:23 +0000 (11:20 +0200)]
qinq|vlan: ovs: add ovsint interfaces to ovs-ports list
if not, on reload, interfaces are unplug/replugged with packet
loss.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 2 Jun 2020 09:20:22 +0000 (11:20 +0200)]
vlan: ovs: use dot1q-tunnel when vlanaware is enabled
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Tue, 2 Jun 2020 09:20:21 +0000 (11:20 +0200)]
add vnet vlan-aware option
Some users would like to be able to defined vlans at
vm level, or allow trunks, on top of already
tagged vnet. (including vlan on top of vxlan tunnel)
Allow it on all layer2 plugins, and add a warn
for evpn layer3 plugin.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Thomas Lamprecht [Tue, 19 May 2020 19:38:53 +0000 (21:38 +0200)]
qinq: improve schema
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 19 May 2020 19:23:09 +0000 (21:23 +0200)]
bump version to 0.4-5
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Alexandre Derumier [Tue, 19 May 2020 16:37:45 +0000 (18:37 +0200)]
vxlan: prefix interfaces
vnets can have random name, prefix other interfaces to avoid conflicts
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
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>
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
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Alexandre Derumier [Mon, 13 Apr 2020 06:13:13 +0000 (08:13 +0200)]
zones: status : use version to compare local sdn vs cluster sdn
Alexandre Derumier [Mon, 13 Apr 2020 06:13:12 +0000 (08:13 +0200)]
/etc/network/interfaces.d/sdn : add version
Alexandre Derumier [Mon, 13 Apr 2020 06:13:11 +0000 (08:13 +0200)]
sdn: use .version and global lock
Alexandre Derumier [Mon, 13 Apr 2020 06:13:10 +0000 (08:13 +0200)]
remove .new files
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>
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>
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>
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>
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>
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>
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>
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>
Alexandre Derumier [Mon, 9 Mar 2020 09:24:13 +0000 (10:24 +0100)]
add tap|veth create|plug
Thomas Lamprecht [Tue, 10 Mar 2020 17:58:52 +0000 (18:58 +0100)]
whitespace cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
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>
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
Alexandre Derumier [Mon, 10 Feb 2020 16:26:09 +0000 (17:26 +0100)]
move mtu properties to zone
Alexandre Derumier [Mon, 10 Feb 2020 16:26:08 +0000 (17:26 +0100)]
api2: fix vnet status
Alexandre Derumier [Mon, 10 Feb 2020 16:26:07 +0000 (17:26 +0100)]
qinq plugin :add status
like vlanplugin, vnets are now virtual
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
Alexandre Derumier [Mon, 10 Feb 2020 16:26:05 +0000 (17:26 +0100)]
move status code to zone plugin
Alexandre Derumier [Mon, 10 Feb 2020 16:26:04 +0000 (17:26 +0100)]
vlan/qinq: use bridge option instead uplink-id
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:26 +0000 (10:00 +0100)]
add permissions
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
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>
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>
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>
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>
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>
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>
Alexandre Derumier [Tue, 26 Nov 2019 09:00:19 +0000 (10:00 +0100)]
update documentation.txt
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
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>
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>
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>
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>
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>
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>
Alexandre Derumier [Mon, 30 Sep 2019 09:03:36 +0000 (11:03 +0200)]
add controller_reload
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>