# mvirt 0.31.1

migrations: no
wire: unchanged
floor: 0.29.0
rev: 2c8dd9e1b1823cc43ca9ba33f0df4f1a3a5317e8

mvirt 0.31.1

Overlay MTU edges: a too-big guest packet gets a proper answer, VIP pings
survive the relay, and guests are never told an MTU their NIC cannot run.

- ebpf: a DF packet from a guest larger than the overlay MTU is answered by
  the gateway with ICMP frag-needed / ICMPv6 Packet Too Big naming the
  overlay MTU (new tail-called egress_too_big), instead of being encapsulated
  anyway and depending on outer fragmentation (#57).
- ebpf: VIP ping replies are sent without DF and with a fresh IP ID, so the
  1400-byte vSwitch relay to the anchor fragments instead of dropping them
  (measured: ≥1380-byte pings to a VIP were 0/20) (#57).
- ebpf, one: DHCP option 26 and the RA MTU are min(overlay MTU, tap MTU);
  mvirt-one applies the RA MTU (lowering only, ≥1280) (#57).


## Upgrading

Point your flake's `mvirt` input at this release and redeploy the control-plane
host first, then each node in turn:

```
nix run .#colmena -- apply boot --reboot --on <control-plane host>
nix run .#colmena -- apply boot --reboot --on <node>   # one at a time
```

This release adds no migrations, so the control-plane host rolls back the same way
a node does: boot the previous NixOS generation.
