PACKETSCOPE: MONITORING THE PACKET LIFECYCLE INSIDE A SWITCH
As modern switches become increasingly more powerful, flexible, and programmable,
network operators have an ever greater need to monitor their behavior. Many existing
systems provide the ability to observe and analyze traffic that arrives at switches, but do
not provide visibility into the experience of packets within the switch. To fill this gap, we
present PacketScope, a network telemetry system that lets us peek inside network
switches to ask a suite of useful queries about how switches modify, drop, delay, and
forward packets. PacketScope gives network operators an intuitive and powerful
Spark-like dataflow language to express these queries. To minimize the overhead of
PacketScope on switch metadata, our compiler uses a “tag little, compute early” strategy
that tags packets with metadata as they move through the switch pipeline, and computes
query results as early as possible to free up pipeline resources for later processing.
PacketScope also combines information from the ingress and egress pipelines to answer
aggregate queries about packets dropped due to a full queue.