Multicast address config lost

On Solaris OS, We use the following command to config the multicast address for NIC in order to process the multicast packets:
# route add 228.228.228.228 10.101.10.2
Where " 228.228.228.228 " is the multicast for specified NIC ip 10.101.10.2 .
Also use the netstat -nr, the above set could been displayed as the following:

Routing Table: IPv4
  Destination           Gateway           Flags  Ref     Use     Interface 
-------------------- -------------------- ----- ----- ---------- --------- 
228.228.228.228             10.101.10.2          U         1       1020 e1000g0   

In our program, we use the function:
setsockopt(sockfd,IPPROTO_IP,IP_ADD_MEMBERSHIP,&mreq,sizeof(mreq)) to
join the multicast group and receive the packets.
At the begining, all runs ok. But after about two days later, the multicast address 228.228.228.228 was lost, which cause our program run unnormmally.
What confuse us is that the above phenomena do not exist on the other UNIX/Linux OS. anyone can fix it,thanks.