Commit Graph

105 Commits

Author SHA1 Message Date
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
Alexandre Derumier
bc49b410e2 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>
2019-09-09 16:36:43 +02:00
Alexandre Derumier
6c8d238282 vxlan: evpn: fix routing to local vms on gateway nodes
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-09 16:36:43 +02:00
Alexandre Derumier
17854295b8 generate_frr_config: cleanup hash and ordering
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-09 16:36:43 +02:00
Alexandre Derumier
62e54fb752 don't regenerate frr config if no router is defined
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-04 17:10:08 +02:00
Alexandre Derumier
79939ff70b vxlan: add ip-forward|ip6-forward|arp-accept for routing
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-03 16:04:30 +02:00
Alexandre Derumier
e3dca2334b 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>
2019-09-03 16:04:30 +02:00
Thomas Lamprecht
7d35eaf551 trailing whitespace cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-03 08:25:00 +02:00
Alexandre Derumier
d0b4e1c2ca add documentation.txt
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-03 08:22:56 +02:00
Alexandre Derumier
ecdd8c12c2 sdn: add write_frr_config
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-03 08:22:56 +02:00
Alexandre Derumier
5bda8607a4 add update_delete hook on frr related options
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-03 08:22:56 +02:00
Alexandre Derumier
87d8b62369 sdn: add generate_frr_config
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-03 08:22:56 +02:00
Alexandre Derumier
93dea3aad0 generate network config in a hash
more clean and avoid duplicate interface

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-03 08:22:56 +02:00
Alexandre Derumier
5b31292c0f vxlan: add support for ipv4/ipv6/mac for anycast routing
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-03 08:22:56 +02:00
Alexandre Derumier
126fc68c72 vxlanplugin: add vrf and vrfvxlan
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-03 08:22:56 +02:00
Alexandre Derumier
32602a38ae add frr plugin
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-03 08:22:56 +02:00
Alexandre Derumier
3ee45e4ce1 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>
2019-09-03 08:22:56 +02:00
Alexandre Derumier
0022a9189e 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>
2019-09-03 08:22:56 +02:00
Alexandre Derumier
903e2f5e91 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>
2019-09-03 08:22:56 +02:00
Alexandre Derumier
e424c7ac28 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>
2019-09-03 08:22:56 +02:00
Alexandre Derumier
80348b2d6f 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>
2019-09-03 08:22:56 +02:00
Thomas Lamprecht
564fe87dd4 d/compat: bump level to 11 and fix lintian warnings
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-07-10 17:53:17 +02:00
Thomas Lamprecht
efe14cf093 buildsys: use dpkg-dev makefile helpers for pkg info
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-07-10 17:52:49 +02:00
Thomas Lamprecht
c43c4b5f06 bump version to 0.2-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-18 10:21:26 +02:00
Thomas Lamprecht
6109f3d8e7 buildsys: clean also old build directories when running make clean
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-18 10:21:26 +02:00
Alexandre Derumier
6bffe81932 rename $network to $sdn everywhere
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-06-18 07:05:59 +02:00
Alexandre Derumier
d134f98659 api: add missing additional properties=0 on network reload/revert
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-06-18 07:05:59 +02:00
Alexandre Derumier
fe61b14cc4 add pve-network-id jsonschema
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-06-18 07:05:59 +02:00