From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,FROM_EXCESS_BASE64, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 50E03C49ED7 for ; Mon, 16 Sep 2019 05:09:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 189C6214C6 for ; Mon, 16 Sep 2019 05:09:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LHSqKAOe" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728640AbfIPFJS (ORCPT ); Mon, 16 Sep 2019 01:09:18 -0400 Received: from mail-qt1-f194.google.com ([209.85.160.194]:45373 "EHLO mail-qt1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728625AbfIPFJS (ORCPT ); Mon, 16 Sep 2019 01:09:18 -0400 Received: by mail-qt1-f194.google.com with SMTP id c21so2957903qtj.12; Sun, 15 Sep 2019 22:09:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=8kEmIui+V45ORWT0/SoHUmGNe0Ir9S1igfDbRHAK2GI=; b=LHSqKAOenxXhnea96Ijkhfovd7rosMs372hVGTusS+smUTsNySGAdvJ0OVS3e7apW1 ijYGaNg/DbVhAZwXpLnEgH8Fzt0KRZyYWLY9rLDP5O+AEAHGDeyrST423Ghy6Z3f7phc 6iiNZGll/NGZQsEhXJvp9khBB00HtFm+WjqIyWGQCoDGr9iYxxCEqra0LZ7O9Yp8THm6 KLaMJnwSCTQzVYJPAzgeVNXS/S4gGitN9ZRFvUXPWz8C+Dpi8lQv/5rqKDaMDWsgsLrN KIy0rvqVq2tbmb42AxSDvILY5xbWmW3HD/IxnXwR6FYopv840y4Sm19krLQAcKdAirvH pOXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=8kEmIui+V45ORWT0/SoHUmGNe0Ir9S1igfDbRHAK2GI=; b=pi18oEYjxIo/uzwUY6KuPhuOXvmtVf1nIpY3iRJ1KV93Q3R2axZk9ZzMkCR8lxYCiV 66ESTeVR8DWE7rakeLCNC/9Cu+EvYq+42/bUi5z3fC1kkGBLoBbpPgmLgknHUAdkfe0l uhXdYjqgMiBWU/lZ9KvkTOrXVjzR734bSNQSuyI9ZNwtnFDZ4M8EoqK0DbgCveiQohwh DWpROn6RYmdjv+8xf/jf4dl2cYuhIiNwC/CrP2At5ESlj/y6jbhg+FWK0UaLDVAP39OF JrC78cBDlkhr604X+OhQaXqGlxyotO65l/qrJwbLosKEMsWXt77XKM0NjCba1J9vPV7U JfCg== X-Gm-Message-State: APjAAAXXdeUOUa5KUGIjAZIUGjh2KPJiSgYndmuGog6CHW1Fa4sfyeSC tufOagXOKb6dGKC2Ao2Ae+dasl6+rkraRQIMKBg= X-Google-Smtp-Source: APXvYqzwCSXIClc8HDmuXJhxznxFkQVHZb9kjcr90hjd5cPvxPTmi4bYzusioJK3WWhuvq7ci7zggrvwaLrX8o1rnlw= X-Received: by 2002:ac8:5381:: with SMTP id x1mr15290589qtp.37.1568610557299; Sun, 15 Sep 2019 22:09:17 -0700 (PDT) MIME-Version: 1.0 References: <20190909174619.1735-1-toke@redhat.com> <8e909219-a225-b242-aaa5-bee1180aed48@fb.com> <87lfuxul2b.fsf@toke.dk> <60651b4b-c185-1e17-1664-88957537e3f1@fb.com> In-Reply-To: <60651b4b-c185-1e17-1664-88957537e3f1@fb.com> From: =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= Date: Mon, 16 Sep 2019 07:09:06 +0200 Message-ID: Subject: Re: [PATCH] libbpf: Don't error out if getsockopt() fails for XDP_OPTIONS To: Yonghong Song Cc: =?UTF-8?B?VG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2Vu?= , Alexei Starovoitov , Daniel Borkmann , "netdev@vger.kernel.org" , "bpf@vger.kernel.org" , "maximmi@mellanox.com" , "Karlsson, Magnus" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: bpf-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org On Fri, 13 Sep 2019 at 21:46, Yonghong Song wrote: > > > > On 9/10/19 12:06 AM, Toke H=C3=B8iland-J=C3=B8rgensen wrote: > > Yonghong Song writes: > > > >> On 9/9/19 10:46 AM, Toke H=C3=B8iland-J=C3=B8rgensen wrote: > >>> The xsk_socket__create() function fails and returns an error if it ca= nnot > >>> get the XDP_OPTIONS through getsockopt(). However, support for XDP_OP= TIONS > >>> was not added until kernel 5.3, so this means that creating XSK socke= ts > >>> always fails on older kernels. > >>> > >>> Since the option is just used to set the zero-copy flag in the xsk st= ruct, > >>> there really is no need to error out if the getsockopt() call fails. > >>> > >>> Signed-off-by: Toke H=C3=B8iland-J=C3=B8rgensen > >>> --- > >>> tools/lib/bpf/xsk.c | 8 ++------ > >>> 1 file changed, 2 insertions(+), 6 deletions(-) > >>> > >>> diff --git a/tools/lib/bpf/xsk.c b/tools/lib/bpf/xsk.c > >>> index 680e63066cf3..598e487d9ce8 100644 > >>> --- a/tools/lib/bpf/xsk.c > >>> +++ b/tools/lib/bpf/xsk.c > >>> @@ -603,12 +603,8 @@ int xsk_socket__create(struct xsk_socket **xsk_p= tr, const char *ifname, > >>> > >>> optlen =3D sizeof(opts); > >>> err =3D getsockopt(xsk->fd, SOL_XDP, XDP_OPTIONS, &opts, &optlen)= ; > >>> - if (err) { > >>> - err =3D -errno; > >>> - goto out_mmap_tx; > >>> - } > >>> - > >>> - xsk->zc =3D opts.flags & XDP_OPTIONS_ZEROCOPY; > >>> + if (!err) > >>> + xsk->zc =3D opts.flags & XDP_OPTIONS_ZEROCOPY; > >>> > >>> if (!(xsk->config.libbpf_flags & XSK_LIBBPF_FLAGS__INHIBIT_PROG_L= OAD)) { > >>> err =3D xsk_setup_xdp_prog(xsk); > >> > >> Since 'zc' is not used by anybody, maybe all codes 'zc' related can be > >> removed? It can be added back back once there is an interface to use > >> 'zc'? > > > > Fine with me; up to the maintainers what they prefer, I guess? :) > > Maxim, > > Your originally introduced `'zc' and getting XDP_OPTIONS. > What is your opinion of how to deal with the unused xsk->zc? > This was previously discussed here [1]. The TL;DR version is "stay tuned for a proper interface". :-) Bj=C3=B6rn [1] https://lore.kernel.org/bpf/CAJ8uoz1qhaHwebmjOOS9xfJe93Eq0v=3DSXhQUnjHv= 7imVL3ONsQ@mail.gmail.com/#t > > > > -Toke > >