| // 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. |
| flexible union Event { |
| 1: Id deleted_element; // Set when an element (i.e. route, firewall rule, etc) is deleted. |
| 2: Lif lif; |
| 3: Port port; |
| 4: Route route; |
| 5: SecurityFeatures security_features; |
| 6: PortForwardingRule forwarding_rule; |
| 7: PortTriggerRule trigger_rule; |
| 8: FilterRule filter_rule; |
| 9: Ipv6PinHoleRule ipv6_pin_hole; |
| 10: DmzHost dhz_host; |
| 11: DhcpServerOptions dhcp_options; |
| 12: DhcpReservation dhcp_reservation; |
| 13: DnsResolverConfig dns_resolver; |
| 14: DnsForwarder dns_forwarder; |
| 15: 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. |