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=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,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 B8CBEC43381 for ; Sat, 23 Mar 2019 09:12:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 86561218D4 for ; Sat, 23 Mar 2019 09:12:44 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PsDE9yUl" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726301AbfCWJMn (ORCPT ); Sat, 23 Mar 2019 05:12:43 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:37644 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726096AbfCWJMm (ORCPT ); Sat, 23 Mar 2019 05:12:42 -0400 Received: by mail-wr1-f67.google.com with SMTP id w10so4791100wrm.4 for ; Sat, 23 Mar 2019 02:12:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=+npMqUN77pcs7GLgdSKj4D1mR+vZbpnZSSJy0hllUIM=; b=PsDE9yUllJKDcrYPHfUGaqF48rfkb+hDXyEic9abqxOL6BLinyyoz5FZTccmPW49AL ER8ic5fwE/S0fk/aRw9+RrOv7IkGC3DIUtubFbHQL30ldm/0niCXSWFOZv5MyGKGRIM2 vjb9T7uvW43gLNF+/FoNamuEM2h5yTtbNhqR/TGtlXwktzR97IzJdO2UwHS3FCYxPlaX 7wr1e7MyoJ76vqrfKyZ2w/Oij4rcq0jXKDLmKzZxck2FdaXKLh44XuDapVcddZtV69Q5 8jWKnRuv1x1FJ5UOXVgz69Zyr5VHXb2CjsHGwKqrv45OCJMYLFd6qBAc9EwogNi5Skdo Wnow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=+npMqUN77pcs7GLgdSKj4D1mR+vZbpnZSSJy0hllUIM=; b=Nn27qBNJJp3n/Pumt+7Hw5Z7XbaXAVEGwcgayBBsS2Ip8K1YhNEjB/GX2cyrqHrq/H Xvkg3Qt1o+bHpKzHELw2uCWldInACDJ6smcSskESxJo6OAr3p/myU3MV5Vl2EGkzxxAi hSztZ8pn0j5mqdbRvj3RDLjjwUnWbI12ywsIVQpBfZDABm7XOXrmGgY4nyXBcoY58YA5 qHOqa7ucDKfN4iCWG5E40V+kwxtLxq826csx0d6C9i0hq494EVyOTQQWtKI/IWdBvmUU d14TrIrWPMmito1Or96E149ysetj5vzm2pmxGhQ6OpwmAI+wwQUoLvuE3Op+hh5EUGlm qwFA== X-Gm-Message-State: APjAAAVmpvWWaJnqwwyYgLjx7xgbeeZDcPC16SQRcf6CmDjUpeI20atS s04JzgyTxYmgvMRZ2T5Yr8PwHj5H X-Google-Smtp-Source: APXvYqxSUkKd/Umid4KeZHVItOPwwvaX+iHVQXID7trab9ZyvIqsqJhFXu+AT3Oo5rm8nWc4m30CXw== X-Received: by 2002:adf:b68d:: with SMTP id j13mr4239300wre.50.1553332361251; Sat, 23 Mar 2019 02:12:41 -0700 (PDT) Received: from [172.31.96.190] ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id x17sm22113156wrd.95.2019.03.23.02.12.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 23 Mar 2019 02:12:40 -0700 (PDT) Subject: Re: [PATCH bpf-next 0/7] bpf: Propagate cn to TCP To: brakmo , netdev Cc: Martin Lau , Alexei Starovoitov , Daniel Borkmann , Eric Dumazet , Kernel Team References: <20190323080542.173569-1-brakmo@fb.com> From: Eric Dumazet Message-ID: <704cb63c-13cd-f0ed-d546-18e3596bb63d@gmail.com> Date: Sat, 23 Mar 2019 02:12:39 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20190323080542.173569-1-brakmo@fb.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On 03/23/2019 01:05 AM, brakmo wrote: > This patchset adds support for propagating congestion notifications (cn) > to TCP from cgroup inet skb egress BPF programs. > > Current cgroup skb BPF programs cannot trigger TCP congestion window > reductions, even when they drop a packet. This patch-set adds support > for cgroup skb BPF programs to send congestion notifications in the > return value when the packets are TCP packets. Rather than the > current 1 for keeping the packet and 0 for dropping it, they can > now return: > NET_XMIT_SUCCESS (0) - continue with packet output > NET_XMIT_DROP (1) - drop packet and do cn > NET_XMIT_CN (2) - continue with packet output and do cn > -EPERM - drop packet > I believe I already mentioned this model is broken, if you have any virtual device before the cgroup BPF program. Please think about offloading the pacing/throttling in the NIC, there is no way we will report back to tcp stack instant notifications. This patch series is going way too far for my taste. This idea is not new, you were at Google when it was experimented by Nandita and others, and we know it is not worth the pain.