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=-3.9 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no 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 981C5CA9EA0 for ; Fri, 25 Oct 2019 09:41:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6B56821D7B for ; Fri, 25 Oct 2019 09:41:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=cloudflare.com header.i=@cloudflare.com header.b="yQ7gCExz" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2438753AbfJYJlk (ORCPT ); Fri, 25 Oct 2019 05:41:40 -0400 Received: from mail-lj1-f177.google.com ([209.85.208.177]:46682 "EHLO mail-lj1-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2436710AbfJYJlk (ORCPT ); Fri, 25 Oct 2019 05:41:40 -0400 Received: by mail-lj1-f177.google.com with SMTP id k20so676980ljk.13 for ; Fri, 25 Oct 2019 02:41:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cloudflare.com; s=google; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=6NfBzBODp+mvvMTG0sObTS1pzfB38qWD7gIfxONgitA=; b=yQ7gCExzdPxwkXltZC+lHDsW6hVL1LMHb6vnSzWaWs/NgO0fEFdjqjCX1kB4yKn8dy Ql1/h7AuQjOhw8NI9R3ewTyQf6nZOzPCYpSxA6ih9daDMEJWImQI2cdgWxkQhgNd7FR/ lWM81f0OuRQ34vZCSCF3J0MrI6QeYREW0ELsM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=6NfBzBODp+mvvMTG0sObTS1pzfB38qWD7gIfxONgitA=; b=qXaSe3Oh+JaNXe3iqwCKvmHrgIZnskB36XJo17i/qlAbZBFApxhOsrszu4L69eHnDB 6hcXQBQwhHaotvXIaExaz86Pk4AJrjG6sdkfZYc3J5Y15z1L+0I2J6jq6C6wUv8++z38 5kGDz0pU+J5A1klhT2Cbk02eMrbfYJ6WnhYteNEVzmkZFW/Uhr+xqRMjEzfywEoARH1B 54W+8lcKas9uHHw/VYeBFIEyNpfPuuCIvN1OvOhWEOKc4+acSnITBU0xc4mDvri5FOFG 9Fecm/TXQJsPnJFuQQa9xPC+J72ce9E4i1yWA/MaFIAI0dkm7RQxt8Y5oqJzrxi75bqN +P7g== X-Gm-Message-State: APjAAAXe7wIPnd62gZD+jZX7bmtUPUq+DGtnu+vw89329ydEJ7Ezq8qX KBQ8JFdWvX4UdUReZbXFM1S+DQ== X-Google-Smtp-Source: APXvYqx42XUvXibIk8HAf3vkyMQNpwJARHxfEFCRIFuJYZ1UWBzpHnKMXcXkJFvvx1OnXzCbwb/fIw== X-Received: by 2002:a2e:87ca:: with SMTP id v10mr1709790ljj.43.1571996498157; Fri, 25 Oct 2019 02:41:38 -0700 (PDT) Received: from cloudflare.com ([176.221.114.230]) by smtp.gmail.com with ESMTPSA id y8sm555637ljh.21.2019.10.25.02.41.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Oct 2019 02:41:37 -0700 (PDT) References: <20191022113730.29303-1-jakub@cloudflare.com> <20191022113730.29303-3-jakub@cloudflare.com> <5db1da20174b1_5c282ada047205c046@john-XPS-13-9370.notmuch> User-agent: mu4e 1.1.0; emacs 26.1 From: Jakub Sitnicki To: John Fastabend Cc: bpf@vger.kernel.org, Martin KaFai Lau , netdev@vger.kernel.org, kernel-team@cloudflare.com Subject: Re: [RFC bpf-next 2/5] bpf, sockmap: Allow inserting listening TCP sockets into SOCKMAP In-reply-to: <5db1da20174b1_5c282ada047205c046@john-XPS-13-9370.notmuch> Date: Fri, 25 Oct 2019 11:41:36 +0200 Message-ID: <87k18tcgbz.fsf@cloudflare.com> MIME-Version: 1.0 Content-Type: text/plain Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Thu, Oct 24, 2019 at 07:06 PM CEST, John Fastabend wrote: > Jakub Sitnicki wrote: >> In order for SOCKMAP type to become a generic collection for storing socket >> references we need to loosen the checks in update callback. >> >> Currently SOCKMAP requires the TCP socket to be in established state, which >> prevents us from using it to keep references to listening sockets. >> >> Change the update pre-checks so that it is sufficient for socket to be in a >> hash table, i.e. have a local address/port, to be inserted. >> >> Return -EINVAL if the condition is not met to be consistent with >> REUSEPORT_SOCKARRY map type. >> >> Signed-off-by: Jakub Sitnicki >> --- > > We need to also have some tests then to verify redirecting to this listen socket > does the correct thing. Once its in the map we can redirect (ingress or egress) > to it and need to be sure the semantics are sane. You're right. The redirect BPF helpers that operate on SOCMAP might be relying on an assumption that sockets are in established state. I need look into that. Thanks, Jakub