With the rise of the Network Softwarization era, eBPF has become a hot technology for efficient packet processing on commodity hardware. However the development of custom eBPF solutions is a challenging process that requires highly qualified human resources. Indeed, in eBPF, it is difficult to devise truly modular applications since the development model does not favour the use of pre-compiled functions and libraries. In addition, for safety purposes, each eBFF program must pass a binary code verifier of the Linux kernel, which may increase the difficulty of the development process. To overcome such difficulties and enable a new development model, in this paper we propose the eCLAT framework with the goal to lower the learning curve of engineers by re-using eBPF code in a programmable way. eCLAT offers a high level programming abstraction to eBPF based network programmability, allowing a developer to create custom application logic with no need of understanding the complex details of regular eBPF programming. A developer can write eCLAT scripts in a python-like language to compose eBPF programs. To support such abstraction at the eBPF level, we created an eBPF framework called HIKe which brings code reuse and modularity in eBPF. The eCLAT/HIKe solution does not require any kernel modification. The new development model is tested through two concrete examples and compared with other proposed frameworks in the eBPF world.

Mayer, A., Bracciale, L., Lungaroni, P., Sidoretti, G., Salsano, S., Bianchi, G., et al. (2023). Composing eBPF Programs Made Easy With HIKe and eCLAT. IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT [10.1109/TNSM.2023.3325624].

Composing eBPF Programs Made Easy With HIKe and eCLAT

Mayer A.;Bracciale L.
;
Lungaroni P.;Sidoretti G.;Salsano S.;Bianchi G.;Loreti P.
2023-01-01

Abstract

With the rise of the Network Softwarization era, eBPF has become a hot technology for efficient packet processing on commodity hardware. However the development of custom eBPF solutions is a challenging process that requires highly qualified human resources. Indeed, in eBPF, it is difficult to devise truly modular applications since the development model does not favour the use of pre-compiled functions and libraries. In addition, for safety purposes, each eBFF program must pass a binary code verifier of the Linux kernel, which may increase the difficulty of the development process. To overcome such difficulties and enable a new development model, in this paper we propose the eCLAT framework with the goal to lower the learning curve of engineers by re-using eBPF code in a programmable way. eCLAT offers a high level programming abstraction to eBPF based network programmability, allowing a developer to create custom application logic with no need of understanding the complex details of regular eBPF programming. A developer can write eCLAT scripts in a python-like language to compose eBPF programs. To support such abstraction at the eBPF level, we created an eBPF framework called HIKe which brings code reuse and modularity in eBPF. The eCLAT/HIKe solution does not require any kernel modification. The new development model is tested through two concrete examples and compared with other proposed frameworks in the eBPF world.
2023
Pubblicato
Rilevanza internazionale
Articolo
Esperti anonimi
Settore ING-INF/03
English
Computer network management
Computer networks
Kernel
Linux
Network function virtualization
Mayer, A., Bracciale, L., Lungaroni, P., Sidoretti, G., Salsano, S., Bianchi, G., et al. (2023). Composing eBPF Programs Made Easy With HIKe and eCLAT. IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT [10.1109/TNSM.2023.3325624].
Mayer, A; Bracciale, L; Lungaroni, P; Sidoretti, G; Salsano, S; Bianchi, G; Loreti, P
Articolo su rivista
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2108/358924
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? 0
social impact