From 7192b0b9d7c97e91099b523902740d1b1df91cb8 Mon Sep 17 00:00:00 2001 From: Oleksij Rempel Date: Thu, 21 Mar 2019 15:33:26 +0100 Subject: [PATCH] jacd: set SO_BROADCAST with latest UAPI version we should set this flag to be allowed to send broadcast frames with broadcast destination address. Even if on CAN every thing is a broadcast... Signed-off-by: Oleksij Rempel Signed-off-by: Marc Kleine-Budde --- jacd.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/jacd.c b/jacd.c index 0f4d5e5..a1a53d6 100644 --- a/jacd.c +++ b/jacd.c @@ -228,6 +228,14 @@ static int open_socket(const char *device, uint64_t name) if (ret < 0) error(1, errno, "setsockopt receive own msgs"); + value = 1; + if (s.verbose) + fprintf(stderr, "- setsockopt(, SOL_SOCKET, SO_BROADCAST, %d, %zd);\n", value, sizeof(value)); + ret = setsockopt(sock, SOL_SOCKET, SO_BROADCAST, + &value, sizeof(value)); + if (ret < 0) + error(1, errno, "setsockopt set broadcast"); + if (s.verbose) fprintf(stderr, "- bind(, %s, %zi);\n", libj1939_addr2str(&saddr), sizeof(saddr)); ret = bind(sock, (void *)&saddr, sizeof(saddr));