// Copyright 2023 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// TODO(https://fxbug.dev/42086173): document the packet filtering flow with a
// diagram.
//
/// Library providing packet filtering functionality.
library fuchsia.net.filter;
