Não. E os endereços multicast IP têm um intervalo especial (por exemplo, 239.x.x.x) que seria ilegal como endereço do host. Você acabou de fazer o setsockopt
com IP_ADD_MEMBERSHIP
e pronto. E, se você realmente pensar sobre isso, mudar o IP significaria que todo o tráfego regular pararia.
O que você está fazendo é dizer que você gostaria que a interface [através do socket] escutasse e processasse pacotes para o endereço multicast fornecido, além de seu endereço de interface regular. É um pouco mais complexo do que isso, mas perto o suficiente.
IIRC, se um sistema [host0] tiver duas interfaces (por exemplo, placas NIC), dizer eth0 e eth1, e eth0 tiver a conexão semi-direta com um determinado multicast, e houver um host1 conectado ao host0 via eth1, e host1 pode apenas chegar ao multicast via host0, host0 terá que se inscrever no multicast, não para si mesmo, mas em nome do host1, e encaminhar os pacotes em eth1.