Bläddra i källkod

PubSub: Only warn if the address has multicast disabled

Julius Pfrommer 5 år sedan
förälder
incheckning
9931220fb3
1 ändrade filer med 5 tillägg och 9 borttagningar
  1. 5 9
      plugins/networking/ua_network_pubsub_udp.c

+ 5 - 9
plugins/networking/ua_network_pubsub_udp.c

@@ -117,12 +117,8 @@ UA_PubSubChannelUDPMC_open(const UA_PubSubConnectionConfig *connectionConfig) {
         struct in_addr imr_interface;
         UA_inet_pton(AF_INET, addressAsChar, &imr_interface);
         if((UA_ntohl(imr_interface.s_addr) & 0xF0000000) != 0xE0000000){
-            UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_SERVER,
-                         "PubSub Connection creation failed. No multicast address.");
-            UA_freeaddrinfo(requestResult);
-            UA_free(channelDataUDPMC);
-            UA_free(newChannel);
-            return NULL;
+            UA_LOG_WARNING(UA_Log_Stdout, UA_LOGCATEGORY_SERVER,
+                           "PubSub Connection creation failed. No multicast address.");
         }
     } else {
         //TODO check if ipv6 addrr is multicast address.
@@ -285,9 +281,9 @@ UA_PubSubChannelUDPMC_regist(UA_PubSubChannel *channel, UA_ExtensionObject *tran
         groupV4.imr_interface.s_addr = UA_htonl(INADDR_ANY);
         //multihomed hosts can join several groups on different IF, INADDR_ANY -> kernel decides
 
-        if(UA_setsockopt(channel->sockfd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *) &groupV4, sizeof(groupV4)) != 0){
-            UA_LOG_ERROR(UA_Log_Stdout, UA_LOGCATEGORY_SERVER, "PubSub Connection regist failed.");
-            return UA_STATUSCODE_BADINTERNALERROR;
+        if(UA_setsockopt(channel->sockfd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *) &groupV4, sizeof(groupV4)) != 0) {
+            UA_LOG_WARNING(UA_Log_Stdout, UA_LOGCATEGORY_SERVER,
+                           "PubSub Connection not on multicast");
         }
 #if UA_IPV6
     } else if (connectionConfig->ai_family == PF_INET6) {//IPv6 handling