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)

Records