From: [email-masked]
Date: Wed, 29 Apr 2020 16:53:40 +0000

Date: Wed, 29 Apr 2020 09:53:39 -0700
From: Stanislav Fomichev <[email-masked]>
To: Martin KaFai Lau <[email-masked]>
Cc: [email-masked], [email-masked], [email-masked],
	[email-masked], [email-masked]
Subject: Re: [PATCH bpf-next] bpf: bpf_{g,s}etsockopt for struct bpf_sock
Message-ID: <[email-masked]>
References: <[email-masked]>
  <20200429164550.xmlklvypzlcjagvw@kafai-mbp>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20200429164550.xmlklvypzlcjagvw@kafai-mbp>

On 04/29, Martin KaFai Lau wrote:
> On Tue, Apr 28, 2020 at 11:57:19AM -0700, Stanislav Fomichev wrote:
> > Currently, bpf_getsocktop and bpf_setsockopt helpers operate on the
> > 'struct bpf_sock_ops' context in BPF_PROG_TYPE_CGROUP_SOCKOPT program.
> > Let's generalize them and make the first argument be 'struct bpf_sock'.
> > That way, in the future, we can allow those helpers in more places.
> s/BPF_PROG_TYPE_CGROUP_SOCKOPT/BPF_PROG_TYPE_SOCK_OPS/

> Same for the other uses in the commit message and also
> the document comment in the uapi (and tools) bpf.h.

> Others LGTM.
Oops, good catch, will follow up with a v2, thanks!

> > BPF_PROG_TYPE_CGROUP_SOCKOPT still has the existing helpers that operate
> > on 'struct bpf_sock_ops', but we add new bpf_{g,s}etsockopt that work
> > on 'struct bpf_sock'. [Alternatively, for BPF_PROG_TYPE_CGROUP_SOCKOPT,
> > we can enable them both and teach verifier to pick the right one
> > based on the context (bpf_sock_ops vs bpf_sock).]
> >
> > As an example, let's allow those 'struct bpf_sock' based helpers to
> > be called from the BPF_CGROUP_INET{4,6}_CONNECT hooks. That way
> > we can override CC before the connection is made.
> >
> > Signed-off-by: Stanislav Fomichev <[email-masked]>