From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Qiu Subject: [PATCH] ip_pipeline: Fix compile issue with strict-aliasing Date: Wed, 9 Dec 2015 16:40:29 +0800 Message-ID: <1449650429-25336-1-git-send-email-michael.qiu@intel.com> Cc: root To: dev@dpdk.org Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id F32665952 for ; Wed, 9 Dec 2015 09:40:39 +0100 (CET) List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: root strict-aliasing Signed-off-by: Michael Qiu --- .../ip_pipeline/pipeline/pipeline_routing_be.c | 11 ++++------- 1 files changed, 4 insertions(+), 7 deletions(-) diff --git a/examples/ip_pipeline/pipeline/pipeline_routing_be.c b/examples/ip_pipeline/pipeline/pipeline_routing_be.c index 4a95c7d..9baabd0 100644 --- a/examples/ip_pipeline/pipeline/pipeline_routing_be.c +++ b/examples/ip_pipeline/pipeline/pipeline_routing_be.c @@ -1461,8 +1461,7 @@ pipeline_routing_msg_req_route_add_handler(struct pipeline *p, void *msg) uint64_t macaddr_dst; uint64_t ethertype = ETHER_TYPE_IPv4; - *((struct ether_addr *) &macaddr_dst) = - req->data.ethernet.macaddr; + macaddr_dst = *((uint64_t *)&(req->data.ethernet.macaddr)); macaddr_dst = rte_bswap64(macaddr_dst << 16); entry_arp0.slab[0] = @@ -1503,8 +1502,7 @@ pipeline_routing_msg_req_route_add_handler(struct pipeline *p, void *msg) uint64_t svlan = req->data.l2.qinq.svlan; uint64_t cvlan = req->data.l2.qinq.cvlan; - *((struct ether_addr *) &macaddr_dst) = - req->data.ethernet.macaddr; + macaddr_dst = *((uint64_t *)&(req->data.ethernet.macaddr)); macaddr_dst = rte_bswap64(macaddr_dst << 16); entry_arp0.slab[0] = rte_bswap64((svlan << 48) | @@ -1563,8 +1561,7 @@ pipeline_routing_msg_req_route_add_handler(struct pipeline *p, void *msg) uint64_t label3 = req->data.l2.mpls.labels[3]; uint32_t n_labels = req->data.l2.mpls.n_labels; - *((struct ether_addr *) &macaddr_dst) = - req->data.ethernet.macaddr; + macaddr_dst = *((uint64_t *)&(req->data.ethernet.macaddr)); macaddr_dst = rte_bswap64(macaddr_dst << 16); switch (n_labels) { @@ -1814,7 +1811,7 @@ pipeline_routing_msg_req_arp_add_handler(struct pipeline *p, void *msg) return rsp; } - *((struct ether_addr *) &entry.macaddr) = req->macaddr; + entry.macaddr = *((uint64_t *)&(req->macaddr)); entry.macaddr = entry.macaddr << 16; rsp->status = rte_pipeline_table_entry_add(p->p, -- 1.7.1