2

イーサネット経由でUbuntuマシンで実行されているCプログラムと通信する必要がある小さなFPGAがあります。FPGAは小さすぎてTCPなどを使用できません。イーサネットポートのMACアドレスだけを使用してフレームを送信してwiresharkで取得できますが、CIと通信するにはRAWソケットを使用する必要がありますが、ソケットを作成するにはプロトコルが必要です。値、MACアドレスのみを使用して通信できるプロトコルはありますか。

フレームの構造は次のとおりです。

Destination MAC address
Source MAC address
Protocol - 0x55aa
Data 
4

1 に答える 1

4

PF_PACKETの代わりにを使用する場合PF_INET0x55aa値はプロトコル番号です。

#include <sys/socket.h>
#include <netpacket/packet.h>

packet_socket = socket(PF_PACKET, SOCK_RAW, ntohs(0x55aa));
于 2012-07-03T15:54:30.513 に答える