LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Reception of Frames with Destination MAC ALL ZERO (https://www.linuxquestions.org/questions/linux-newbie-8/reception-of-frames-with-destination-mac-all-zero-4175617172/)

smrithytr 11-07-2017 10:07 PM

Reception of Frames with Destination MAC ALL ZERO
 
Hello All,

We are trying to implement GOOSE message(a multicast message, Generic Object Oriented Substation Event, part of IEC61850 protocol standard.) subscription Module. In almost all cases, we are able to read GOOSE messages without any delay. But intermittently, GOOSE messages are reaching in application after a delay of 3 sec. When analysed the pcap(PCAP file) file, captured during the error situation , it is noted that the GOOSE message is reaching upto the device Network layer without any delay.

We are using 'recvfrom' call to fetch the messages from sublayer.

Linux Version : linux-3.8.13

Receive call is as follows :

*unsigned char etherFrameRx[1518];

recvLen = recvfrom (hPktSock, etherFrameRx, sizeof(etherFrameRx),
MSG_TRUNC, NULL, NULL);*

Socket initialization is as follows:

*hPktSock = socket (PF_PACKET, SOCK_RAW, htons(ETH_P_ALL);

arg |= O_NONBLOCK;

ret = fcntl (hPktSock, F_SETFL, arg)*


While the delay is noticed, (Time between the message reception at device MAC layer and message reception at application), the application is continuously receiving frames with destination MAC 'ALL ZERO' (0:0:0:0:0:0). And in Wireshark log we couldn't notice such messages.These continuous abnormal messages from kernel delays the GOOSE reception.

The probability of the issue occurrence is high after a time synchronization of the device. SNTP is the mechanism used for **Time Synchronization**.

The .pcap file captured using Wireshark (Installed on the device Subscribing the GOOSE) during error situation is shared at following path.

*https://drive.google.com/drive/folde...M?usp=sharing*

In the log, the GOOSE message is received at 12:36:11.636989. But the same is updated on Application at 12:36:14.8012

Why linux kernel is returning frames with Destination MAC of 0?


All times are GMT -5. The time now is 05:19 AM.