From 567107d2223f654357949d148c1c09d6e2759e17 Mon Sep 17 00:00:00 2001 From: "Wesley W. Terpstra" <w.terpstra@gsi.de> Date: Thu, 8 Mar 2012 15:09:25 +0000 Subject: [PATCH] Support broadcast Etherbone over UDP. --- api/transport/posix-udp.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/api/transport/posix-udp.c b/api/transport/posix-udp.c index 4879761..cf377f1 100644 --- a/api/transport/posix-udp.c +++ b/api/transport/posix-udp.c @@ -46,10 +46,18 @@ eb_status_t eb_posix_udp_open(struct eb_transport* transportp, const char* port) { struct eb_posix_udp_transport* transport; eb_posix_sock_t sock; + int optval; sock = eb_posix_ip_open(SOCK_DGRAM, port); if (sock == -1) return EB_BUSY; + /* Etherbone can broadcast */ + optval = 1; + if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (char*)&optval, sizeof(optval)) != 0) { + eb_posix_ip_close(sock); + return EB_FAIL; + } + transport = (struct eb_posix_udp_transport*)transportp; transport->socket = sock; -- GitLab