Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp676995imm; Mon, 9 Jul 2018 08:41:46 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdIt1Es6G5rk2qtUhK625ttTgu9BdrANOlE9tTuNKUiibIi4P/LrLM5H8BmsDf92he/d35n X-Received: by 2002:a65:4849:: with SMTP id i9-v6mr19298141pgs.350.1531150906652; Mon, 09 Jul 2018 08:41:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531150906; cv=none; d=google.com; s=arc-20160816; b=IRmmxQ6LUvyeGCCZH9cA/eyTU04YflW42Xpr0VmBLB1rU4wij2wcQNmdGq7jzzMpTQ 5BJ0ZeXVHtSwVgZao1hGrhs75xvsXclaDA4a786FKq7P5ngJc4fK2T9JMS16u94nLYUz bjEBjLY6Q/xbt1ahnIpgzEeWOuwyQTT0mMnyW0w4vPOwitRz2syO6Bgr/icWDZsopOmr izJNr+aAbMAsyiuTd+Ka3yRQcKVKq424r/C1uohqZOGy4SOCHhCxSgWr3mN0SoOCL15r HsZqcO+8hRdIqo3RKQuupV2qSMobvqvJQpRv0biGGriNQscSTiWMwQwqgz8hAEwPzEQH WK9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :arc-authentication-results; bh=s1QXBk2L5ICAO1T6GTQLddzaGQ3wVY5SVnxj3H7RFss=; b=jW9kh1I24lP77v5XkLsAYpheSTDDxzlh4dltxpFFHu/pFjsJk5CUKEz1DaoilNelY3 CLYAKpZlac5SXdqoHSwc7viznl4pYdBVTalZHKifAFrzQhD/lwsqlA6aYD5q2JTXo4dJ Br3YvjyBzQAK6Qz2m4lV0TNTxu39GemKQTvPRc3K6E2UGGYcVqk0F5plF8kjUpjwdTNe HJebnCIewBxh8c8XDkiSu1yB6VUuEA3YeoM6SrQ5HXxrVZOi+kYxLhA/AwnviOoa/ki+ ehLZgadEwzXUOdOGngdbkgVADcFY2K35ZlYInEX7C5k7S+64SRbp3Zk4tlrGj8q6a2+Z 0ocQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f23-v6si16295610plj.494.2018.07.09.08.41.31; Mon, 09 Jul 2018 08:41:46 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933436AbeGIPkj (ORCPT + 99 others); Mon, 9 Jul 2018 11:40:39 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:56566 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932628AbeGIPkf (ORCPT ); Mon, 9 Jul 2018 11:40:35 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 814C0401EF05; Mon, 9 Jul 2018 15:40:34 +0000 (UTC) Received: from localhost (ovpn-200-25.brq.redhat.com [10.40.200.25]) by smtp.corp.redhat.com (Postfix) with ESMTP id D21C97C3D; Mon, 9 Jul 2018 15:40:30 +0000 (UTC) Date: Mon, 9 Jul 2018 17:40:29 +0200 From: Jesper Dangaard Brouer To: Taeung Song Cc: Alexei Starovoitov , Daniel Borkmann , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, brouer@redhat.com Subject: Re: [PATCH] samples/bpf: Fix tc and ip path in xdp2skb_meta.sh Message-ID: <20180709174029.3c05e750@redhat.com> In-Reply-To: <20180709150418.32034-1-treeze.taeung@gmail.com> References: <20180709150418.32034-1-treeze.taeung@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.5]); Mon, 09 Jul 2018 15:40:34 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.5]); Mon, 09 Jul 2018 15:40:34 +0000 (UTC) for IP:'10.11.54.5' DOMAIN:'int-mx05.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'brouer@redhat.com' RCPT:'' Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 10 Jul 2018 00:04:18 +0900 Taeung Song wrote: > The below path error can occur: > > # ./xdp2skb_meta.sh --dev eth0 --list > ./xdp2skb_meta.sh: line 61: /usr/sbin/tc: No such file or directory > > # which tc > /sbin/tc > > So use 'which' command instead of absolute path of tc and ip > > Fixes: 36e04a2d78d9 ("samples/bpf: xdp2skb_meta shows transferring info from XDP to SKB") > Cc: Jesper Dangaard Brouer > Signed-off-by: Taeung Song > --- > samples/bpf/xdp2skb_meta.sh | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/samples/bpf/xdp2skb_meta.sh b/samples/bpf/xdp2skb_meta.sh > index b9c9549c4c27..67cf7b5f336d 100755 > --- a/samples/bpf/xdp2skb_meta.sh > +++ b/samples/bpf/xdp2skb_meta.sh > @@ -16,8 +16,8 @@ > BPF_FILE=xdp2skb_meta_kern.o > DIR=$(dirname $0) > > -export TC=/usr/sbin/tc > -export IP=/usr/sbin/ip > +export TC=`which tc` > +export IP=`which ip` This is not a good solution, as 'which' can return something else. E.g. on my system I've aliased 'tc' to 'sudo tc', and `which tc` returns: $ which tc alias tc='sudo tc' /usr/bin/sudo The easiest solution is to simply do: export TC=tc export IP=ip The more fancy solution is to allow callers to redefine $IP and $TC: [ -z "$TC" ] && TC=tc [ -z "$IP" ] && IP=ip And then you should also fix the use of 'basename', see below patch... -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer diff --git a/samples/bpf/xdp2skb_meta.sh b/samples/bpf/xdp2skb_meta.sh index b9c9549c4c27..4bde9d066c46 100755 --- a/samples/bpf/xdp2skb_meta.sh +++ b/samples/bpf/xdp2skb_meta.sh @@ -16,8 +16,8 @@ BPF_FILE=xdp2skb_meta_kern.o DIR=$(dirname $0) -export TC=/usr/sbin/tc -export IP=/usr/sbin/ip +[ -z "$TC" ] && TC=tc +[ -z "$IP" ] && IP=ip function usage() { echo "" @@ -53,7 +53,7 @@ function _call_cmd() { local allow_fail="$2" shift 2 if [[ -n "$VERBOSE" ]]; then - echo "$(basename $cmd) $@" + echo "$cmd $@" fi if [[ -n "$DRYRUN" ]]; then return