使用嵌入式FPGA的MAC地址与套接字进行通信

时间:2012-07-03 15:52:40

标签: c sockets embedded protocols fpga

我有一个小型FPGA需要通过以太网与在Ubuntu机器上运行的C程序进行通信。 FPGA太小而不能使用TCP等。我可以使用以太网端口的MAC地址发送帧并在wireshark中接收它们但是要与CI通信需要使用RAW套接字但是在创建套接字时它需要协议值,是否有任何协议允许我仅使用MAC地址进行通信。

框架具有以下结构

Destination MAC address
Source MAC address
Protocol - 0x55aa
Data 

1 个答案:

答案 0 :(得分:4)

如果您使用PF_PACKET代替PF_INET,那么您的0x55aa值就是您的协议号:

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

packet_socket = socket(PF_PACKET, SOCK_RAW, ntohs(0x55aa));