X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-pmd%2Fieee1588fwd.c;h=9ff817aa68a6cb1b502f02db4e63d637fd7a5f7e;hb=daa02b5cddbb8e11b31d41e2bf7bb1ae64dcae2f;hp=91ee78646950aba67719d0b31c0f66fdc40558c4;hpb=f8244c6399d9fae6afab6770ae367aef38742ea5;p=dpdk.git diff --git a/app/test-pmd/ieee1588fwd.c b/app/test-pmd/ieee1588fwd.c index 91ee786469..9ff817aa68 100644 --- a/app/test-pmd/ieee1588fwd.c +++ b/app/test-pmd/ieee1588fwd.c @@ -1,34 +1,5 @@ -/*- - * BSD LICENSE - * - * Copyright(c) 2010-2015 Intel Corporation. All rights reserved. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Intel Corporation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2010-2015 Intel Corporation */ @@ -89,8 +60,8 @@ port_ieee1588_rx_timestamp_check(portid_t pi, uint32_t index) printf("Port %u RX timestamp registers not valid\n", pi); return; } - printf("Port %u RX timestamp value %lu s %lu ns\n", - pi, timestamp.tv_sec, timestamp.tv_nsec); + printf("Port %u RX timestamp value %ju s %lu ns\n", + pi, (uintmax_t)timestamp.tv_sec, timestamp.tv_nsec); } #define MAX_TX_TMST_WAIT_MICROSECS 1000 /**< 1 milli-second */ @@ -112,9 +83,9 @@ port_ieee1588_tx_timestamp_check(portid_t pi) pi, MAX_TX_TMST_WAIT_MICROSECS); return; } - printf("Port %u TX timestamp value %lu s %lu ns validated after " + printf("Port %u TX timestamp value %ju s %lu ns validated after " "%u micro-second%s\n", - pi, timestamp.tv_sec, timestamp.tv_nsec, wait_us, + pi, (uintmax_t)timestamp.tv_sec, timestamp.tv_nsec, wait_us, (wait_us == 1) ? "" : "s"); } @@ -122,8 +93,8 @@ static void ieee1588_packet_fwd(struct fwd_stream *fs) { struct rte_mbuf *mb; - struct ether_hdr *eth_hdr; - struct ether_addr addr; + struct rte_ether_hdr *eth_hdr; + struct rte_ether_addr addr; struct ptpv2_msg *ptp_hdr; uint16_t eth_type; uint32_t timesync_index; @@ -140,11 +111,11 @@ ieee1588_packet_fwd(struct fwd_stream *fs) * Check that the received packet is a PTP packet that was detected * by the hardware. */ - eth_hdr = rte_pktmbuf_mtod(mb, struct ether_hdr *); + eth_hdr = rte_pktmbuf_mtod(mb, struct rte_ether_hdr *); eth_type = rte_be_to_cpu_16(eth_hdr->ether_type); - if (! (mb->ol_flags & PKT_RX_IEEE1588_PTP)) { - if (eth_type == ETHER_TYPE_1588) { + if (!(mb->ol_flags & RTE_MBUF_F_RX_IEEE1588_PTP)) { + if (eth_type == RTE_ETHER_TYPE_1588) { printf("Port %u Received PTP packet not filtered" " by hardware\n", fs->rx_port); @@ -157,7 +128,7 @@ ieee1588_packet_fwd(struct fwd_stream *fs) rte_pktmbuf_free(mb); return; } - if (eth_type != ETHER_TYPE_1588) { + if (eth_type != RTE_ETHER_TYPE_1588) { printf("Port %u Received NON PTP packet incorrectly" " detected by hardware\n", fs->rx_port); @@ -170,7 +141,7 @@ ieee1588_packet_fwd(struct fwd_stream *fs) * PTP_SYNC_MESSAGE. */ ptp_hdr = (struct ptpv2_msg *) (rte_pktmbuf_mtod(mb, char *) + - sizeof(struct ether_hdr)); + sizeof(struct rte_ether_hdr)); if (ptp_hdr->version != 0x02) { printf("Port %u Received PTP V2 Ethernet frame with wrong PTP" " protocol version 0x%x (should be 0x02)\n", @@ -192,7 +163,7 @@ ieee1588_packet_fwd(struct fwd_stream *fs) * Check that the received PTP packet has been timestamped by the * hardware. */ - if (! (mb->ol_flags & PKT_RX_IEEE1588_TMST)) { + if (!(mb->ol_flags & RTE_MBUF_F_RX_IEEE1588_TMST)) { printf("Port %u Received PTP packet not timestamped" " by hardware\n", fs->rx_port); @@ -207,12 +178,12 @@ ieee1588_packet_fwd(struct fwd_stream *fs) 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); + rte_ether_addr_copy(ð_hdr->dst_addr, &addr); + rte_ether_addr_copy(ð_hdr->src_addr, ð_hdr->dst_addr); + rte_ether_addr_copy(&addr, ð_hdr->src_addr); /* Forward PTP packet with hardware TX timestamp */ - mb->ol_flags |= PKT_TX_IEEE1588_TMST; + mb->ol_flags |= RTE_MBUF_F_TX_IEEE1588_TMST; fs->tx_packets += 1; if (rte_eth_tx_burst(fs->rx_port, fs->tx_queue, &mb, 1) == 0) { printf("Port %u sent PTP packet dropped\n", fs->rx_port); @@ -227,10 +198,11 @@ ieee1588_packet_fwd(struct fwd_stream *fs) port_ieee1588_tx_timestamp_check(fs->rx_port); } -static void +static int port_ieee1588_fwd_begin(portid_t pi) { rte_eth_timesync_enable(pi); + return 0; } static void