我有一个小型FPGA需要通过以太网与在Ubuntu机器上运行的C程序进行通信。 FPGA太小而不能使用TCP等。我可以使用以太网端口的MAC地址发送帧并在wireshark中接收它们但是要与CI通信需要使用RAW套接字但是在创建套接字时它需要协议值,是否有任何协议允许我仅使用MAC地址进行通信。
框架具有以下结构
Destination MAC address
Source MAC address
Protocol - 0x55aa
Data
答案 0 :(得分:4)
如果您使用PF_PACKET
代替PF_INET
,那么您的0x55aa
值就是您的协议号:
#include <sys/socket.h>
#include <netpacket/packet.h>
packet_socket = socket(PF_PACKET, SOCK_RAW, ntohs(0x55aa));