int ret = -1;
while (hdr->tp_status != TP_STATUS_AVAILABLE) {
- printf("TX status: %#x\n", hdr->tp_status);
struct pollfd pfd = {.fd = ctx->s, .revents = 0,
.events = POLLIN|POLLRDNORM|POLLERR };
ret = CHECK(poll(&pfd, 1, -1));
if (ctx->from_in == SEND){
ret = CHECK(send(ctx->s, NULL, 0, 0));
- printf("send:%d\n", ret);
return 0;
}
return 0;
CHECK(ioctl(s, SIOCGIFINDEX, &ifr));
my_addr.sll_family = AF_PACKET;
- my_addr.sll_protocol = htons(ETH_P_ALL);
+ my_addr.sll_protocol = htons(ETH_P_CAN);
my_addr.sll_ifindex = ifr.ifr_ifindex;
CHECK(bind(s, (struct sockaddr *)&my_addr, sizeof(struct sockaddr_ll)));