From: Jesper Dangaard Brouer <brouer@redhat.com>
To: Taeung Song <treeze.taeung@gmail.com>
Cc: Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
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
Date: Mon, 9 Jul 2018 21:20:03 +0200 [thread overview]
Message-ID: <20180709212003.10b8e490@redhat.com> (raw)
In-Reply-To: <30be797e-e247-1b34-6607-0f0fd3b898fd@gmail.com>
On Tue, 10 Jul 2018 02:44:06 +0900
Taeung Song <treeze.taeung@gmail.com> wrote:
> Hi Jesper Dangaard Brouer,
>
> On 07/10/2018 12:40 AM, Jesper Dangaard Brouer wrote:
> > On Tue, 10 Jul 2018 00:04:18 +0900
> > Taeung Song <treeze.taeung@gmail.com> 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 <brouer@redhat.com>
> >> Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
> >> ---
> >> 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
> >
>
> Yep, you are right, I'll change it.
>
> > And then you should also fix the use of 'basename', see below patch...
> >
>
> I thought it'd be fine to leave 'basename' as it is,
> because if callers redefine TC=/home/taeung/tc and give
> the options --verbose or --dry-run, 'basename' can more tidily show outputs.
The 'basename' does not work correctly if e.g. TC='sudo tc'.
Below output is with 'basename' removed, else it would say "sudo qdisc del ..."
TC='sudo tc' IP='sudo ip' ./xdp2skb_meta.sh -v --dev mlx5p1 --dry-run
# Device set to: DEV=mlx5p1
# Dry-run mode: enable VERBOSE and don't call TC+IP
sudo tc qdisc del dev mlx5p1 clsact
sudo tc qdisc add dev mlx5p1 clsact
sudo tc filter add dev mlx5p1 ingress prio 1 handle 1 bpf da obj ./xdp2skb_meta_kern.o sec tc_mark
# Flush XDP on device: mlx5p1
sudo ip link set dev mlx5p1 xdp off
sudo ip link set dev mlx5p1 xdp obj ./xdp2skb_meta_kern.o sec xdp_mark
> But it seems to be trivial, I'll resend this patch as v2 based on your
> comment !
Thx, already ACKed it :-)
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer
next prev parent reply other threads:[~2018-07-09 19:20 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-09 15:04 [PATCH] samples/bpf: Fix tc and ip path in xdp2skb_meta.sh Taeung Song
2018-07-09 15:40 ` Jesper Dangaard Brouer
2018-07-09 17:44 ` Taeung Song
2018-07-09 19:20 ` Jesper Dangaard Brouer [this message]
2018-07-10 4:28 ` Taeung Song
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180709212003.10b8e490@redhat.com \
--to=brouer@redhat.com \
--cc=ast@kernel.org \
--cc=daniel@iogearbox.net \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=treeze.taeung@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.