| // Copyright 2019 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. |
| |
| library fuchsia.router.config; |
| |
| /// Event defines the events the Router Manager will generate based on configuration state changes. |
| /// The event contains only the object that has changed; for example, if a new forwarding rule |
| /// is added the event only contains that route, not the full routing table. |
| xunion Event { |
| Id deleted_element; // Set when an element (i.e. route, firewall rule, etc) is deleted. |
| Lif lif; |
| Port port; |
| Route route; |
| SecurityFeatures security_features; |
| PortForwardingRule forwarding_rule; |
| PortTriggerRule trigger_rule; |
| FilterRule filter_rule; |
| Ipv6PinHoleRule ipv6_pin_hole; |
| DmzHost dhz_host; |
| DhcpServerOptions dhcp_options; |
| DhcpReservation dhcp_reservation; |
| DnsResolverConfig dns_resolver; |
| DnsForwarder dns_forwarder; |
| SystemConfig system_config; |
| }; |
| |
| // TODO(dpradilla): Need to add events reflecting network state changes, such as link state |
| // changes, learned routes, dhcp assignments, etc. |
| // TODO(dpradilla): Need to add a mechanism for telemetry collection and possibly (TBD), set alarms based. |
| // on a given metric. |