29 #define RTE_IPPORT_PTP_EVENT 319
32 #define RTE_IPPORT_PTP_GENERAL 320
35 #define RTE_ETHER_ADDR_PTP_MULTICAST { 0x01, 0x1B, 0x19, 0x00, 0x00, 0x00 }
38 #define RTE_ETHER_ADDR_PTP_MULTICAST_PDELAY { 0x01, 0x80, 0xC2, 0x00, 0x00, 0x0E }
44 #define RTE_PTP_MSGTYPE_SYNC 0x0
45 #define RTE_PTP_MSGTYPE_DELAY_REQ 0x1
46 #define RTE_PTP_MSGTYPE_PDELAY_REQ 0x2
47 #define RTE_PTP_MSGTYPE_PDELAY_RESP 0x3
48 #define RTE_PTP_MSGTYPE_FU 0x8
49 #define RTE_PTP_MSGTYPE_DELAY_RESP 0x9
50 #define RTE_PTP_MSGTYPE_PDELAY_RESP_FU 0xA
51 #define RTE_PTP_MSGTYPE_ANNOUNCE 0xB
52 #define RTE_PTP_MSGTYPE_SIGNALING 0xC
53 #define RTE_PTP_MSGTYPE_MANAGEMENT 0xD
63 #define RTE_PTP_FLAG_TWO_STEP (UINT16_C(1) << 9)
64 #define RTE_PTP_FLAG_UNICAST (UINT16_C(1) << 10)
65 #define RTE_PTP_FLAG_LI_61 (UINT16_C(1) << 0)
66 #define RTE_PTP_FLAG_LI_59 (UINT16_C(1) << 1)
88 #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
91 #elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
101 #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
104 #elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
105 uint8_t minor_version:4;
180 cf += residence_ns << 16;
192 static inline uint64_t
static uint16_t rte_be_to_cpu_16(rte_be16_t x)
static uint32_t rte_be_to_cpu_32(rte_be32_t x)
static uint64_t rte_be_to_cpu_64(rte_be64_t x)
static rte_be64_t rte_cpu_to_be_64(uint64_t x)
#define __rte_packed_begin
static uint64_t rte_ptp_timestamp_to_ns(const struct rte_ptp_timestamp *ts)
static void rte_ptp_add_correction(struct rte_ptp_hdr *hdr, uint64_t residence_ns)
#define RTE_PTP_MSGTYPE_PDELAY_RESP
static bool rte_ptp_is_two_step(const struct rte_ptp_hdr *hdr)
static bool rte_ptp_is_event(const struct rte_ptp_hdr *hdr)
#define RTE_PTP_FLAG_TWO_STEP
rte_be32_t msg_type_specific