blob: bbaac1ce985abd235b16621a4da6655458beb27c [file] [log] [blame]
// 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.