From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9631EA0093; Fri, 22 May 2020 01:09:52 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E94431D723; Fri, 22 May 2020 01:09:51 +0200 (CEST) Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) by dpdk.org (Postfix) with ESMTP id AFD631D722 for ; Fri, 22 May 2020 01:09:50 +0200 (CEST) Received: by mail-pj1-f44.google.com with SMTP id s69so4078879pjb.4 for ; Thu, 21 May 2020 16:09:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:subject:message-id:mime-version :content-transfer-encoding; bh=Mxl698qiSw/vg9DdMcdE1O1XDqYsyjZYmry+TykWLVE=; b=jejNUfhRO89TKcMyI0vCkAChQITlQqNxsJlkQxvcCy6S5o6d49GfYLqpjm3SUomp54 Gl4HENkEx1ZagvFgiKS+1ZxEPbwIDe8eDMtZycsdtHfw48ZhqSTTfDXzFn/qSoBnqtYG uspqBoTErGimYF4+ZhM8xevItL4/Q1O37Z8nSlzXXI40ERRwhLbY5K6LQbhT5UwUWt16 5Hn3fzlFa6ar8W11n5CzBONSoplxbBMU3WhfD2rCI6BOw7PftJSp1JrFLPXvY7oJ7/8x qf4d03RcPKlwDM9JqDXn5ZqOJFtYa/jbNSlaYLkWbV/iZFGpA8PRYIfbUjh1Zx4p1tgv 0G8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:mime-version :content-transfer-encoding; bh=Mxl698qiSw/vg9DdMcdE1O1XDqYsyjZYmry+TykWLVE=; b=sfjZaTz/bEcLwUdrD8SY5YprNrFHVhCS5F1si5lSaI9qZYNZAp3RV6ghqJE6d54fq+ 8+GIl0N1dxZujZWS9btyFDmxgR7xT3xKA+7MSW4iapKAo2loWPcT36rhiKmycCPIXDxI deHGytZEIBqhpaDxRDbccGVQ1zpwoDgZE86/YE0HBCT6jPLUfAv2teZ9S+i2jO5ueIM7 /hjY+aceX3TZGEPY7tMxvKwLoy+mkjwYHbxI2c6WIrk/J5H2iplM7bZa/KOaGkW57Ggc 8hZBjHVr8NtddGEU0dMBviWS6Cs7mHukb0cCfU5Lo5PFLr7UyidlPIMwe0XXVIKXDO73 Vd9A== X-Gm-Message-State: AOAM533hd7TN9lUD/VwgjwdRtsf4JMau83iWbOxPh/dNDDnTFvr01u8M Ai7L5k/ksowJY7mYm1ruSHpp2A== X-Google-Smtp-Source: ABdhPJy275fR8Byej3kFhNaikX9Ezydj8ps3FJnabYFs9Cv98iZg2ORXM86gNM86eQnMmk9vBc0wNw== X-Received: by 2002:a17:902:8485:: with SMTP id c5mr11831562plo.199.1590102589568; Thu, 21 May 2020 16:09:49 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id b63sm5221378pfg.86.2020.05.21.16.09.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2020 16:09:49 -0700 (PDT) Date: Thu, 21 May 2020 16:09:40 -0700 From: Stephen Hemminger To: Pavan Nikhilesh , dev@dpdk.org Message-ID: <20200521160940.79a991b5@hermes.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: [dpdk-dev] Breakage in l3fwd example with new event main loop X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The l3fwd implement to do events has lots of copy/paste code. Much of this must be never tested because it has compile errors. Example: static __rte_always_inline uint16_t lpm_process_event_pkt(const struct lcore_conf *lconf, struct rte_mbuf *mbuf) { mbuf->port = lpm_get_dst_port(lconf, mbuf, mbuf->port); #if defined RTE_ARCH_X86 || defined RTE_MACHINE_CPUFLAG_NEON \ || defined RTE_ARCH_PPC_64 process_packet(mbuf, &mbuf->port); #else struct rte_ether_hdr *eth_hdr = rte_pktmbuf_mtod(mbuf, struct rte_ether_hdr *); #ifdef DO_RFC_1812_CHECKS struct rte_ipv4_hdr *ipv4_hdr; if (RTE_ETH_IS_IPV4_HDR(mbuf->packet_type)) { /* Handle IPv4 headers.*/ ipv4_hdr = rte_pktmbuf_mtod_offset(mbuf, struct rte_ipv4_hdr *, sizeof(struct rte_ether_hdr)); if (is_valid_ipv4_pkt(ipv4_hdr, mbuf->pkt_len) < 0) { mbuf->port = BAD_PORT; continue; <<<<<<<<< not in loop? } If the checks are enabled, the code doesn't compile because continue is not in a loop. Which leads to a number of observations: - copy/paste is bad, see DNR principle. Better to make it an inline - #ifdef are evil since no one ever tests the other half - why did CI not catch this? - do you ever build on other architectures? Please fix!