Add section about configuring macvtap multicast to HomeKit (#21181)

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
This commit is contained in:
NanoSector 2022-01-19 19:08:47 +01:00 committed by GitHub
parent f9b7569c5d
commit 88e918f90a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 0 deletions

View File

@ -543,6 +543,10 @@ You can also try to use `avahi-daemon` in reflector mode together with the optio
Configure the network mode as `networkbridge`. Otherwise the Home Assistant Bridge won't be exposed to the network.
#### Accessory does not appear in the Home App (for pairing) - Libvirt QEMU/KVM virtual machine with macvtap adapter
Please see the [Zero-configuration networking](/integrations/zeroconf/#troubleshooting) integration for more details.
#### Pairing hangs - zeroconf error
Pairing eventually fails, you might see the error message, `NonUniqueNameException`, you likely need to enable `default_interface: true` in the `zeroconf` integration configuration and set a unique name such as `name: MyHASS42`.

View File

@ -29,3 +29,28 @@ zeroconf:
Zeroconf chooses which interfaces to broadcast on based on the [Network](/integrations/network/) integration.
IPv6 will automatically be enabled if one of the selected interfaces has an IPv6 address that is enabled via the Network integration.
## Troubleshooting
### Integrations relying on Zeroconf traffic are unresponsive
Some integrations rely on Zeroconf traffic to work, for example, the [HomeKit](/integrations/homekit/) integration.
These integrations will not respond to traffic from other devices if the host device is not configured correctly.
#### Libvirt virtual machine with macvtap adapter
By default, the macvtap adapter created by libvirt does not allow the guest to receive Zeroconf or multicast traffic.
Configure the virtual machine to accept this traffic by adding the `trustGuestRxFilters="yes"` setting in the adapter's XML. For example:
```xml
<interface type="direct" trustGuestRxFilters="yes">
<mac address="xx:xx:xx:xx:xx:xx"/>
<source dev="eno1" mode="bridge"/>
<model type="virtio"/>
<link state="up"/>
<address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
</interface>
```
This only works with the `virtio` network adapter type and it is disabled by default for security reasons. See [the libvirt documentation](https://libvirt.org/formatdomain.html#elementsNICS) for more details.