X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-pmd%2Fieee1588fwd.c;h=0d3b37a7bfe37eacf845f387b22987e18b0addb9;hb=d4c18f0a1d5d03297a393b6bcda90e5acc27c710;hp=c69023afe760e2ee526403bb7542722f5b3d8ccb;hpb=8a45731c028ec6f12c3209e07a8715346b8a4b62;p=dpdk.git diff --git a/app/test-pmd/ieee1588fwd.c b/app/test-pmd/ieee1588fwd.c index c69023afe7..0d3b37a7bf 100644 --- a/app/test-pmd/ieee1588fwd.c +++ b/app/test-pmd/ieee1588fwd.c @@ -123,6 +123,7 @@ ieee1588_packet_fwd(struct fwd_stream *fs) { struct rte_mbuf *mb; struct ether_hdr *eth_hdr; + struct ether_addr addr; struct ptpv2_msg *ptp_hdr; uint16_t eth_type; uint32_t timesync_index; @@ -205,6 +206,11 @@ ieee1588_packet_fwd(struct fwd_stream *fs) /* Read and check the RX timestamp. */ port_ieee1588_rx_timestamp_check(fs->rx_port, timesync_index); + /* Swap dest and src mac addresses. */ + ether_addr_copy(ð_hdr->d_addr, &addr); + ether_addr_copy(ð_hdr->s_addr, ð_hdr->d_addr); + ether_addr_copy(&addr, ð_hdr->s_addr); + /* Forward PTP packet with hardware TX timestamp */ mb->ol_flags |= PKT_TX_IEEE1588_TMST; fs->tx_packets += 1;