Re: [Coin] Fwd: The Future of P4, Revisited
Hesham ElBakoury <helbakoury@gmail.com> Fri, 19 May 2023 18:18 UTC
Return-Path: <helbakoury@gmail.com>
X-Original-To: coin@ietfa.amsl.com
Delivered-To: coin@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EF968C14CE4D for <coin@ietfa.amsl.com>; Fri, 19 May 2023 11:18:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.094
X-Spam-Level:
X-Spam-Status: No, score=-2.094 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VXtZkSWNPRtS for <coin@ietfa.amsl.com>; Fri, 19 May 2023 11:18:13 -0700 (PDT)
Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com [IPv6:2607:f8b0:4864:20::433]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1E33CC14CE42 for <coin@irtf.org>; Fri, 19 May 2023 11:18:13 -0700 (PDT)
Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-64a9335a8e7so834149b3a.0 for <coin@irtf.org>; Fri, 19 May 2023 11:18:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684520292; x=1687112292; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=5qdklcsHHnhmzLXkODdVQ1F42NmpmfT5FPljsMwJbCM=; b=VcuRuHwOU0nSQ+ILR0PtyA9h/pqiss7wSmUeLIVyZmHb4JZoL7DCAJ/HDvcj2JI6Hc k6iC7D8+eAy/XwAWRaU0qGEZx9F4FZUJaHtNOVAmZYVu0jgbqxnCzXNVD+YhfXAQEfRb 5iL/LPLXBqC1TLR5rY2WKD2uUIH+NkfE8hHMCDqieINjUACOqOqRsX8Zq8KeHDSzgOZ+ D+GcgjZuu+bQWUStd2JNsHKGeqwSgWstwFeszso/zSh+7njttXk5NHAW8HgsDPE8+HHS o8ZLnFuf2joDM3KDh57kKTmRpizVT6Kb6I6WfeDO++VMfH0CP8LRpoWLjxc1ORhn0lA9 DdHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684520292; x=1687112292; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5qdklcsHHnhmzLXkODdVQ1F42NmpmfT5FPljsMwJbCM=; b=M1OW1bePr0kn0U/If6IdrjTtxMytkohRoZb/SyL1bm/58K8mCoz2eqEW0AeiaxY9dh B4QpWHd3tHq0q/OsOFdl1pkCniAYijkCeOi1cmGYmzM0eraA1WE9AZBcqNp9RHTBC5Uv Z6dV00ssMaCeWvvCdejotughjqt433sKSCqpqfNlL6myyTgFlVyPlA/eDHFav4UZI2MJ kyEd0WpKcAa+yzJHO67gPCxGrLEm+pub8zesxO0sHlOv6lkJ8D69RLSag/GnN/wVLCXV 8sEVdxqlINetEl1H4P+tlSNagLgrmmYj5npMmyis2yN6InsngBKt99+yXARtgq2cFxvL ZdHg==
X-Gm-Message-State: AC+VfDxqb5ZIDL0WBooxP4B0MuR2hIx5xu3/jJWCIGmn0aiwlCiHzjYD BzRPsf+mdOt46OmVWqmFDKruGUsn4SyVxGWEeek=
X-Google-Smtp-Source: ACHHUZ74FYWPHysvBax+G3m05LC9vsen4IOqwZFxfFxN7X8JE8tZu8qaBDwzmGI+j97E8wQrKXgks8XrJZJoqtMyi9A=
X-Received: by 2002:a17:90a:e2d2:b0:253:2816:2a12 with SMTP id fr18-20020a17090ae2d200b0025328162a12mr3518740pjb.14.1684520292043; Fri, 19 May 2023 11:18:12 -0700 (PDT)
MIME-Version: 1.0
References: <BY3PR13MB47879D6486069FDA49D6252C9A7F9@BY3PR13MB4787.namprd13.prod.outlook.com> <009f01d989b5$3f0a5d30$bd1f1790$@mnkcg.com> <ZGZ5MEal+NPtfDvg@faui48e.informatik.uni-erlangen.de> <BY3PR13MB47871414A1B9BB37A197C3A99A7F9@BY3PR13MB4787.namprd13.prod.outlook.com> <000801d989cb$39f6c3e0$ade44ba0$@mnkcg.com> <ZGbBWIPaH8d2lgiQ@faui48e.informatik.uni-erlangen.de> <006d01d989ef$d7d04540$8770cfc0$@mnkcg.com> <BY3PR13MB4787D6D30F2F1F6B20F2507B9A7C9@BY3PR13MB4787.namprd13.prod.outlook.com> <ZGekyuneBRDRxobA@faui48e.informatik.uni-erlangen.de> <00de01d98a78$88895330$999bf990$@mnkcg.com> <ZGe707xWgAA+hTwi@faui48e.informatik.uni-erlangen.de>
In-Reply-To: <ZGe707xWgAA+hTwi@faui48e.informatik.uni-erlangen.de>
From: Hesham ElBakoury <helbakoury@gmail.com>
Date: Fri, 19 May 2023 11:18:01 -0700
Message-ID: <CAFvDQ9px9Ao6LG2XcDddxP9z1zKss4o6Sh=xNsNeFS3A15VSoA@mail.gmail.com>
To: Toerless Eckert <tte@cs.fau.de>
Cc: hemant@mnkcg.com, Haoyu Song <haoyu.song@futurewei.com>, ehalep@mojatatu.com, "Bernier, Daniel" <daniel.bernier@bell.ca>, Marie-Jose Montpetit <marie@mjmontpetit.com>, coin <coin@irtf.org>, coinrg-chairs <coinrg-chairs@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000009fd43805fc0ff1d0"
Archived-At: <https://mailarchive.ietf.org/arch/msg/coin/Q41yx58vtsPIoo2sSyUJc0Y1vV4>
Subject: Re: [Coin] Fwd: The Future of P4, Revisited
X-BeenThere: coin@irtf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "COIN: Computing in the Network" <coin.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/coin>, <mailto:coin-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/coin/>
List-Post: <mailto:coin@irtf.org>
List-Help: <mailto:coin-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/coin>, <mailto:coin-request@irtf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 May 2023 18:18:17 -0000
It is worth noting that Broadcom NPL does not provide Traffic Management support. Hesham On Fri, May 19, 2023, 11:11 AM Toerless Eckert <tte@cs.fau.de> wrote: > On Fri, May 19, 2023 at 01:37:05PM -0400, hemant@mnkcg.com wrote: > > P4 supports variable length parsing. > > Not via the parser itself, but through explicit P4 programming, which is > a significant limitation. I can find our older papers on variable length > packet parsing issues. Deparsing is then also equally more complex. > > P4 is based on a well known type of parsing hardware, which is employed > in Tofino. But there are more intelligent parsing engines. > > > Regarding memory optimizations on cpu, vpp has optimized memory for both > instructions and data. > > For processing that needs to operate on more than just integers, > such as monitoring, accounting and inference, you definitely want > a specification language that supports the desired data types natively. > Such as real or fixed-point numbers. Even allow to define new types. > But also beyond that. For example, in one of my drafts, i need to do > have bit-accurate pointers for calculation into complex bitstring > structures. Same is likely true if we where to pseudocode > specify some of the IoT header compression mechanisms, or other > compressed structures. > > Production VPP code is certainly not useful as specification reference > code. > I know how much of that code was written by developers (Ed et. al.) > who knew exactly what x86 instructions where generated from C code and > their cycle count. Which of course was (and i guess still is) then a good > amount of re-optimization need for ARM (or other CPU). Not to talk about > SIMD. > > > All these optimizations are available in my company's P4toVPP compiler. > > Sure, but a better specification language than P4 would be even more > opportunity for > a future versions of a compiler like yours. For example, fixedpoint math > looks ugly in P4. Good enoough for validation code, but not for a spec > language. > It could look very nice if the language had such data > types natively. And your compiler could translate into a fitting P4 > fixedpoint math library. Or extern libraries, such as for actual floating > point calculation. Or even skip mapping into P4 completely and creating > better code directly mapping to the underlying platform features. > > > TM is still an open issue to work on. > > There is good work happening for high-speed PIFO type FPGA forwarding code. > I think some form of extended PIFO functionality could become the basis for > programmable TM in the future. Still has to be seen how well it would > possible > to efficiently PoC this on lower end CPU forwarders. If this direction pans > out, then the forwarding plane impact is just the compute of the TM > parameters such as rank/timestamps - and processing on dequeueing. > > Cheers > Toerless > > > > > Hemant > > > > -----Original Message----- > > From: 'Toerless Eckert' <tte@cs.fau.de> > > Sent: Friday, May 19, 2023 12:33 PM > > To: Haoyu Song <haoyu.song@futurewei.com> > > Cc: hemant@mnkcg.com; 'Hesham ElBakoury' <helbakoury@gmail.com>; > ehalep@mojatatu.com; 'Bernier, Daniel' <daniel.bernier@bell.ca>; > 'Marie-Jose Montpetit' <marie@mjmontpetit.com>; 'coin' <coin@irtf.org>; > 'coinrg-chairs' <coinrg-chairs@ietf.org> > > Subject: Re: [Coin] Fwd: The Future of P4, Revisited > > > > Right. > > > > For high speed router/switch (>= 100gbps/interface) validation: > > P4 implementations on Tofino are great as proof of concept - if it can > be done. > > If P4 implementation on Tofino does not work, other proof points are > needed, > > > > For medium speed "software forwarding" validation: > > P4 creates too many limitations. All CPU have float, and/or SMDI, > and/or > > more flexible memory access options and likely several other aspects > not > > easily utilized by P4. > > > > For generic specification: > > IMHO above limitations are at the core of why P4 is insufficient. > > I very much like several structural aspects of P4, they would be great > > starting points for general purpose spec. Such as header parsing specs > > (need to be extended for variable length though). > > Aka: Anything we can use from P4 which is more/better declarative than > > C/C++ is IMHO useful. Just lets not introduce constraints: Validation > on > > different type of forwarding platforms is different from a single > > specification. > > And we are also missing good DSL spec options for TM i fear... > > > > Cheers > > Toerless > > > > On Fri, May 19, 2023 at 04:02:57PM +0000, Haoyu Song wrote: > > > I think the discussion is off the point. We are discussing whether or > not P4 is suitable for a standard specification language for general > dataplane processing and forwarding applications. To fulfill that purpose, > it needs to be target/architecture independent; it needs to be concise and > expressive to cover various dataplane functions which may not be > conceivable today (e.g., in-network computing applications). > > > Unfortunately, I don't think P4 can meet these requirements now > > > (imagine all the pseudo code in RFCs are translated to P4). Of course, > > > it can be limited to just support certain functions, e.g., to document > > > the header formats and parsing process (but here I don't see the > > > advantage of P4 either) > > > > > > Haoyu > > > > > > -----Original Message----- > > > From: hemant@mnkcg.com <hemant@mnkcg.com> > > > Sent: Thursday, May 18, 2023 6:19 PM > > > To: 'Toerless Eckert' <tte@cs.fau.de> > > > Cc: Haoyu Song <haoyu.song@futurewei.com>; 'Hesham ElBakoury' > > > <helbakoury@gmail.com>; ehalep@mojatatu.com; 'Bernier, Daniel' > > > <daniel.bernier@bell.ca>; 'Marie-Jose Montpetit' > > > <marie@mjmontpetit.com>; 'coin' <coin@irtf.org>; 'coinrg-chairs' > > > <coinrg-chairs@ietf.org> > > > Subject: RE: [Coin] Fwd: The Future of P4, Revisited > > > > > > Toerless, > > > > > > Only externs defined in core.p4 are in a library. Externs defined in > an architecture include file, e.g., v1model.p4 are implemented in > target-specific back end and are extensions. An example of a target extern > is vpp accelerator in Octeon 10. Neither P4-16 spec nor PNA support > floating point and neither does my compiler. Floating point in used be > AI/ML. The float point numbers would have to be converted to integer. > Google's Tensor chip also converts float to integer for ML. > > > > > > If you want to work with the linux kernel, see the ebpf architecture > include file, > https://github.com/p4lang/p4c/blob/main/p4include/ebpf_model.p4. Doesn't > the file have externs which have totally abstracted linux kernel data > structs and functions? > > > > > > Hemant > > > > > > -----Original Message----- > > > From: Coin <coin-bounces@irtf.org> On Behalf Of 'Toerless Eckert' > > > Sent: Thursday, May 18, 2023 8:23 PM > > > To: hemant@mnkcg.com > > > Cc: 'Haoyu Song' <haoyu.song@futurewei.com>; 'Hesham ElBakoury' > > > <helbakoury@gmail.com>; ehalep@mojatatu.com; 'Bernier, Daniel' > > > <daniel.bernier@bell.ca>; 'Marie-Jose Montpetit' > > > <marie@mjmontpetit.com>; 'coin' <coin@irtf.org>; 'coinrg-chairs' > > > <coinrg-chairs@ietf.org> > > > Subject: Re: [Coin] Fwd: The Future of P4, Revisited > > > > > > Hemant, > > > > > > Externs and functions are not an extension to the language. > > > They are really just libraries. > > > > > > Syntactic changes/extensions such as for parsing/deparsing, new types, > such as float/double - those would be language extensions. > > > > > > This makes the use of P4 cumbersome on any platform that can do more > than the worst-case-chip against which the P4 language is designed (aka: > Tofino). > > > > > > For example on your OCTEON P4 compiler: The ARM A72 does support > floating point numbers. If you implemented support for them via the > mechanisms supported by P4, the way i understood it, you could still not > write simple P4 programs for OCTEON then like: > > > > > > float a, b, c > > > a = b * c / 3.2; > > > > > > You may have a set of externs/functions through which you could do > this, but it would look a lot more ugly. > > > > > > Right ? If not, pls. explain - i would be happy! > > > > > > And Haoyu's argument was that when we want to suggest to use P4 as the > reference specification or base forwarding programming in the linux kernel, > then this need to hide stuff outside of P4 written externs and functions > does limit P4's useful as a complete specification and reference code > language. > > > > > > Cheers > > > Toerless > > > > > > On Thu, May 18, 2023 at 04:56:31PM -0400, hemant@mnkcg.com wrote: > > > > Why do you care for internal behavior of checksum when the P4 api is > able to provide data to compute checksum. > > > > > > > > https://github.com/p4lang/p4c/blob/main/p4include/v1model.p4#L505 > > > > > > > > Hemant > > > > > > > > -----Original Message----- > > > > From: Coin <coin-bounces@irtf.org> On Behalf Of Haoyu Song > > > > Sent: Thursday, May 18, 2023 3:30 PM > > > > To: 'Toerless Eckert' <tte@cs.fau.de>; hemant@mnkcg.com > > > > Cc: 'Hesham ElBakoury' <helbakoury@gmail.com>; ehalep@mojatatu.com; > > > > 'Bernier, Daniel' <daniel.bernier@bell.ca>; 'Marie-Jose Montpetit' > > > > <marie@mjmontpetit.com>; 'coin' <coin@irtf.org>; 'coinrg-chairs' > > > > <coinrg-chairs@ietf.org> > > > > Subject: Re: [Coin] Fwd: The Future of P4, Revisited > > > > > > > > Toerless, > > > > > > > > This is exactly the problem: you can't use the core language to > describe an arbitrary dataplane function. > > > > "Extern" can be a blackbox but what need is the spec for what's in > the blackbox. > > > > > > > > For P4 spec: " Extern objects are architecture-specific constructs > that can be manipulated by P4 programs through well-defined APIs, but whose > internal behavior is hard-wired (e.g., checksum units) and hence not > programmable using P4" > > > > > > > > Haoyu > > > > > > > > -----Original Message----- > > > > From: 'Toerless Eckert' <tte@cs.fau.de> > > > > Sent: Thursday, May 18, 2023 12:15 PM > > > > To: hemant@mnkcg.com > > > > Cc: Haoyu Song <haoyu.song@futurewei.com>; 'Hesham ElBakoury' > > > > <helbakoury@gmail.com>; ehalep@mojatatu.com; 'Bernier, Daniel' > > > > <daniel.bernier@bell.ca>; 'Marie-Jose Montpetit' > > > > <marie@mjmontpetit.com>; 'coin' <coin@irtf.org>; 'coinrg-chairs' > > > > <coinrg-chairs@ietf.org> > > > > Subject: Re: [Coin] Fwd: The Future of P4, Revisited > > > > > > > > On Thu, May 18, 2023 at 02:19:12PM -0400, hemant@mnkcg.com wrote: > > > > > A specific P4 architecture, e.g., PNA, may override the base P4 > spec. PNA supports writing table entry by data plane. Using registers in P4 > is a bit clunky but state can be maintained. Anyone is welcome to present a > better solution to the P4 forums. > > > > > > > > So far, my limited experience has been, that the language itself has > rather evolved over its series of spec to further reduce the base language > functionality and move any improvemenets into implementation extensions > ("extern") calls, so that no possible hardware would not be able to not > support any base language feature. > > > > > > > > This is a good strategy to gain more acceptance in the industry, but > > > > not to get to the easiest to use forwarding plane behavioral > > > > definition language > > > > > > > > For exmple, i would need axtual syntactical language extensions to > define a good way to parse andd deparsing variable length header fields. > This can not just be done with extern calls. > > > > > > > > Has P4 adopted the approach to have optional language feature > extensions ? > > > > Sorry. Did not have time to follow the spec evolution in detail. > > > > > > > > Cheers > > > > Toerless > > > > > Hemant > > > > > > > > > > > > > > > > > > > > From: Haoyu Song <haoyu.song@futurewei.com> > > > > > Sent: Thursday, May 18, 2023 1:56 PM > > > > > To: Hesham ElBakoury <helbakoury@gmail.com> > > > > > Cc: ehalep@mojatatu.com; Toerless Eckert <tte@cs.fau.de>; > > > > > hemant=40mnkcg.com@dmarc.ietf.org <hemant@mnkcg.com>; Bernier, > > > > > Daniel <daniel.bernier@bell.ca>; Marie-Jose Montpetit > > > > > <marie@mjmontpetit.com>; coin <coin@irtf.org>; coinrg-chairs > > > > > <coinrg-chairs@ietf.org> > > > > > Subject: RE: [Coin] Fwd: The Future of P4, Revisited > > > > > > > > > > > > > > > > > > > > Hi Hesham, > > > > > > > > > > > > > > > > > > > > Please see P4 spec section 6.5.2 for the current “stateful” > support. > > > > > So far the “table” element, which is the most important construct > > > > > for a P4 program, is not stateful (i.e., dataplane writable) > > > > > > > > > > I think it’s a direction to extend P4 for better stateful support > (part of my recent research). At least now it’s unnatural and difficult to > describe many stateful functions. > > > > > > > > > > > > > > > > > > > > Haoyu > > > > > > > > > > > > > > > > > > > > From: Coin <coin-bounces@irtf.org <mailto:coin-bounces@irtf.org> > > > > > > > On Behalf Of Hesham ElBakoury > > > > > Sent: Thursday, May 18, 2023 10:42 AM > > > > > To: Haoyu Song <haoyu.song@futurewei.com > > > > > <mailto:haoyu.song@futurewei.com> > > > > > > Cc: ehalep@mojatatu.com <mailto:ehalep@mojatatu.com> ; Toerless > > > > > Eckert <tte@cs.fau.de <mailto:tte@cs.fau.de> >; > > > > > hemant=40mnkcg.com@dmarc.ietf.org > > > > > <mailto:hemant=40mnkcg.com@dmarc.ietf.org> ; Bernier, Daniel > > > > > <daniel.bernier@bell.ca <mailto:daniel.bernier@bell.ca> >; > > > > > Marie-Jose Montpetit <marie@mjmontpetit.com > > > > > <mailto:marie@mjmontpetit.com> >; coin <coin@irtf.org > > > > > <mailto:coin@irtf.org> >; coinrg-chairs <coinrg-chairs@ietf.org > > > > > <mailto:coinrg-chairs@ietf.org> > > > > > > Subject: Re: [Coin] Fwd: The Future of P4, Revisited > > > > > > > > > > > > > > > > > > > > Hi Haoyu, > > > > > > > > > > Actually, P4 supports dataplane-modifiable tables -- see PNA. > > > > > > > > > > > > > > > > > > > > More generally, the *language* is fully extensible. You can have > whatever architecture and state externs you want. So one needs to be > careful to separate language (non) limitations from target limitations. > > > > > > > > > > > > > > > > > > > > Hesham > > > > > > > > > > > > > > > > > > > > On Thu, May 18, 2023, 10:15 AM Haoyu Song < > haoyu.song@futurewei.com <mailto:haoyu.song@futurewei.com> > wrote: > > > > > > > > > > Hi Hesham, > > > > > > > > > > > > > > > > > > > > I said “it’s very limited”. P4 table is only readable (i.e., not > writable) by dataplane, so it basically eliminates any dataplane stateful > function that need to use tables. The stateful function can only use > register arrays but unfortunately registers are local to a pipeline stage > so the state update logic must be very simple and can be finish in a single > stage. What you said “event” must be something very simple. Use case such > as stateful load balancer can’t be implemented by P4. > > > > > > > > > > > > > > > > > > > > There are some works addressing the issue. FlowBlaze is the most > recent one, which needs a new chip architecture but it is still limited to > simple stateful functions which can be realized in a single pipeline stage. > > > > > > > > > > > > > > > > > > > > Haoyu > > > > > > > > > > > > > > > > > > > > From: Hesham ElBakoury <helbakoury@gmail.com > > > > > <mailto:helbakoury@gmail.com> > > > > > > Sent: Thursday, May 18, 2023 10:00 AM > > > > > To: Haoyu Song <haoyu.song@futurewei.com > > > > > <mailto:haoyu.song@futurewei.com> > > > > > > Cc: ehalep@mojatatu.com <mailto:ehalep@mojatatu.com> ; Toerless > > > > > Eckert <tte@cs.fau.de <mailto:tte@cs.fau.de> >; > > > > > hemant=40mnkcg.com@dmarc.ietf.org > > > > > <mailto:40mnkcg.com@dmarc.ietf.org> > > > > > ; Bernier, Daniel <daniel.bernier@bell.ca > > > > > <mailto:daniel.bernier@bell.ca> >; Marie-Jose Montpetit > > > > > <marie@mjmontpetit.com <mailto:marie@mjmontpetit.com> >; coin > > > > > <coin@irtf.org <mailto:coin@irtf.org> >; coinrg-chairs > > > > > <coinrg-chairs@ietf.org <mailto:coinrg-chairs@ietf.org> > > > > > > Subject: Re: [Coin] Fwd: The Future of P4, Revisited > > > > > > > > > > > > > > > > > > > > Hi Haoyu, > > > > > > > > > > You say: "P4 has very limited support for stateful processing" > > > > > > > > > > > > > > > > > > > > I am not sure I can agree with your characterization of P4. > Perhaps can you elaborate on this. > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > Hesham > > > > > > > > > > > > > > > > > > > > On Thu, May 18, 2023, 9:19 AM Haoyu Song <haoyu.song@futurewei.com > <mailto:haoyu.song@futurewei.com> > wrote: > > > > > > > > > > Interesting discussion. See my comments below [HS] > > > > > > > > > > Haoyu > > > > > > > > > > > For example, in the multicast drafts i write, we use > > > > > > C-pseudocode to specify behavior, but we do attempt to implemnt > on Tofino in P4. > > > > > > Should we really use P4 code for the RFC specs... ? (much longer > > > > > > than C Pseudocode). Aka: quite selfish (but IETF relevant ;-) > reason to highlight this point. > > > > > > > > > > [EH]: This is an area I'm very interested in. Having a > standardized and formal language to describe protocols and behavior can > bring a lot of functionality and benefits to the IETF. > > > > > My initial thinking is that having such a blueprint, the IETF > could generate tools to create a reference implementation that can be used > for interoperability purposes therefore decreasing time to test and > implement protocols and therefore RFC publications. > > > > > > > > > > [HS] P4 can only describe dataplane behaviors, so any control > plane stuff is out of scope. For dataplane, if it's used to describe header > format, it's not better than the "struct" in C. The language uses the > match-action table abstraction with an implication of pipeline > implementation which may make it cumbersome or even impossible to describe > the behavior (e.g., P4 has very limited support for stateful processing). > In general, I don't think P4 at its current form can undertake the role for > formal protocol specification. > > > > > > > > > > > > > > > > > > > > > -- > > > > --- > > > > tte@cs.fau.de > > > > -- > > > > Coin mailing list > > > > Coin@irtf.org > > > > https://www.irtf.org/mailman/listinfo/coin > > > > > > > > > > > > -- > > > --- > > > tte@cs.fau.de > > > > > > -- > > > Coin mailing list > > > Coin@irtf.org > > > https://www.irtf.org/mailman/listinfo/coin > > > -- > > > Coin mailing list > > > Coin@irtf.org > > > https://www.irtf.org/mailman/listinfo/coin > > > > -- > > --- > > tte@cs.fau.de > > > > -- > --- > tte@cs.fau.de >
- [Coin] Fwd: The Future of P4, Revisited Marie-Jose Montpetit
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited Marie-Jose Montpetit
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited Bernier, Daniel
- Re: [Coin] The Future of P4, Revisited Gianni Antichi
- Re: [Coin] The Future of P4, Revisited Bernier, Daniel
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited Toerless Eckert
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited Marie-Jose Montpetit
- Re: [Coin] Fwd: The Future of P4, Revisited Toerless Eckert
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited 'Toerless Eckert'
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] The Future of P4, Revisited Jeff Tantsura
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] The Future of P4, Revisited hemant
- Re: [Coin] The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] The Future of P4, Revisited hemant
- Re: [Coin] The Future of P4, Revisited hemant
- Re: [Coin] The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited 'Toerless Eckert'
- Re: [Coin] Fwd: The Future of P4, Revisited Toerless Eckert
- Re: [Coin] The Future of P4, Revisited Jeff Tantsura
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited Marie-Jose Montpetit
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited 'Toerless Eckert'
- Re: [Coin] Fwd: The Future of P4, Revisited Bernier, Daniel
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited Gyan Mishra
- Re: [Coin] Fwd: The Future of P4, Revisited 'Toerless Eckert'
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited Y. Richard Yang
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited ehalep
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited 'Toerless Eckert'
- Re: [Coin] Fwd: The Future of P4, Revisited ehalep
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited ehalep
- Re: [Coin] Fwd: The Future of P4, Revisited Haoyu Song
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited 'Toerless Eckert'
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited Haoyu Song
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited Haoyu Song
- Re: [Coin] Fwd: The Future of P4, Revisited Haoyu Song
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited Haoyu Song
- Re: [Coin] Fwd: The Future of P4, Revisited Haoyu Song
- Re: [Coin] Fwd: The Future of P4, Revisited 'Toerless Eckert'
- Re: [Coin] Fwd: The Future of P4, Revisited Haoyu Song
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited Haoyu Song
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited 'Toerless Eckert'
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited Haoyu Song
- Re: [Coin] Fwd: The Future of P4, Revisited 'Toerless Eckert'
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited 'Toerless Eckert'
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited Toerless Eckert
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited 'Toerless Eckert'
- Re: [Coin] Fwd: The Future of P4, Revisited Toerless Eckert
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- Re: [Coin] Fwd: The Future of P4, Revisited hemant
- Re: [Coin] Fwd: The Future of P4, Revisited Hesham ElBakoury
- [Coin] The Price for Programmability in the Softw… Hesham ElBakoury