3-1-1
Let’s say I have an instance connects to an incus created overlay logical switch on incus server A, and I have another instance in incus server B. I want those two instances talk to each other over layer 2, how can I do it, let’s do some experiments. I restored snapshot.
# client 1
ovs-vsctl set open_vswitch . external-ids:ovn-remote="tcp:10.129.251.153:6642" external-ids:ovn-encap-ip=10.129.251.100 external-ids:ovn-encap-type=geneve
incus config set network.ovn.northbound_connection=tcp:10.129.251.153:6641
incus network create c1-o1 --type=ovn network=none ipv6.address=none
# client 2
ovs-vsctl set open_vswitch . external-ids:ovn-remote="tcp:10.129.251.153:6642" external-ids:ovn-encap-ip=10.129.251.91 external-ids:ovn-encap-type=geneve
incus config set network.ovn.northbound_connection=tcp:10.129.251.153:6641
incus network create c2-o2 --type=ovn network=none ipv6.address=none ipv4.address=none
# server
~# ovn-nbctl show
switch 1eb27260-eee1-4b60-962a-c87e492c674a (incus-net1-ls-int)
port incus-net1-ls-int-lsp-router
type: router
router-port: incus-net1-lr-lrp-int
switch 57f3698d-8e4f-458c-9e0b-2ff947623cfe (incus-net2-ls-int)
router b6af5906-70a3-4039-9443-326b4bbab2fb (incus-net1-lr)
port incus-net1-lr-lrp-int
mac: "10:66:6a:fc:ff:3d"
ipv6-lla: "fe80::1266:6aff:fefc:ff3d"
networks: ["10.178.97.1/24"]
As you can see, c1-o1 is incus-ne1-ls-int, c2-o2 is incus-net2-ls-int. We can ignore incus-net1-lr, because we are not going to study layer 3 now. Just add switch port to them.
# server
ovn-nbctl lsp-add incus-net1-ls-int net1-to-net2
ovn-nbctl lsp-set-type net1-to-net2 switch
ovn-nbctl lsp-set-options net1-to-net2 peer=net2-to-net1
ovn-nbctl lsp-add incus-net2-ls-int net2-to-net1
ovn-nbctl lsp-set-type net2-to-net1 switch
ovn-nbctl lsp-set-options net2-to-net1 peer=net1-to-net2
# client 1
incus config device add t1 eth0 nic network=c1-o1
~# incus list
+------+---------+--------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+--------------------+------+-----------+-----------+
| t1 | RUNNING | 10.178.97.2 (eth0) | | CONTAINER | 0 |
+------+---------+--------------------+------+-----------+-----------+
# client 2
incus config device add t2 eth0 nic network=c2-o2
~# incus list
+------+---------+------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+------+------+-----------+-----------+
| t2 | RUNNING | | | CONTAINER | 0 |
+------+---------+------+------+-----------+-----------+
I thought t2 can get ip from c1-o1, but no. Let’s go back to server to see what incus has done.
# server
~# ovn-nbctl list logical_switch
_uuid : 1eb27260-eee1-4b60-962a-c87e492c674a
acls : [072524d1-36b9-4104-981c-edb1f36d9884, 14752cf9-bf27-4e49-ac79-c0ac1751f92e, 18060406-25df-4494-8d64-2ae4be32b45e, 1a79d938-29c4-492a-b369-156c1c8ef73a, 37db15f5-afb6-42b3-9b92-c59d090dc798, 3e0adc49-f6ca-4d64-8102-ead46aee5257, 670e7475-c891-4aa7-86b3-ebda1621e986, 70d40433-d784-4812-a136-4619512ffb9e, 83ff941a-ea10-4d29-84a3-b6d6e6dbc251, 84a2895a-e149-43bb-baf3-be16e7b8de12, d2cf42c3-9db6-4f5a-8d45-d17d1a6c929b]
copp : []
dns_records : [f1632fdc-1842-4d95-9644-9cfb03e33809]
external_ids : {}
forwarding_groups : []
load_balancer : []
load_balancer_group : []
name : incus-net1-ls-int
other_config : {exclude_ips="10.178.97.1 10.178.97.254", subnet="10.178.97.0/24"}
ports : [36251c53-f4bc-47b6-a157-2815961b9803, 737a6789-53fb-4f9d-a4e7-6b55bfcc4a19, e44350cc-434e-4dd3-a8bf-a19b846b4b7d]
qos_rules : []
_uuid : 57f3698d-8e4f-458c-9e0b-2ff947623cfe
acls : [133f6d0e-28e5-4b57-9829-2241b7b711d1, 13bb3d11-70fc-4f05-9d20-64e5c0644224, 321d1470-075d-403b-a6ad-1da352088b55, 46251162-8ba5-4ef0-b191-d93bd3df0e7c, 52f6ce80-e1af-41e4-a24d-380192fa7179, 68b21578-b229-4441-ac8f-cdc856c659a1, 7a24e8bf-e5ac-408c-9923-cceb77010b3d, 8017dab3-d5d2-425f-be9c-39b6f940e370, e5f67986-400c-4ef3-a5bf-8438cd30b50a]
copp : []
dns_records : [e6224d2a-18fc-49e4-b1d8-e0ff226bfe2e]
external_ids : {}
forwarding_groups : []
load_balancer : []
load_balancer_group : []
name : incus-net2-ls-int
other_config : {}
ports : [c601350c-eb72-4d34-a917-8047b2bf4975, ec737046-a887-4b7e-9c36-8652e9607a61]
qos_rules : []
You can see incus-net2-ls-int’s other_config is empty.
~# ovn-nbctl list logical_switch_port
_uuid : c601350c-eb72-4d34-a917-8047b2bf4975
addresses : ["10:66:6a:b6:83:f8 dynamic"]
dhcpv4_options : []
dhcpv6_options : []
dynamic_addresses : []
enabled : []
external_ids : {incus_location=none, incus_switch=incus-net2-ls-int}
ha_chassis_group : []
mirror_rules : []
name : incus-net2-instance-bfd04ae2-d2c1-4ce8-8369-5d15c0a7b89e-eth0
options : {requested-chassis="7225b2eb-68a1-448b-925e-65a83a604b3d"}
parent_name : []
peer : []
port_security : []
tag : []
tag_request : []
type : ""
up : true
_uuid : e44350cc-434e-4dd3-a8bf-a19b846b4b7d
addresses : ["10:66:6a:7a:54:3d dynamic"]
dhcpv4_options : 8debac9f-7159-4578-b969-68d04654b89b
dhcpv6_options : []
dynamic_addresses : "10:66:6a:7a:54:3d 10.178.97.2"
enabled : []
external_ids : {incus_location=none, incus_switch=incus-net1-ls-int}
ha_chassis_group : []
mirror_rules : []
name : incus-net1-instance-d7a01b82-65d3-4bc5-b24c-8c57f6a02a04-eth0
options : {requested-chassis="e54ad6e1-382d-4ed7-884e-5e724be3c936"}
parent_name : []
peer : []
port_security : []
tag : []
tag_request : []
type : ""
up : true
_uuid : 737a6789-53fb-4f9d-a4e7-6b55bfcc4a19
addresses : []
dhcpv4_options : []
dhcpv6_options : []
dynamic_addresses : []
enabled : []
external_ids : {}
ha_chassis_group : []
mirror_rules : []
name : net1-to-net2
options : {peer=net2-to-net1}
parent_name : []
peer : []
port_security : []
tag : []
tag_request : []
type : switch
up : true
_uuid : ec737046-a887-4b7e-9c36-8652e9607a61
addresses : []
dhcpv4_options : []
dhcpv6_options : []
dynamic_addresses : []
enabled : []
external_ids : {}
ha_chassis_group : []
mirror_rules : []
name : net2-to-net1
options : {peer=net1-to-net2}
parent_name : []
peer : []
port_security : []
tag : []
tag_request : []
type : switch
up : true
_uuid : 36251c53-f4bc-47b6-a157-2815961b9803
addresses : [router]
dhcpv4_options : []
dhcpv6_options : []
dynamic_addresses : []
enabled : []
external_ids : {incus_switch=incus-net1-ls-int}
ha_chassis_group : []
mirror_rules : []
name : incus-net1-ls-int-lsp-router
options : {nat-addresses=router, router-port=incus-net1-lr-lrp-int}
parent_name : []
peer : []
port_security : []
tag : []
tag_request : []
type : router
up : true
You can see incus-net2-instance-bfd04ae2-d2c1-4ce8-8369-5d15c0a7b89e-eth0 AKA t2’s eth0 doesn’t has dhcpv4_options and dynamic_addresses. That’s why t2 doesn’t get an ip.
~# ovn-nbctl list dhcp_options
_uuid : 8debac9f-7159-4578-b969-68d04654b89b
cidr : "10.178.97.0/24"
external_ids : {incus_switch=incus-net1-ls-int}
options : {dns_server="{10.178.97.1}", domain_name="\"incus\"", domain_search_list="\"incus\"", lease_time="3600", mtu="1442", router="10.178.97.1", server_id="10.178.97.1", server_mac="10:66:6a:fc:ff:3d"}
Does it mean 8debac9f-7159-4578-b969-68d04654b89b is tired to incus-net1-ls-int? Let’s find out.
~# ovn-nbctl set logical_switch 57f3698d-8e4f-458c-9e0b-2ff947623cfe other_config:subnet="10.178.97.0/24"
~# ovn-nbctl lsp-set-dhcpv4-options incus-net2-instance-bfd04ae2-d2c1-4ce8-8369-5d15c0a7b89e-eth0 8debac9f-7159-4578-b969-68d04654b89b
~# ovn-nbctl list logical_switch_port incus-net2-instance-bfd04ae2-d2c1-4ce8-8369-5d15c0a7b89e-eth0
_uuid : c601350c-eb72-4d34-a917-8047b2bf4975
addresses : ["10:66:6a:b6:83:f8 dynamic"]
dhcpv4_options : 8debac9f-7159-4578-b969-68d04654b89b
dhcpv6_options : []
dynamic_addresses : "10:66:6a:b6:83:f8 10.178.97.2"
enabled : []
external_ids : {incus_location=none, incus_switch=incus-net2-ls-int}
ha_chassis_group : []
mirror_rules : []
name : incus-net2-instance-bfd04ae2-d2c1-4ce8-8369-5d15c0a7b89e-eth0
options : {requested-chassis="7225b2eb-68a1-448b-925e-65a83a604b3d"}
parent_name : []
peer : []
port_security : []
tag : []
tag_request : []
type : ""
up : true
Oh, no, both port got the same address. Let do a quick fix.
~# ovn-nbctl set logical_switch 57f3698d-8e4f-458c-9e0b-2ff947623cfe other_config:exclude_ips="10.178.97.1..10.178.97.128 10.178.97.254"
~# ovn-nbctl list logical_switch_port incus-net2-instance-bfd04ae2-d2c1-4ce8-8369-5d15c0a7b89e-eth0
_uuid : c601350c-eb72-4d34-a917-8047b2bf4975
addresses : ["10:66:6a:b6:83:f8 dynamic"]
dhcpv4_options : 8debac9f-7159-4578-b969-68d04654b89b
dhcpv6_options : []
dynamic_addresses : "10:66:6a:b6:83:f8 10.178.97.129"
enabled : []
external_ids : {incus_location=none, incus_switch=incus-net2-ls-int}
ha_chassis_group : []
mirror_rules : []
name : incus-net2-instance-bfd04ae2-d2c1-4ce8-8369-5d15c0a7b89e-eth0
options : {requested-chassis="7225b2eb-68a1-448b-925e-65a83a604b3d"}
parent_name : []
peer : []
port_security : []
tag : []
tag_request : []
type : ""
up : true
# client 2
~# incus list
+------+---------+--------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+--------------------+------+-----------+-----------+
| t2 | RUNNING | 10.178.97.2 (eth0) | | CONTAINER | 0 |
+------+---------+--------------------+------+-----------+-----------+
~# incus exec t2 -- dhclient eth0
~# incus list
+------+---------+----------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+----------------------+------+-----------+-----------+
| t2 | RUNNING | 10.178.97.2 (eth0) | | CONTAINER | 0 |
| | | 10.178.97.129 (eth0) | | | |
+------+---------+----------------------+------+-----------+-----------+
Well, I need to maually remove 10.178.97.2.
~# incus exec t2 -- ip addr del 10.178.97.2/24 dev eth0
~# incus list
+------+---------+----------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+----------------------+------+-----------+-----------+
| t2 | RUNNING | 10.178.97.129 (eth0) | | CONTAINER | 0 |
+------+---------+----------------------+------+-----------+-----------+
ping test
# client 2
~# incus exec t2 -- ping -c 1 10.178.97.2
PING 10.178.97.2 (10.178.97.2) 56(84) bytes of data.
64 bytes from 10.178.97.2: icmp_seq=1 ttl=64 time=1.81 ms
--- 10.178.97.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.813/1.813/1.813/0.000 ms
# client 1
~# incus exec t1 -- ping -c 1 10.178.97.129
PING 10.178.97.129 (10.178.97.129) 56(84) bytes of data.
64 bytes from 10.178.97.129: icmp_seq=1 ttl=64 time=1.34 ms
--- 10.178.97.129 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.339/1.339/1.339/0.000 ms
So 2 incus created ovn networks can share the same cidr, we just need to deal with exclude_ips. Let’s try attach client 2’s t3 to c2-o2.
# client 2
~# incus config device add t3 eth0 nic network=c2-o2
Error: Failed to start device "eth0": Failed setting up OVN port: object not found
~# incus network attach c2-o2 t3 eth0
Error: Failed to start device "eth0": Failed setting up OVN port: object not found
Can’t do it, don’t know which object it refered. Gonna to destory this 2 switch, and do it again.
# client 1
incus config device remove t1 eth0
incus network delete c1-o1
incus network create c1-o1 --type=ovn ipv6.address=none network=none ipv4.address=10.28.100.1/24 ipv4.dhcp.ranges=10.28.100.10-10.28.100.128
incus config device add t1 eth0 nic network=c1-o1
~# incus list
+------+---------+---------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+---------------------+------+-----------+-----------+
| t1 | RUNNING | 10.28.100.10 (eth0) | | CONTAINER | 0 |
+------+---------+---------------------+------+-----------+-----------+
# client 2
incus config device remove t2 eth0
incus network delete c2-o2
incus network create c2-ovn --type=ovn network=none ipv6.address=none ipv4.address=10.28.100.2/24 ipv4.dhcp.ranges=10.28.100.129-10.28.100.250
incus config device add t2 eth0 nic network=c2-ovn
incus config device add t3 eth0 nic network=c2-ovn
~# incus list
+------+---------+----------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+----------------------+------+-----------+-----------+
| t2 | RUNNING | 10.28.100.129 (eth0) | | CONTAINER | 0 |
+------+---------+----------------------+------+-----------+-----------+
| t3 | RUNNING | 10.28.100.130 (eth0) | | CONTAINER | 0 |
+------+---------+----------------------+------+-----------+-----------+
# server
~# ovn-nbctl show
switch 6fb8f7b7-1b55-4767-ac37-fbf34e634d78 (incus-net3-ls-int)
port incus-net3-ls-int-lsp-router
type: router
router-port: incus-net3-lr-lrp-int
port incus-net3-instance-bfd04ae2-d2c1-4ce8-8369-5d15c0a7b89e-eth0
addresses: ["10:66:6a:b0:fe:71 dynamic"]
port incus-net3-instance-bf490c4e-1c53-4b66-a925-a8fc53e9a5ec-eth0
addresses: ["10:66:6a:d2:e5:7b dynamic"]
switch 18fc1c6b-c696-4ba4-9bd2-a1201efe0fcf (incus-net2-ls-int)
port incus-net2-ls-int-lsp-router
type: router
router-port: incus-net2-lr-lrp-int
port incus-net2-instance-d7a01b82-65d3-4bc5-b24c-8c57f6a02a04-eth0
addresses: ["10:66:6a:dd:e1:d8 dynamic"]
router 93fd77d5-0f8a-4a1a-b7a0-2358b02ce49a (incus-net3-lr)
port incus-net3-lr-lrp-int
mac: "10:66:6a:f6:25:99"
ipv6-lla: "fe80::1266:6aff:fef6:2599"
networks: ["10.28.100.2/24"]
nat b9c537a6-df97-4739-9b56-8f4f29d017de
external ip: "10.28.100.129"
logical ip: "10.28.100.129"
type: "dnat_and_snat"
nat c24ce39d-00c5-4ec2-a845-39c2b890a34e
external ip: "10.28.100.130"
logical ip: "10.28.100.130"
type: "dnat_and_snat"
router 60916eda-812b-4171-a5b7-9fc8b848fbd7 (incus-net2-lr)
port incus-net2-lr-lrp-int
mac: "10:66:6a:62:a0:9c"
ipv6-lla: "fe80::1266:6aff:fe62:a09c"
networks: ["10.28.100.1/24"]
nat 92c1d670-6873-4f7e-91d7-dee2a915f852
external ip: "10.28.100.10"
logical ip: "10.28.100.10"
type: "dnat_and_snat"
ovn-nbctl lsp-add incus-net3-ls-int net3-to-net2
ovn-nbctl lsp-set-type net3-to-net2 switch
ovn-nbctl lsp-set-options net3-to-net2 peer=net2-to-net3
ovn-nbctl lsp-add incus-net2-ls-int net2-to-net3
ovn-nbctl lsp-set-type net2-to-net3 switch
ovn-nbctl lsp-set-options net2-to-net3 peer=net3-to-net2
ping test
# client 1
~# incus exec t1 -- ping -c 1 10.28.100.129
PING 10.28.100.129 (10.28.100.129) 56(84) bytes of data.
64 bytes from 10.28.100.129: icmp_seq=1 ttl=64 time=1.89 ms
--- 10.28.100.129 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.890/1.890/1.890/0.000 ms
# client 2
~# incus exec t2 -- ping -c 1 10.28.100.10
PING 10.28.100.10 (10.28.100.10) 56(84) bytes of data.
64 bytes from 10.28.100.10: icmp_seq=1 ttl=64 time=1.25 ms
--- 10.28.100.10 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.245/1.245/1.245/0.000 ms
It works, don’t know why I can’t add t3 to c2-o2 before.
dns test
# client 1
~# incus exec t1 -- resolvectl query t2.incus
t2.incus: resolve call failed: Lookup failed due to system error: Connection refused
~# incus exec t1 -- resolvectl query t3.incus
t3.incus: resolve call failed: Lookup failed due to system error: Connection refused
# client 2
~# incus exec t2 -- resolvectl query t1.incus
t1.incus: resolve call failed: Lookup failed due to system error: Connection refused
~# incus exec t2 -- resolvectl query t3.incus
t3.incus: 10.28.100.130 -- link: eth0
-- Information acquired via protocol DNS in 4.3ms.
-- Data is authenticated: no; Data was acquired via local or encrypted transport: no
-- Data from: network
# client 2
~# incus exec t3 -- resolvectl query t1.incus
t1.incus: resolve call failed: Lookup failed due to system error: Connection refused
~# incus exec t3 -- resolvectl query t2.incus
t2.incus: 10.28.100.129 -- link: eth0
-- Information acquired via protocol DNS in 5.1ms.
-- Data is authenticated: no; Data was acquired via local or encrypted transport: no
-- Data from: network
Yep, 2 DHCP, 2 DNS.
result
# server
~# ovn-sbctl show
Chassis "e54ad6e1-382d-4ed7-884e-5e724be3c936"
hostname: oc1
Encap geneve
ip: "10.129.251.100"
options: {csum="true"}
Port_Binding incus-net2-instance-d7a01b82-65d3-4bc5-b24c-8c57f6a02a04-eth0
Chassis "7225b2eb-68a1-448b-925e-65a83a604b3d"
hostname: oc2
Encap geneve
ip: "10.129.251.91"
options: {csum="true"}
Port_Binding incus-net3-instance-bf490c4e-1c53-4b66-a925-a8fc53e9a5ec-eth0
Port_Binding incus-net3-instance-bfd04ae2-d2c1-4ce8-8369-5d15c0a7b89e-eth0
~# ovn-nbctl show
switch 6fb8f7b7-1b55-4767-ac37-fbf34e634d78 (incus-net3-ls-int)
port incus-net3-ls-int-lsp-router
type: router
router-port: incus-net3-lr-lrp-int
port incus-net3-instance-bfd04ae2-d2c1-4ce8-8369-5d15c0a7b89e-eth0
addresses: ["10:66:6a:b0:fe:71 dynamic"]
port net3-to-net2
type: switch
port incus-net3-instance-bf490c4e-1c53-4b66-a925-a8fc53e9a5ec-eth0
addresses: ["10:66:6a:d2:e5:7b dynamic"]
switch 18fc1c6b-c696-4ba4-9bd2-a1201efe0fcf (incus-net2-ls-int)
port net2-to-net3
type: switch
port incus-net2-ls-int-lsp-router
type: router
router-port: incus-net2-lr-lrp-int
port incus-net2-instance-d7a01b82-65d3-4bc5-b24c-8c57f6a02a04-eth0
addresses: ["10:66:6a:dd:e1:d8 dynamic"]
router 93fd77d5-0f8a-4a1a-b7a0-2358b02ce49a (incus-net3-lr)
port incus-net3-lr-lrp-int
mac: "10:66:6a:f6:25:99"
ipv6-lla: "fe80::1266:6aff:fef6:2599"
networks: ["10.28.100.2/24"]
nat b9c537a6-df97-4739-9b56-8f4f29d017de
external ip: "10.28.100.129"
logical ip: "10.28.100.129"
type: "dnat_and_snat"
nat c24ce39d-00c5-4ec2-a845-39c2b890a34e
external ip: "10.28.100.130"
logical ip: "10.28.100.130"
type: "dnat_and_snat"
router 60916eda-812b-4171-a5b7-9fc8b848fbd7 (incus-net2-lr)
port incus-net2-lr-lrp-int
mac: "10:66:6a:62:a0:9c"
ipv6-lla: "fe80::1266:6aff:fe62:a09c"
networks: ["10.28.100.1/24"]
nat 92c1d670-6873-4f7e-91d7-dee2a915f852
external ip: "10.28.100.10"
logical ip: "10.28.100.10"
type: "dnat_and_snat"
~# ovn-nbctl list logical_switch
_uuid : 6fb8f7b7-1b55-4767-ac37-fbf34e634d78
acls : [069d6d10-b00e-426b-aa53-0555a278caae, 0d835da4-5611-4488-91eb-14e0657c45f3, 570a0b19-ff30-425f-b57d-b0f269a3bcc2, 71ec270a-8ef5-43e3-b3b7-e7e0737c0f51, 76953d79-fd69-4dbc-872c-69a8ee86d062, 817baa62-2ee5-4379-b6d7-fb4a67dcb46e, 9d3080cf-e442-46d1-9100-9875b38c4493, a598886d-bc92-4d83-a743-f53f2416a7c9, b6fa7e76-3696-4968-a938-37d4ae7e8ce2, bec5bc91-e706-4776-bd14-52c8eec92cb3, d702c845-b4cf-44bc-95a5-c5d41b761b11]
copp : []
dns_records : [0dabc3f0-bc25-432e-a2fd-c5432cc6a39c, 790c15fa-7d05-4416-b4c8-e8f6f2d3333d]
external_ids : {}
forwarding_groups : []
load_balancer : []
load_balancer_group : []
name : incus-net3-ls-int
other_config : {exclude_ips="10.28.100.2..10.28.100.128 10.28.100.251..10.28.100.254", subnet="10.28.100.0/24"}
ports : [7f7b6d72-880f-4e7b-9d25-ccf0a36cc350, 8ba37b9c-64e5-44ce-be45-4965cf6c9961, 8c9d1b1d-0636-42f0-b2e1-679aef795300, b5a61ae4-577c-443a-b3b1-48c0fa4386ce]
qos_rules : []
_uuid : 18fc1c6b-c696-4ba4-9bd2-a1201efe0fcf
acls : [09acf375-7b42-4d2e-902c-53d6e1f30326, 0b8b9ff4-eb50-483f-89fc-0c491ab0b939, 126f28bd-9cf5-4d5b-9d9c-19f7a4787e6d, 135642e6-e8ae-4cbf-a0ab-07acd92f0fe5, 15758a0e-fb12-4e4c-a5a3-93b84c0b23e9, 3e6d67e2-a332-4d86-9e19-1545e62814b5, 4d431661-6efe-44bd-9555-d47c5aa1e1a0, 9b68f496-53e8-455b-a64b-fcf7dd65a926, a7ef9acf-94c0-4af9-9f19-31c1c6a7749c, b70c4f98-6981-451d-b665-e6e8adca5b3c, be7cdbf9-56fd-4b9c-9ada-508f65cbba16]
copp : []
dns_records : [b49132c6-28d7-4d15-8a85-c8984c4d994b]
external_ids : {}
forwarding_groups : []
load_balancer : []
load_balancer_group : []
name : incus-net2-ls-int
other_config : {exclude_ips="10.28.100.1..10.28.100.9 10.28.100.129..10.28.100.254", subnet="10.28.100.0/24"}
ports : [64ed9598-0382-4402-b1ae-b2362483bc06, 9957e3f3-915f-4b7f-86d0-1c3138133c32, be83854c-8ba8-4bee-94ca-8d1e7bcb6a35]
qos_rules : []
~# ovn-nbctl list logical_switch_port
_uuid : b5a61ae4-577c-443a-b3b1-48c0fa4386ce
addresses : ["10:66:6a:d2:e5:7b dynamic"]
dhcpv4_options : a9e91328-b475-4a31-b2bc-89d14ef228be
dhcpv6_options : []
dynamic_addresses : "10:66:6a:d2:e5:7b 10.28.100.130"
enabled : []
external_ids : {incus_location=none, incus_switch=incus-net3-ls-int}
ha_chassis_group : []
mirror_rules : []
name : incus-net3-instance-bf490c4e-1c53-4b66-a925-a8fc53e9a5ec-eth0
options : {requested-chassis="7225b2eb-68a1-448b-925e-65a83a604b3d"}
parent_name : []
peer : []
port_security : []
tag : []
tag_request : []
type : ""
up : true
_uuid : 64ed9598-0382-4402-b1ae-b2362483bc06
addresses : []
dhcpv4_options : []
dhcpv6_options : []
dynamic_addresses : []
enabled : []
external_ids : {}
ha_chassis_group : []
mirror_rules : []
name : net2-to-net3
options : {peer=net3-to-net2}
parent_name : []
peer : []
port_security : []
tag : []
tag_request : []
type : switch
up : true
_uuid : 8ba37b9c-64e5-44ce-be45-4965cf6c9961
addresses : ["10:66:6a:b0:fe:71 dynamic"]
dhcpv4_options : a9e91328-b475-4a31-b2bc-89d14ef228be
dhcpv6_options : []
dynamic_addresses : "10:66:6a:b0:fe:71 10.28.100.129"
enabled : []
external_ids : {incus_location=none, incus_switch=incus-net3-ls-int}
ha_chassis_group : []
mirror_rules : []
name : incus-net3-instance-bfd04ae2-d2c1-4ce8-8369-5d15c0a7b89e-eth0
options : {requested-chassis="7225b2eb-68a1-448b-925e-65a83a604b3d"}
parent_name : []
peer : []
port_security : []
tag : []
tag_request : []
type : ""
up : true
_uuid : be83854c-8ba8-4bee-94ca-8d1e7bcb6a35
addresses : ["10:66:6a:dd:e1:d8 dynamic"]
dhcpv4_options : 45625b96-b898-4829-99ac-cf301a75c466
dhcpv6_options : []
dynamic_addresses : "10:66:6a:dd:e1:d8 10.28.100.10"
enabled : []
external_ids : {incus_location=none, incus_switch=incus-net2-ls-int}
ha_chassis_group : []
mirror_rules : []
name : incus-net2-instance-d7a01b82-65d3-4bc5-b24c-8c57f6a02a04-eth0
options : {requested-chassis="e54ad6e1-382d-4ed7-884e-5e724be3c936"}
parent_name : []
peer : []
port_security : []
tag : []
tag_request : []
type : ""
up : true
_uuid : 8c9d1b1d-0636-42f0-b2e1-679aef795300
addresses : []
dhcpv4_options : []
dhcpv6_options : []
dynamic_addresses : []
enabled : []
external_ids : {}
ha_chassis_group : []
mirror_rules : []
name : net3-to-net2
options : {peer=net2-to-net3}
parent_name : []
peer : []
port_security : []
tag : []
tag_request : []
type : switch
up : true
_uuid : 7f7b6d72-880f-4e7b-9d25-ccf0a36cc350
addresses : [router]
dhcpv4_options : []
dhcpv6_options : []
dynamic_addresses : []
enabled : []
external_ids : {incus_switch=incus-net3-ls-int}
ha_chassis_group : []
mirror_rules : []
name : incus-net3-ls-int-lsp-router
options : {nat-addresses=router, router-port=incus-net3-lr-lrp-int}
parent_name : []
peer : []
port_security : []
tag : []
tag_request : []
type : router
up : true
_uuid : 9957e3f3-915f-4b7f-86d0-1c3138133c32
addresses : [router]
dhcpv4_options : []
dhcpv6_options : []
dynamic_addresses : []
enabled : []
external_ids : {incus_switch=incus-net2-ls-int}
ha_chassis_group : []
mirror_rules : []
name : incus-net2-ls-int-lsp-router
options : {nat-addresses=router, router-port=incus-net2-lr-lrp-int}
parent_name : []
peer : []
port_security : []
tag : []
tag_request : []
type : router
up : true
~# ovn-nbctl list dhcp_options
_uuid : a9e91328-b475-4a31-b2bc-89d14ef228be
cidr : "10.28.100.0/24"
external_ids : {incus_switch=incus-net3-ls-int}
options : {dns_server="{10.28.100.2}", domain_name="\"incus\"", domain_search_list="\"incus\"", lease_time="3600", mtu="1442", router="10.28.100.2", server_id="10.28.100.2", server_mac="10:66:6a:f6:25:99"}
_uuid : 45625b96-b898-4829-99ac-cf301a75c466
cidr : "10.28.100.0/24"
external_ids : {incus_switch=incus-net2-ls-int}
options : {dns_server="{10.28.100.1}", domain_name="\"incus\"", domain_search_list="\"incus\"", lease_time="3600", mtu="1442", router="10.28.100.1", server_id="10.28.100.1", server_mac="10:66:6a:62:a0:9c"}
# client 1
~# ovs-vsctl show
e655c3c9-9f7a-42e4-a9bd-8a639a25949e
Bridge br-int
fail_mode: secure
datapath_type: system
Port br-int
Interface br-int
type: internal
Port ovn-7225b2-0
Interface ovn-7225b2-0
type: geneve
options: {csum="true", key=flow, local_ip="10.129.251.100", remote_ip="10.129.251.91"}
Port veth25ce572a
Interface veth25ce572a
~# incus network show c1-o1
config:
bridge.mtu: "1442"
ipv4.address: 10.28.100.1/24
ipv4.dhcp.ranges: 10.28.100.10-10.28.100.128
ipv6.address: none
network: none
description: ""
name: c1-o1
type: ovn
used_by:
- /1.0/instances/t1
managed: true
status: Created
locations:
- none
project: default
# client 2
~# ovs-vsctl show
bd70728b-95af-4a9f-9b62-577ffe017df5
Bridge br-int
fail_mode: secure
datapath_type: system
Port veth91df8cc0
Interface veth91df8cc0
Port ovn-e54ad6-0
Interface ovn-e54ad6-0
type: geneve
options: {csum="true", key=flow, local_ip="10.129.251.91", remote_ip="10.129.251.100"}
Port br-int
Interface br-int
type: internal
Port veth96066154
Interface veth96066154
~# incus network show c2-ovn
config:
bridge.mtu: "1442"
ipv4.address: 10.28.100.2/24
ipv4.dhcp.ranges: 10.28.100.129-10.28.100.250
ipv6.address: none
network: none
description: ""
name: c2-ovn
type: ovn
used_by:
- /1.0/instances/t2
- /1.0/instances/t3
managed: true
status: Created
locations:
- none
project: default