1 Here a sample of command with pvesh to manage the sdn.
4 #create a vlan transportzone
5 pvesh create /cluster/sdn/zones/ --zone vlanzone --type vlan --uplink-id 1
8 #create a layer2 vxlan multicast transportzone
9 pvesh create /cluster/sdn/zones/ --zone vxlanmulticastzone --type vxlan --uplink-id 1 --multicast-address 239.192.114.23
11 #create a layer2 vxlan unicast transportzone
12 pvesh create /cluster/sdn/zones/ --zone vxlanunicastzone --type vxlan --uplink-id 1 --unicast-address 192.168.0.1,192.168.0.2,192.168.0.3
15 pvesh create /cluster/sdn/controllers/ --controller frrrouter1 --type frrevpn --uplink-id 1 --peers 192.168.0.1,192.168.0.2,192.168.0.3 --asn 1234 --gateway-nodes pxnode1,pxnode2 --gateway-external-peers 192.168.0.253,192.168.0.254
17 #create a layer2 vxlan bgpevpn transportzone
18 pvesh create /cluster/sdn/zones/ --zone layer2evpnzone --type evpn --uplink-id 1 --controller frrrouter1
20 #create a layer3 routable vxlan bgpevpn transportzone
21 pvesh create /cluster/sdn/zones/ --zone layer3evpnzone --type evpn --uplink-id 1 --controller frrrouter1 --vrf vrf1 --vrf-vxlan 4000
24 #create a vnet in the transportzone
25 pvesh create /cluster/sdn/vnets/ --vnet vnet10 --type vnet --transportzone vlanzone --tag 10
27 #create a vnet in the transportzone with ip for evpn routing
28 pvesh create /cluster/sdn/vnets/ --vnet vnet11 --type vnet --transportzone layer3evpnzone --tag 11 --ipv4 10.0.0.1/24 --mac c8:1f:66:f8:62:8d
29 pvesh create /cluster/sdn/vnets/ --vnet vnet12 --type vnet --transportzone layer3evpnzone --tag 12 --ipv4 10.0.1.1/24 --mac c8:1f:66:f8:62:8e
32 #apply changes from /etc/pve/sdn.cfg.new to /etc/pve/sdn.cfg
33 pvesh set /cluster/sdn
36 #generate local /etc/network/interfaces.d/sdn and reload (need to be called on each node)
37 pvesh set /nodes/<node>/network
40 display transporzone status on all cluster nodes
41 #pvesh get /cluster/resources
42 ┌────────────────────────────────────┬─────────┬───────┬───────────┬─────────┬───────┬────────┬─────────────┬────────────┬────────────┬───────────────┬──────┬───────────┬──────────────┬────────────────┐
43 │ id │ type │ cpu │ disk │ hastate │ level │ maxcpu │ maxdisk │ maxmem │ mem │ node │ pool │ status │ storage │ uptime │
44 │ sdn/node1/transportzone10 │ sdn │ │ │ │ │ │ │ │ │ kvmformation1 │ │ error │ │ │
45 ├────────────────────────────────────┼─────────┼───────┼───────────┼─────────┼───────┼────────┼─────────────┼────────────┼────────────┼───────────────┼──────┼───────────┼──────────────┼────────────────┤
46 │ sdn/node1/zone1 │ sdn │ │ │ │ │ │ │ │ │ node1 │ │ available │ │ │
47 ├────────────────────────────────────┼─────────┼───────┼───────────┼─────────┼───────┼────────┼─────────────┼────────────┼────────────┼───────────────┼──────┼───────────┼──────────────┼────────────────┤
48 │ sdn/node1/zone4 │ sdn │ │ │ │ │ │ │ │ │ node1 │ │ available │ │ │
49 ├────────────────────────────────────┼─────────┼───────┼───────────┼─────────┼───────┼────────┼─────────────┼────────────┼────────────┼───────────────┼──────┼───────────┼──────────────┼────────────────┤
54 #list all transport zones of a node
56 pvesh get /nodes/<node>/sdn/zones/
57 ┌─────────────────┬───────────┐
59 ├─────────────────┼───────────┤
60 │ transportzone10 │ error │
61 ├─────────────────┼───────────┤
63 ├─────────────────┼───────────┤
65 └─────────────────┴───────────┘
68 #list all vnet status from a node transportzone
70 pveset get /nodes/<node>/sdn/zones/<transportzone>/content