Swarm, multicast and macvlan

I’d like to use the Tomcat built in session replication, which uses multicast. Multicast doesn’t work though with the overlay network. I’ve been trying to use the macvlan network instead, but swarm doesn’t recognise this to put a service on:

[root@docker:/root] docker service create --network pub_net tomcat
Error response from daemon: network pub_net is not eligible for docker services

[root@docker:/root] docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
952c0fdbb371        bridge              bridge              local
ed071d0a3075        docker_gwbridge     bridge              local
1da78016fde1        host                host                local
auhurxzh4c4t        ingress             overlay             swarm
claku1d9woa4        my-network          overlay             swarm
4b71aa6a13d0        none                null                local
da1b69170119        pub_net             macvlan             local

Is it possible to use a macvlan network and swarm so I can use services that use multicast?

I met the same problem, any update or solution?

If it’s related to Tomcat, then don’t use session replication that requires multicast. Use something like hazelcast (https://hazelcast.com/use-cases/web-session-clustering/generic-web-session-replication/) instead. Although Hazelcast doesn’t have a Docker Swarm discovery plugin yet, so there isn’t a great solution if you want a clustered hazelcast service.