[pve-devel] [PATCH pve-docs 0/1] vxlan l3 routing
Alexandre DERUMIER
aderumier at odiso.com
Mon Dec 10 16:59:30 CET 2018
Hi Dietmar,
I'll have time to work again on /etc/pve/network.cfg idea.
I don't known if you have some time to check my idea about using ifupdown2 "alias"
BTW,talking with students on last training (a lot coming from vmware world),
they think it could be great to be able to define global network (distributed virtual switch/ dvs in vmware),
for vlan or vxlan, and be able to make permissions on it. (maybe be able to add them in a proxmox pool).
----- Mail original -----
De: "aderumier" <aderumier at odiso.com>
À: "dietmar" <dietmar at proxmox.com>
Cc: "pve-devel" <pve-devel at pve.proxmox.com>
Envoyé: Samedi 25 Août 2018 02:10:33
Objet: Re: [pve-devel] [PATCH pve-docs 0/1] vxlan l3 routing
>>Just try - maybe you can find a way to define a cluster wide config
>>(etc/pve/network.cfg) for those bridges.
>>
>>vnet1000: vxlan # VNI 1000
>> device vmbr0 # => vxlan-local-tunnelip
>> group 239.0.0.1
>>above would create the vtep and the bridge called 'vnet1000'?
Hi Dietmar,
I think I have found a way.
ifupdown2 support "alias" options
"
auto eno1
iface eno1
alias hypervisor_port_1
"
ip link set dev ${interface name} alias "${description}"
Examples:
ip link set dev eno1 alias "hypervisor_port_1"
Link aliases show up in "ip link show" output, like:
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
link/ether 22:ce:e0:99:63:6f brd ff:ff:ff:ff:ff:ff
alias hypervisor_port_1
Like this, we could define a common alias on differents hosts, with differents interfaces,
and no need to use a vmbr0. (I'm thinking of layer3 underlay, with multiple interfaces with ecmp)
Some examples:
---------------
multicast setup
---------------
vnet1000: vxlan # VNI 1000
device hypervisor_port_1
type multicast
group 239.0.0.1
this will add a vxlan1000 interface with "vxlan-svcnodeip ..." option (with multicast address)
and vxlan-physdev (interface enX with hypervisor_port_1 alias)
node1
-----
auto eno1
iface eno1 inet static
address 192.168.0.1/24
alias hypervisor_port_1
auto vxlan1000
iface vxlan1000 inet manual
vxlan-svcnodeip 239.0.0.1
vxlan-physdev eno1
auto vmbr1000
iface vmbr1000 inet manual
bridge_ports vxlan1000
bridge_stp off
bridge_fd 0
node2
-----
auto eno2
iface eno2 inet static
address 192.168.0.2/24
alias hypervisor_port_1
auto vxlan1000
iface vxlan1000 inet manual
vxlan-svcnodeip 239.0.0.1
vxlan-physdev eno2
auto vmbr1000
iface vmbr1000 inet manual
bridge_ports vxlan1000
bridge_stp off
bridge_fd 0
unicast setup
-------------
vnet1000: vxlan # VNI 1000
device hypervisor_port_1
type unicast
group 192.168.0.1,192.168.0.2,192.168.0.3,ip4,ip5,.. (all proxmox nodes ips or others ip)
this will add a vxlan1000 interface with "vxlan_remoteip ..." option, with all ips from "group", excluding ip of hypervisor_port_1 on each host,
and a vmbr1000 with 192.168.0.1 (anycast gateway)
node1
-----
auto eno1
iface eno1 inet static
address 192.168.0.1/24
alias hypervisor_port_1
auto vxlan1000
iface vxlan1000 inet manual
vxlan_remoteip 192.168.0.2
vxlan_remoteip 192.168.0.3
auto vmbr1000
iface vmbr1000 inet manual
bridge_ports vxlan1000
bridge_stp off
bridge_fd 0
node2
-----
auto eno2
iface eno2 inet static
address 192.168.0.2/24
alias hypervisor_port_1
auto vxlan1000
iface vxlan1000 inet manual
vxlan_remoteip 192.168.0.1
vxlan_remoteip 192.168.0.3
auto vmbr1000
iface vmbr1000 inet manual
bridge_ports vxlan1000
bridge_stp off
bridge_fd 0
evpn-bgp setup
--------------
vnet1000: vxlan # VNI 1000
device hypervisor_port_1
type evpn-bgp
gateway 10.0.0.1
this will add a vxlan1000 interface "vxlan-local-tunnelip ..." with ip address of hypervisor_port_1 on each host,
and a vmbr1000 with 192.168.0.1 (anycast gateway)
node1
-----
auto eno1
iface eno1 inet static
address 192.168.0.1/24
alias hypervisor_port_1
auto vxlan1000
iface vxlan1000 inet manual
vxlan-id 1000
vxlan-local-tunnelip 192.168.0.1
bridge-learning off
bridge-arp-nd-suppress on
bridge-unicast-flood off
bridge-multicast-flood off
auto vmbr1000
iface vmbr1000 inet static
address 10.0.0.1/24
bridge_ports vxlan1000
bridge_stp off
bridge_fd 0
node2
-----
auto eno2
iface eno2 inet static
address 192.168.0.2/24
alias hypervisor_port_1
auto vxlan1000
iface vxlan1000 inet manual
vxlan-id 1000
vxlan-local-tunnelip 192.168.0.2
bridge-learning off
bridge-arp-nd-suppress on
bridge-unicast-flood off
bridge-multicast-flood off
auto vmbr1000
iface vmbr1000 inet static
address 10.0.0.1/24
bridge_ports vxlan1000
bridge_stp off
bridge_fd 0
What do you think about this ?
----- Mail original -----
De: "dietmar" <dietmar at proxmox.com>
À: "aderumier" <aderumier at odiso.com>
Cc: "pve-devel" <pve-devel at pve.proxmox.com>
Envoyé: Mardi 14 Août 2018 12:09:20
Objet: Re: [pve-devel] [PATCH pve-docs 0/1] vxlan l3 routing
> >>Not sure if the vxlan config is most times node related, so you always have
> >>node
> >>related config anyways?
> with frr, The vxlan interface indeed have the local ip vxlan-local-tunnelip.
> (this could be found in frr.conf).
> This could be managed with ifupdown2 template (as vxlan-local-tunnelip is
> always the same).
>
> I was thinking of vmbr definition, as it's exactly the same on all nodes. (and
> can't be managed easily with ifupdown2 template).
> We can manage this with puppet without problem, but I was thinking for users
> which only manage this through proxmox.
Just try - maybe you can find a way to define a cluster wide config
(etc/pve/network.cfg) for those bridges.
vnet1000: vxlan # VNI 1000
device vmbr0 # => vxlan-local-tunnelip
group 239.0.0.1
above would create the vtep and the bridge called 'vnet1000'?
...
_______________________________________________
pve-devel mailing list
pve-devel at pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
More information about the pve-devel
mailing list