blob: e90d3382b50cc91512566ec014fe0495168fcee8 [file] [log] [blame]
// Copyright 2016 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package arc_networkd;
// Best practice is to use optional fields, but since the client and server
// are always in sync, these messages use required fields to save on
// validation.
message DeviceConfig {
required string br_ifname = 1;
required string br_ipv4 = 2;
required string arc_ifname = 3;
required string arc_ipv4 = 4;
required string mac_addr = 5;
required bool fwd_multicast = 6;
required bool find_ipv6_routes = 7;
}
message SetArcIp {
required bytes prefix = 1;
required int32 prefix_len = 2;
required bytes router = 3;
required string lan_ifname = 4;
}
message IpHelperMessage {
required string dev_ifname = 1;
oneof message_type {
DeviceConfig dev_config = 2;
SetArcIp set_arc_ip = 3; // IPv6 parameters
bool clear_arc_ip = 4; // value is ignored
string enable_inbound_ifname = 5; // value is LAN ifname
bool disable_inbound = 6; // value is ignored
bool teardown = 7; // value is ignored
}
}