When an interface is shut down, ripng_multicast_leave() is called after
ifp->flags is updated in ripng_interface_down(). So we shouldn't check
if the interface is up in order to proceed with the membership drop.
For consistency's sake, don't check for if_is_up() in
ripng_multicast_join() as well. In this case, this function is only
called when the interface is up, so the check was unnecessary.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
struct ipv6_mreq mreq;
int save_errno;
- if (if_is_up (ifp) && if_is_multicast (ifp)) {
+ if (if_is_multicast (ifp)) {
memset (&mreq, 0, sizeof (mreq));
inet_pton(AF_INET6, RIPNG_GROUP, &mreq.ipv6mr_multiaddr);
mreq.ipv6mr_interface = ifp->ifindex;
int ret;
struct ipv6_mreq mreq;
- if (if_is_up (ifp) && if_is_multicast (ifp)) {
+ if (if_is_multicast (ifp)) {
memset (&mreq, 0, sizeof (mreq));
inet_pton(AF_INET6, RIPNG_GROUP, &mreq.ipv6mr_multiaddr);
mreq.ipv6mr_interface = ifp->ifindex;