Mon application doit obtenir des mises à jour de routage multicast netlink depuis le noyau. J'ai fait quelques recherches et trouvé mutlicast utilise une famille différente: RTNL_FAMILY_IPMR et le groupe est RTMGRP_IPV4_MROUTE.Mises à jour de routage mutlicast Linux netlink
Cependant, si j'utilise:
sfd = socket (AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
snl.nl_groups |= RTMGRP_IPV4_MROUTE
Je n'obtenir des mises à jour.
Mais
sfd = socket (AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
snl.nl_family = RTNL_FAMILY_IPMR;
snl.nl_groups |= RTMGRP_IPV4_MROUTE;
Cela donne bind erreur », se lient: Invalid argument
sfd = socket (RTNL_FAMILY_IPMR, SOCK_RAW, NETLINK_ROUTE);
Cela donne "famille d'adresses non pris en charge par le protocole" d'erreur
Je ne sais pas comment pour obtenir des mises à jour du noyau pour les routes mutlicast