[netdump] Netdump filter parser external interface

This CL is part of a series that adds packet filtering capability
to netdump using a filter language with similar syntax to the Berkeley
Packet Filter (BPF).

This CL defines the public interface of the filter string parser.
There is an interface to client code that wishes to use the parser,
as well as a builder interface that will interact with specific
implementations of packet filter objects. Internal structures in the
parser that track state during a parse are also defined.

Follow-up CL will include:
- Syntax logic for the filter language.
- Adapter of the parser interface to the checked-in filter tree
  nodes implementation.

Bug: CONN-99
Test: Build with `--with-base //garnet/packages/tests:zircon` as a
parameter to `fx set`, then `runtests -t netdump-test` on the target.

Change-Id: I2475206768c11f809be0e8b949d299aa773cfa92
7 files changed
tree: 816512dae66236a33ce2b8d769c6395bfd81f7a1
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. peridot/
  9. products/
  10. scripts/
  11. sdk/
  12. src/
  13. third_party/
  14. tools/
  15. zircon/
  16. .clang-format
  17. .clang-tidy
  18. .dir-locals.el
  19. .gitattributes
  20. .gitignore
  21. .gn
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. README.md
  30. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.