Lead author of this paper is Theo Jepsen (BS '14, Lugano Ph.D. '20, and currently a Stanford postdoc), who is advised by Robert Soulé (postdoc '14 and now part of the Computer Science faculty at Yale). In addition to Foster, other authors include colleagues at Google and Università della Svizzera Italiana (Lugano).
In this paper, we explore how programmable data planes can naturally provide a higher-level of service to user applications via a new abstraction called packet subscriptions. Packet subscriptions generalize forwarding rules, and can be used to express both traditional routing and more esoteric, content-based approaches. We present strategies for routing with packet subscriptions in which a centralized controller has a global view of the network, and the network topology is organized as a hierarchical structure. We also describe a compiler for packet subscriptions that uses a novel BDD-based algorithm to efficiently translate predicates into P4 tables that can support O(100K) expressions. Using our system, we have built three diverse applications. We show that these applications can be deployed in brownfield networks while performing line-rate message processing, using the full switch bandwidth of 6.5Tbps.