[],
[[#include <sys/socket.h>
#include <linux/if_packet.h>]])
+ AC_CHECK_DECL([SOF_TIMESTAMPING_RAW_HARDWARE],
+ AC_DEFINE([HAVE_HW_TIMESTAMPING],[1],[Hardware timestamping support is available]),
+ [],
+ [[#include <linux/net_tstamp.h>]])
])
# Netmap support
#include <sys/mman.h>
#endif
+#ifdef HAVE_HW_TIMESTAMPING
+#include <linux/net_tstamp.h>
+#endif
+
#endif /* HAVE_AF_PACKET */
extern int max_pending_packets;
return AFP_FATAL_ERROR;
}
+#ifdef HAVE_HW_TIMESTAMPING
+ int req = SOF_TIMESTAMPING_RAW_HARDWARE;
+ if (setsockopt(ptv->socket, SOL_PACKET, PACKET_TIMESTAMP, (void *) &req,
+ sizeof(req)) < 0) {
+ SCLogWarning(SC_ERR_AFP_CREATE,
+ "Can't activate hardware timestamping on packet socket: %s",
+ strerror(errno));
+ }
+#endif
+
/* Allocate RX ring */
#ifdef HAVE_TPACKET_V3
if (ptv->flags & AFP_TPACKET_V3) {