From b75943d2e69db29dd5a8fc5bc1902f755c2a97f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juhani=20Krekel=C3=A4?= Date: Sat, 6 Jul 2019 20:41:31 +0300 Subject: [PATCH] Act only on stuff directed at us or broadcast --- ethermess.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/ethermess.c b/ethermess.c index 112090f..50194f9 100644 --- a/ethermess.c +++ b/ethermess.c @@ -71,13 +71,23 @@ void read_command(void) { void process_frame(void) { unsigned char frame[1518]; // Largest a 802.3 frame can be without FCS + unsigned char broadcast_addr[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; errno = 0; if (recv(packet_socket, frame, sizeof(frame), 0) == -1) { errx(1, "recv"); } - fprintf(stderr, "."); // debg + if (memcmp(frame, own_mac, sizeof(own_mac)) == 0) { + // Targetted at us + fprintf(stderr, "."); // debg + } else if (memcmp(frame, broadcast_addr, sizeof(broadcast_addr)) == 0) { + // Broadcast + fprintf(stderr, "^"); // debg + } else { + // No concern + return; + } } void eventloop(void) {