diff options
| -rw-r--r-- | drivers/unix/socket_helpers.h | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/unix/socket_helpers.h b/drivers/unix/socket_helpers.h index 5ef9ad3088..5b42c13eae 100644 --- a/drivers/unix/socket_helpers.h +++ b/drivers/unix/socket_helpers.h @@ -124,6 +124,13 @@ static int _socket_create(IP::Type &p_type, int type, int protocol) {  			WARN_PRINT("Unable to set/unset IPv4 address mapping over IPv6");  		}  	} +	if (protocol == IPPROTO_UDP && p_type != IP::TYPE_IPV6) { +		// Enable broadcasting for UDP sockets if it's not IPv6 only (IPv6 has no broadcast option). +		int broadcast = 1; +		if (setsockopt(sockfd, SOL_SOCKET, SO_BROADCAST, (char *)&broadcast, sizeof(broadcast)) != 0) { +			WARN_PRINT("Error when enabling broadcasting"); +		} +	}  	return sockfd;  }  |