Meine Anwendung sollte netlink Multicast-Route Updates vom Kernel erhalten. Ich habe einige Nachforschungen gemacht und festgestellt, dass mutlicast eine andere Familie verwendet: RTNL_FAMILY_IPMR und die Gruppe ist RTMGRP_IPV4_MROUTE.Linux netlink mutlicast Routing-Updates
Allerdings, wenn ich benutze:
sfd = socket (AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
snl.nl_groups |= RTMGRP_IPV4_MROUTE
ich nicht irgendwelche Updates.
Aber
sfd = socket (AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
snl.nl_family = RTNL_FAMILY_IPMR;
snl.nl_groups |= RTMGRP_IPV4_MROUTE;
Dieses binden Fehler geben“, bindet: Invalid argument
sfd = socket (RTNL_FAMILY_IPMR, SOCK_RAW, NETLINK_ROUTE);
Diese geben "Address Familie nicht durch Protokoll unterstützt" Fehler
Ich bin nicht sicher, wie um Updates vom Kernel für Mutlicast-Routen zu erhalten