Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp8144759rwb; Wed, 23 Nov 2022 16:23:53 -0800 (PST) X-Google-Smtp-Source: AA0mqf7r5ZMsFOeS37keONmcLvzGVAcBq3mwiLinduaaAtWinMP5Pi6tRIm9znd2wBdJH78lwzCp X-Received: by 2002:a17:906:1682:b0:78d:6ba1:74dd with SMTP id s2-20020a170906168200b0078d6ba174ddmr26733178ejd.119.1669249432985; Wed, 23 Nov 2022 16:23:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669249432; cv=none; d=google.com; s=arc-20160816; b=kLd5vaH2FsuAanxYjISkexYhXd8sd0JcHowe1E5Ffz4Urg7PeBxEOGwRXksiJv4lTj R2Cn2dVSGOwVz2dVaALiYDRoEDrxDqkHxE8Fp7C1zaRNcdYq0Mx1mbvWp9fr470Gazgb OXNn2uYBQcsyszuLYbz6HZ4LZGk1aW+YTexyWI/HOVN3xfU2KVRd6DQqsLtJ37NjyNe1 0PCeQXeHKsUQhM3YGvc27Jssa3apjW4nZX88EdtMdvvv5RJKgdOk7xH268nL30LNEFAQ rPYYmcdtAYCT78UoNhiWcujv3VBoMU7UmMd7/CCi/+AjkIyI0cJgIDdbxGZPB9Rs6R8J N2vA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=FQgqXBglZDRcVlUkXxxrQgaEYcGvnharODItptV2OUs=; b=JjYfj0sAbn9MAtojv52jpLYBNGpRoVBsE/PXh3z2rhDW7lZINveh6xl+dvBddhPQYP WjVNUM1ghJ8H9k/riho/vE8KI9Rui5WTB2aFl8FtIQq/V1EhletdQ9CJ30f1Us1wQ+sx m9Q6vg2wXi6Pw7f7ifon9RWb4XYByTezBEI/iGNxv+KU0zoX5xIazcGhQ8t7QbwJsMCp jLFK8APbzSWem3/meKRwPBK1/JXvYlO1dAGgjFLHBkG6ZrOgl7MerSvboKOxmTkGdHAN bVXykbXDNqDgyy77uJJ01Ra0IC51+aDm8nEPpAmx+HE0im/e3lVdXUMBF5QhkQEzgmg5 Sy8Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id tz14-20020a170907c78e00b0077ef3eeca17si3944385ejc.155.2022.11.23.16.23.31; Wed, 23 Nov 2022 16:23:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229810AbiKXASe (ORCPT + 88 others); Wed, 23 Nov 2022 19:18:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46584 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229787AbiKXASU (ORCPT ); Wed, 23 Nov 2022 19:18:20 -0500 Received: from www62.your-server.de (www62.your-server.de [213.133.104.62]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6734763CE6; Wed, 23 Nov 2022 16:18:08 -0800 (PST) Received: from sslproxy03.your-server.de ([88.198.220.132]) by www62.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1oxzwL-0000Gk-KX; Thu, 24 Nov 2022 01:18:05 +0100 Received: from [85.1.206.226] (helo=linux.home) by sslproxy03.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oxzwL-000Vk9-2M; Thu, 24 Nov 2022 01:18:05 +0100 Subject: Re: [PATCH bpf v2] bpf: Update bpf_{g,s}etsockopt() documentation To: Ji Rongfeng , bpf@vger.kernel.org, linux-kernel@vger.kernel.org Cc: ast@kernel.org, andrii@kernel.org, martin.lau@linux.dev, song@kernel.org, yhs@fb.com, john.fastabend@gmail.com, kpsingh@kernel.org, sdf@google.com, haoluo@google.com, jolsa@kernel.org, joannelkoong@gmail.com, kuifeng@fb.com, lorenzo@kernel.org, maximmi@nvidia.com, quentin@isovalent.com References: From: Daniel Borkmann Message-ID: <0977584d-8aff-624d-4cf8-a6e4868958c5@iogearbox.net> Date: Thu, 24 Nov 2022 01:18:04 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Authenticated-Sender: daniel@iogearbox.net X-Virus-Scanned: Clear (ClamAV 0.103.7/26729/Wed Nov 23 09:18:01 2022) X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/18/22 9:18 AM, Ji Rongfeng wrote: > * append missing optnames to the end > * simplify bpf_getsockopt()'s doc > > Signed-off-by: Ji Rongfeng > --- > include/uapi/linux/bpf.h | 20 ++++++++++++-------- > tools/include/uapi/linux/bpf.h | 20 ++++++++++++-------- > 2 files changed, 24 insertions(+), 16 deletions(-) > > diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h > index 51b9aa640ad2..14f29d95ea71 100644 > --- a/include/uapi/linux/bpf.h > +++ b/include/uapi/linux/bpf.h > @@ -2576,14 +2576,19 @@ union bpf_attr { > * * **SOL_SOCKET**, which supports the following *optname*\ s: > * **SO_RCVBUF**, **SO_SNDBUF**, **SO_MAX_PACING_RATE**, > * **SO_PRIORITY**, **SO_RCVLOWAT**, **SO_MARK**, > - * **SO_BINDTODEVICE**, **SO_KEEPALIVE**. > + * **SO_BINDTODEVICE**, **SO_KEEPALIVE**, **SO_REUSEADDR**, > + * **SO_REUSEPORT**, **SO_BINDTOIFINDEX**, **SO_TXREHASH**. > * * **IPPROTO_TCP**, which supports the following *optname*\ s: > * **TCP_CONGESTION**, **TCP_BPF_IW**, > * **TCP_BPF_SNDCWND_CLAMP**, **TCP_SAVE_SYN**, > * **TCP_KEEPIDLE**, **TCP_KEEPINTVL**, **TCP_KEEPCNT**, > - * **TCP_SYNCNT**, **TCP_USER_TIMEOUT**, **TCP_NOTSENT_LOWAT**. > + * **TCP_SYNCNT**, **TCP_USER_TIMEOUT**, **TCP_NOTSENT_LOWAT**, > + * **TCP_NODELAY**, **TCP_MAXSEG**, **TCP_WINDOW_CLAMP**, > + * **TCP_THIN_LINEAR_TIMEOUTS**, **TCP_BPF_DELACK_MAX**, > + * **TCP_BPF_RTO_MIN**. > * * **IPPROTO_IP**, which supports *optname* **IP_TOS**. > - * * **IPPROTO_IPV6**, which supports *optname* **IPV6_TCLASS**. > + * * **IPPROTO_IPV6**, which supports the following *optname*\ s: > + * **IPV6_TCLASS**, **IPV6_AUTOFLOWLABEL**. > * Return > * 0 on success, or a negative error in case of failure. > * > @@ -2800,12 +2805,11 @@ union bpf_attr { > * and **BPF_CGROUP_INET6_CONNECT**. > * > * This helper actually implements a subset of **getsockopt()**. > - * It supports the following *level*\ s: > + * It supports the same set of *optname*\ s that supported by nit: that is supported by > + * **bpf_setsockopt**\ () helper with a few exceptions: > * > - * * **IPPROTO_TCP**, which supports *optname* > - * **TCP_CONGESTION**. > - * * **IPPROTO_IP**, which supports *optname* **IP_TOS**. > - * * **IPPROTO_IPV6**, which supports *optname* **IPV6_TCLASS**. > + * * **bpf_setsockopt**\ () helper only: **TCP_BPF_***. > + * * **bpf_getsockopt**\ () helper only: **TCP_SAVED_SYNC**. I think from a user PoV the above is a bit hard to follow, maybe take Martin's earlier feedback into account and add a proper sentence; it will be much easier to understand. > * Return > * 0 on success, or a negative error in case of failure. > * [...]