Act only on stuff directed at us or broadcast
This commit is contained in:
parent
211473b48e
commit
b75943d2e6
12
ethermess.c
12
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) {
|
||||
|
|
Loading…
Reference in New Issue