| // 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 |
| } |
| } |