blob: 8732126ac34b6e99b2cbd8c36c9ef364bfedf804 [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.
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.