All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Borkmann <daniel-FeC+5ew28dpmcu3hnIyYJQ@public.gmane.org>
To: Martin KaFai Lau <kafai-b10kYP2dOMg@public.gmane.org>,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: Alexei Starovoitov <ast-b10kYP2dOMg@public.gmane.org>,
	Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	kernel-team-b10kYP2dOMg@public.gmane.org
Subject: Re: [PATCH net-next v2 4/4] cgroup: bpf: Add an example to do cgroup checking in BPF
Date: Thu, 23 Jun 2016 11:58:18 +0200	[thread overview]
Message-ID: <576BB2BA.2070401@iogearbox.net> (raw)
In-Reply-To: <1466630252-3822277-5-git-send-email-kafai-b10kYP2dOMg@public.gmane.org>

On 06/22/2016 11:17 PM, Martin KaFai Lau wrote:
> test_cgrp2_array_pin.c:
> A userland program that creates a bpf_map (BPF_MAP_TYPE_GROUP_ARRAY),
> pouplates/updates it with a cgroup2's backed fd and pins it to a
> bpf-fs's file.  The pinned file can be loaded by tc and then used
> by the bpf prog later.  This program can also update an existing pinned
> array and it could be useful for debugging/testing purpose.
>
> test_cgrp2_tc_kern.c:
> A bpf prog which should be loaded by tc.  It is to demonstrate
> the usage of bpf_skb_in_cgroup.
>
> test_cgrp2_tc.sh:
> A script that glues the test_cgrp2_array_pin.c and
> test_cgrp2_tc_kern.c together.  The idea is like:
> 1. Use test_cgrp2_array_pin.c to populate a BPF_MAP_TYPE_CGROUP_ARRAY
>     with a cgroup fd
> 2. Load the test_cgrp2_tc_kern.o by tc
> 3. Do a 'ping -6 ff02::1%ve' to ensure the packet has been
>     dropped because of a match on the cgroup
>
> Most of the lines in test_cgrp2_tc.sh is the boilerplate
> to setup the cgroup/bpf-fs/net-devices/netns...etc.  It is
> not bulletproof on errors but should work well enough and
> give enough debug info if things did not go well.
>
> Signed-off-by: Martin KaFai Lau <kafai-b10kYP2dOMg@public.gmane.org>
> Cc: Alexei Starovoitov <ast-b10kYP2dOMg@public.gmane.org>
> Cc: Daniel Borkmann <daniel-FeC+5ew28dpmcu3hnIyYJQ@public.gmane.org>
> Cc: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> Acked-by: Alexei Starovoitov <ast-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>

Btw, when no bpf fs is mounted, tc will already auto-mount it. I noticed in
your script, you do mount the fs manually. I guess it's okay to leave it like
this, but I hope users won't wrongly copy it assuming they /have/ to mount it
themselves.

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Borkmann <daniel@iogearbox.net>
To: Martin KaFai Lau <kafai@fb.com>,
	cgroups@vger.kernel.org, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Alexei Starovoitov <ast@fb.com>, Tejun Heo <tj@kernel.org>,
	kernel-team@fb.com
Subject: Re: [PATCH net-next v2 4/4] cgroup: bpf: Add an example to do cgroup checking in BPF
Date: Thu, 23 Jun 2016 11:58:18 +0200	[thread overview]
Message-ID: <576BB2BA.2070401@iogearbox.net> (raw)
In-Reply-To: <1466630252-3822277-5-git-send-email-kafai@fb.com>

On 06/22/2016 11:17 PM, Martin KaFai Lau wrote:
> test_cgrp2_array_pin.c:
> A userland program that creates a bpf_map (BPF_MAP_TYPE_GROUP_ARRAY),
> pouplates/updates it with a cgroup2's backed fd and pins it to a
> bpf-fs's file.  The pinned file can be loaded by tc and then used
> by the bpf prog later.  This program can also update an existing pinned
> array and it could be useful for debugging/testing purpose.
>
> test_cgrp2_tc_kern.c:
> A bpf prog which should be loaded by tc.  It is to demonstrate
> the usage of bpf_skb_in_cgroup.
>
> test_cgrp2_tc.sh:
> A script that glues the test_cgrp2_array_pin.c and
> test_cgrp2_tc_kern.c together.  The idea is like:
> 1. Use test_cgrp2_array_pin.c to populate a BPF_MAP_TYPE_CGROUP_ARRAY
>     with a cgroup fd
> 2. Load the test_cgrp2_tc_kern.o by tc
> 3. Do a 'ping -6 ff02::1%ve' to ensure the packet has been
>     dropped because of a match on the cgroup
>
> Most of the lines in test_cgrp2_tc.sh is the boilerplate
> to setup the cgroup/bpf-fs/net-devices/netns...etc.  It is
> not bulletproof on errors but should work well enough and
> give enough debug info if things did not go well.
>
> Signed-off-by: Martin KaFai Lau <kafai@fb.com>
> Cc: Alexei Starovoitov <ast@fb.com>
> Cc: Daniel Borkmann <daniel@iogearbox.net>
> Cc: Tejun Heo <tj@kernel.org>
> Acked-by: Alexei Starovoitov <ast@kernel.org>

Btw, when no bpf fs is mounted, tc will already auto-mount it. I noticed in
your script, you do mount the fs manually. I guess it's okay to leave it like
this, but I hope users won't wrongly copy it assuming they /have/ to mount it
themselves.

  parent reply	other threads:[~2016-06-23  9:58 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-22 21:17 [PATCH net-next v2 0/4] cgroup: bpf: cgroup2 membership test on skb Martin KaFai Lau
2016-06-22 21:17 ` Martin KaFai Lau
2016-06-22 21:17 ` [PATCH net-next v2 1/4] cgroup: Add cgroup_get_from_fd Martin KaFai Lau
2016-06-22 21:17   ` Martin KaFai Lau
2016-06-23 21:11   ` Tejun Heo
     [not found] ` <1466630252-3822277-1-git-send-email-kafai-b10kYP2dOMg@public.gmane.org>
2016-06-22 21:17   ` [PATCH net-next v2 2/4] cgroup: bpf: Add BPF_MAP_TYPE_CGROUP_ARRAY Martin KaFai Lau
2016-06-22 21:17     ` Martin KaFai Lau
2016-06-22 21:17     ` Martin KaFai Lau
     [not found]     ` <1466630252-3822277-3-git-send-email-kafai-b10kYP2dOMg@public.gmane.org>
2016-06-23  9:42       ` Daniel Borkmann
2016-06-23  9:42         ` Daniel Borkmann
     [not found]         ` <576BAF07.4020302-FeC+5ew28dpmcu3hnIyYJQ@public.gmane.org>
2016-06-23 21:13           ` Tejun Heo
2016-06-23 21:13             ` Tejun Heo
     [not found]             ` <20160623211326.GK3262-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2016-06-23 21:33               ` Daniel Borkmann
2016-06-23 21:33                 ` Daniel Borkmann
2016-06-23 21:26         ` Martin KaFai Lau
2016-06-23 21:26           ` Martin KaFai Lau
2016-06-23 21:50           ` Daniel Borkmann
2016-06-23 22:10             ` Martin KaFai Lau
2016-06-23 22:10               ` Martin KaFai Lau
2016-06-22 21:17   ` [PATCH net-next v2 3/4] cgroup: bpf: Add bpf_skb_in_cgroup_proto Martin KaFai Lau
2016-06-22 21:17     ` Martin KaFai Lau
2016-06-22 21:17     ` Martin KaFai Lau
     [not found]     ` <1466630252-3822277-4-git-send-email-kafai-b10kYP2dOMg@public.gmane.org>
2016-06-23  9:53       ` Daniel Borkmann
2016-06-23  9:53         ` Daniel Borkmann
     [not found]         ` <576BB1AE.5080605-FeC+5ew28dpmcu3hnIyYJQ@public.gmane.org>
2016-06-23 16:54           ` Martin KaFai Lau
2016-06-23 16:54             ` Martin KaFai Lau
2016-06-23 16:54             ` Martin KaFai Lau
     [not found]             ` <20160623165449.GC82305-ik1955jzaFFGY1KPJGhogQ@public.gmane.org>
2016-06-23 20:07               ` Daniel Borkmann
2016-06-23 20:07                 ` Daniel Borkmann
2016-06-23 21:41                 ` Martin KaFai Lau
2016-06-23 21:41                   ` Martin KaFai Lau
2016-06-29 14:36       ` kbuild test robot
2016-06-29 14:36         ` kbuild test robot
2016-06-22 21:17   ` [PATCH net-next v2 4/4] cgroup: bpf: Add an example to do cgroup checking in BPF Martin KaFai Lau
2016-06-22 21:17     ` Martin KaFai Lau
2016-06-22 21:17     ` Martin KaFai Lau
     [not found]     ` <1466630252-3822277-5-git-send-email-kafai-b10kYP2dOMg@public.gmane.org>
2016-06-23  9:58       ` Daniel Borkmann [this message]
2016-06-23  9:58         ` Daniel Borkmann

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=576BB2BA.2070401@iogearbox.net \
    --to=daniel-fec+5ew28dpmcu3hniyyjq@public.gmane.org \
    --cc=ast-b10kYP2dOMg@public.gmane.org \
    --cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=kafai-b10kYP2dOMg@public.gmane.org \
    --cc=kernel-team-b10kYP2dOMg@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    /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.