hm. As far as I figured out, you either have to switch to a different zone in firewalld or add it to the allowed services. I had a similar problem with my samba server.
this command lists all available services for firewalld, avahi should be mdns.
The output should look like this:
cluster-suite pop3s bacula-client smtp ipp radius bacula ftp mdns samba
dhcpv6-client dns openvpn imaps samba-client http https telnet libvirt ssh
ipsecipp-client amanda-client tftp-client dhcpv6 nfs tftp libvirt-tls
to find out in which zone your connection is, you can use two different commands:
nmcli -f NAME,DEVICES,ZONE con status
to find out which services are supported in your zone (in this case home):
firewall-cmd --list=all --zone=home
this adds the service (in this case samba) to the allowed services in the zone home.
firewall-cmd --add --zone=home --service=samba
if you want to change the zone, you have to edit /etc/sysconfig/network-scripts/(your connection here)
simply add ZONE = home or whatever zone you want at the end of the .cfg file. NetworkManager will automatically reconnect and pick up the correct zone.
firewalld keeps forgetting the added services after a restart and I haven't figured out a way to make these settings permanent. I wrote an email to the firewalld-users mailing list, but no answer so far.
I have uninstalled firewalld and installed system-config-firewall because of that issue. At the moment it's just WAY more complicated than the old iptables interface, plus the only documentation or user manual I found was in fact the test-cases from the firewalld testday https://fedoraproject.org/wiki/Test_...3-19_firewalld
How am I supposed to find out how to do anything with it?
I have yet to see the advantages of this new daemon, the Zone model is a nice idea though. In my humble opinion they should have waited to include it as a default until they have some graphical way of configuring it.
I hope this helps a little :-)