{"title":"P4 language extensions for stateful packet processing","authors":"Angelo Tulumello","doi":"10.23919/CNSM52442.2021.9615573","DOIUrl":null,"url":null,"abstract":"The P4 language is the de facto standard to define how programmable switches must process packets. P4 is extensively employed in datacenter scenarios as it permits to support a wide set of network applications. However, P4 does not provide a clear description of stateful processing, especially on handling per-flow states. This paper extends both the P4 language and the P4 software switch (bmv2) with novel stateful primitives with a clear representation of per-flow states. Furthermore, we exploit these new functionalities by implementing a datacenter network function that implements a scalable tunneling mechanism. The developed network function differentiates the top talker flows directly handled by the switch and the other flows that are instead managed in a slow path involving specific network devices with large connection tables.","PeriodicalId":358223,"journal":{"name":"2021 17th International Conference on Network and Service Management (CNSM)","volume":"292 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 17th International Conference on Network and Service Management (CNSM)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.23919/CNSM52442.2021.9615573","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
The P4 language is the de facto standard to define how programmable switches must process packets. P4 is extensively employed in datacenter scenarios as it permits to support a wide set of network applications. However, P4 does not provide a clear description of stateful processing, especially on handling per-flow states. This paper extends both the P4 language and the P4 software switch (bmv2) with novel stateful primitives with a clear representation of per-flow states. Furthermore, we exploit these new functionalities by implementing a datacenter network function that implements a scalable tunneling mechanism. The developed network function differentiates the top talker flows directly handled by the switch and the other flows that are instead managed in a slow path involving specific network devices with large connection tables.