template <typename BuilderImpl>
class WireTableBaseBuilder
Defined at line 1861 of file fidling/gen/sdk/fidl/fuchsia.net.filter/fuchsia.net.filter/cpp/fidl/fuchsia.net.filter/cpp/wire_types.h
Public Methods
::fuchsia_net_filter::wire::Matchers Build ()
Build and return the table. The builder should not be used after this.
bool has_in_interface ()
void clear_in_interface ()
Clears the in_interface field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_net_matchers::wire::Interface & in_interface ()
The interface on which the packet entered the stack.
Only available in `INGRESS`, `LOCAL_INGRESS`, and `FORWARDING`.
BuilderImpl & in_interface (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_net_matchers::wire::Interface>> elem)
The interface on which the packet entered the stack.
Only available in `INGRESS`, `LOCAL_INGRESS`, and `FORWARDING`.
bool has_out_interface ()
void clear_out_interface ()
Clears the out_interface field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_net_matchers::wire::Interface & out_interface ()
The interface through which the packet exits the stack.
Only available in `FORWARDING`, `LOCAL_EGRESS`, and `EGRESS`.
BuilderImpl & out_interface (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_net_matchers::wire::Interface>> elem)
The interface through which the packet exits the stack.
Only available in `FORWARDING`, `LOCAL_EGRESS`, and `EGRESS`.
bool has_src_addr ()
void clear_src_addr ()
Clears the src_addr field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_net_matchers::wire::Address & src_addr ()
Matcher for the source IP address.
BuilderImpl & src_addr (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_net_matchers::wire::Address>> elem)
Matcher for the source IP address.
bool has_dst_addr ()
void clear_dst_addr ()
Clears the dst_addr field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_net_matchers::wire::Address & dst_addr ()
Matcher for the destination IP address.
BuilderImpl & dst_addr (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_net_matchers::wire::Address>> elem)
Matcher for the destination IP address.
bool has_transport_protocol ()
void clear_transport_protocol ()
Clears the transport_protocol field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_net_matchers::wire::PacketTransportProtocol & transport_protocol ()
Matchers for the transport layer protocol.
Note that the variants of the `TransportProtocol` union allow matching
on the transport layer protocol itself; to match on specific properties
at the transport layer (such as TCP or UDP ports), clients should use
the fields of a protocol-specific matcher.
BuilderImpl & transport_protocol (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_net_matchers::wire::PacketTransportProtocol>> elem)
Matchers for the transport layer protocol.
Note that the variants of the `TransportProtocol` union allow matching
on the transport layer protocol itself; to match on specific properties
at the transport layer (such as TCP or UDP ports), clients should use
the fields of a protocol-specific matcher.
bool has_ebpf_program ()
void clear_ebpf_program ()
Clears the ebpf_program field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_ebpf::wire::ProgramId & ebpf_program ()
An eBPF program used as a matcher.
The program should be registered by calling
['fuchsia.net.filter.NamespaceController/RegisterEbpfProgram'] prior to
committing the rule containing the matcher.
When the program is executed, a non-zero result from the program
indicates a match.
BuilderImpl & ebpf_program (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_ebpf::wire::ProgramId>> elem)
An eBPF program used as a matcher.
The program should be registered by calling
['fuchsia.net.filter.NamespaceController/RegisterEbpfProgram'] prior to
committing the rule containing the matcher.
When the program is executed, a non-zero result from the program
indicates a match.
Protected Methods
void WireTableBaseBuilder< ::fuchsia_net_filter::wire::Matchers, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_net_filter::wire::Matchers>> && frame)