Skip to main content
European Commission logo
English English
CORDIS - EU research results
CORDIS

Safe Networks using P4 Programs

Project description

Safe networks through bug-free P4 programmes

Programmable hardware data planes enable unprecedented network flexibility, promising an ever-evolving set of network functionalities at hardware speeds. P4 is a specialised programming language that can configure programmable data planes. Developed in the context of an EU-funded project, af4 is a verification tool that finds all bugs and automatically fixes P4 programmes without needing any programmer input. It automatically generates predicates to filter out buggy table entries. The EU-funded SafeNet project will now conduct a market study to identify potential new customers. The ultimate aim is to help get the product to market quickly as af4 promises to significantly reduce bugs and increase network safety.

Objective

Programmable hardware dataplanes such as the Barefoot Tofino enable unprecedented network flexibility, promising an ever-evolving set of network functionalities at hardware speeds, and are being rolled out in production. However, programming such dataplanes is very difficult as numerous bugs have been found even in trivial programs: accesses to uninitialized header fields, header stack underflows or overflows and processing of dropped packets. Verifying P4 programs before deployment is a great solution to make P4 programs safe. Recent research in this direction has shown that many bugs can be caught if (1) we know the concrete table entries at verification time (Vera, our work in Sigcomm 2018), or (2) if programmers express which rules are likely to appear in practice (p4v in Sigcomm 2018). Both approaches impose a high burden on the programmer, which reduces their applicability. In the CORNET ERC Stg project we have developed af4, a verification tool that finds all bugs and automatically fixes P4 programs without needing programmer input. The key insight behind our work is that verification need not consider all table entries because certain table entries will always result in faulty behavior for all matching packets and thus cannot appear in a correct deployment. af4 automatically generates predicates that filter out buggy table entries. If bugs are still reachable after predicate inference, af4 automatically adds a minimal number of keys to the existing tables and generates predicates that remove all bugs in the programs we tested. In this project we will explore the feasibility of commercial exploitation of af4: a) we will conduct a market study to understand potential customers; b) we will study possible approaches to commercialise af4 including open-source + consulting, cloud-based, or closed-source, and c) take steps towards commercialisation including the development of alfa-testing tools to be given to prospective customers.

Host institution

CORRECT NETWORKS SRL
Net EU contribution
€ 150 000,00
Address
INTRAREA EZARENI NR. 10, CAMERA 1, AP. 2
010258 Bucuresti Sector 1
Romania

See on map

SME

The organization defined itself as SME (small and medium-sized enterprise) at the time the Grant Agreement was signed.

Yes
Region
Macroregiunea Trei Bucureşti-Ilfov Bucureşti
Activity type
Private for-profit entities (excluding Higher or Secondary Education Establishments)
Links
Total cost
No data

Beneficiaries (1)