Bridge network setup: no IPv6 address assigned on network smaller than /64?

Hi, this is a question about network basics: I can’t see the reason why an IPv6 assignment by dnsmasq is working on a /64 network but obviously fails on a smaller /80 network ?

# lxc network set lxdbr0 ipv6.routes 2a01:4f8:221:3cca::/64
# lxc network set lxdbr0 ipv6.address 2a01:4f8:221:3cca::1/64
# lxc start foo
# lxc ls
+--------+---------+---------------------+---------------------------------------------+------------+-----------+
|  NAME  |  STATE  |        IPV4         |                    IPV6                     |    TYPE    | SNAPSHOTS |
+--------+---------+---------------------+---------------------------------------------+------------+-----------+
| foo    | RUNNING | 10.213.27.37 (eth0) | 2a01:4f8:221:3cca:216:3eff:fe85:24ab (eth0) | PERSISTENT | 1         |
+--------+---------+---------------------+---------------------------------------------+------------+-----------+
# lxc stop foo
# lxc network set lxdbr0 ipv6.routes 2a01:4f8:221:3cca::/80
# lxc network set lxdbr0 ipv6.address 2a01:4f8:221:3cca::1/80
# systemctl restart snap.lxd.daemon
# lxc start foo
# lxc ls
+--------+---------+---------------------+------+------------+-----------+
|  NAME  |  STATE  |        IPV4         | IPV6 |    TYPE    | SNAPSHOTS |
+--------+---------+---------------------+------+------------+-----------+
| foo    | RUNNING | 10.213.27.37 (eth0) |      | PERSISTENT | 1         |
+--------+---------+---------------------+------+------------+-----------+
# lxc network show lxdbr0
config:
  ipv4.address: 10.213.27.1/24
  ipv4.nat: "true"
  ipv6.address: 2a01:4f8:221:3cca::1/80
  ipv6.nat: "false"
  ipv6.routes: 2a01:4f8:221:3cca::/80
  ipv6.routing: "true"
description: ""
name: lxdbr0
type: bridge
used_by:
- /1.0/containers/foo
managed: true
status: Created
locations:
- none

Is there any need to reset records in /var/snap/lxd/common/lxd/networks/lxdbr0/dnsmasq.leases ?

A /80 is too small for SLAAC so no addresses will be handed out that way.
For a /80, you’d need to enable DHCPv6 and configure your containers to request address over DHCPv6.

1 Like