summaryrefslogtreecommitdiffstats
path: root/ctrl/facemgr/examples/facemgr.conf
blob: 4658d13e3afeb2521d2dcac5a81d2869263c462e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
#
# hICN facemgr configuration file
#

################################################################################
# Global settings
################################################################################

global = {

# Default type for face creation
#
# Values: "auto" | "native-udp" | "native-tcp" | "overlay-udp" | "overlay-tcp"
# Default "auto"
#
#face_type = "auto";
face_type = "overlay-udp"

# Disable service discovery for overlay creation
#
# This is only meaningful for overlay_* face types. If service discovery is
# disabled, only manually entered overlay information will be used, if any.
# Otherwise, no face will be created.
#
# Values : true | false
# Default: false
#
#disable_discovery = true;

# TODO Disable IPv4 face creation
#
# Values : true | false
# Default: false
#
#disable_ipv4 = true;

# TODO Disable IPv6 face creation
#
# Values : true | false
# Default: false
#
#disable_ipv6 = true;

# TODO overlay
#
#   By default, no address is specified, and local and remote ports are set to
#   the standard value for hICN (9695).
#

};

################################################################################
# Per-interface rules
################################################################################
#
# Rules allow to override the default behaviour of the face manager.
#
# The list of rules must be specified as follows (note that the last one has no
# coma at the end) :
#
#   rules = (
#       { ... },
#       { ... },
#       { ... }
#   );
#
# A rule is composed of match and override attributes, and has the following
# syntax:
#
#   {
#       match = {
#           interface_name = STRING;
#           interface_type = STRING;
#       };
#       override = {
#          face_type = STRING;
#          disable_discovery = BOOL;
#          ignore = BOOL;
#          tags = (STRING, STRING, STRING);
#          overlay = {
#             ipv4 = {
#                 local_port = PORT;
#                 remote_addr = IP_ADDRESS;
#                 remote_port = PORT;
#             };
#             ipv6 = {
#                 local_port = PORT;
#                 remote_addr = IP_ADDRESS;
#                 remote_port = PORT;
#             };
#          };
#       };
#   }
#
# Match attributes:
#
#   Match attributes serve to identify rules and as such defining two rules with
#   similar matches is not allowed. However, overlapping match definitions are
#   possible, in which case only the first matching rule is considered.
#
#   A match is composed of the name of an interface and/or its type (either
#   attribute is optional but at least one has to be specified).
#
#   * interface_name - a string representing an interface name
#
#   * interface_type - the type of interface to match
#
#       Values: "wired" | "wifi" | "cellular"
#
# Override attributes:
#
#   Those attributes are applied when all specified match attributes correspond,
#   and override general settings or default values.
#
#   * face_type - type used for face creation
#
#       Values: "auto" | "native_udp" | "native_tcp" | "overlay_udp" | "overlay_tcp"
#
#   * disable_discovery - disable service discovery for overlay creation
#
#       Values : true | false
#
#   * ignore - a boolean indicating whether that interface should be ignored
#
#   * TODO tags - a (possibly empty) list of tags to be associated to the created face.
#
#       Values: "wired" | "wifi" | "cellular" | "trusted"
#
#   * overlay
#
#       An overlay specification is used to complement any information retrieved
#       through service discovery (or replace it if service discovery is
#       disabled).
#
#       It is possible to specify values for IPv4, IPv6 or both.
#
# Note that it is not currently possible to set different settings for IPv4 and
# IPv6 but overlay specifications.
#
#
# Here are a few example of rule definitions:
#
# rules = (
#     # Ignore localhost interface
#     {
#         match = {
#             interface_name = "lo";
#         };
#         override = {
#             ignore = true;
#         };
#     },
#     # Set tags for unknown tunnnel interface
#     {
#         match = {
#             interface_name = "utun1";
#         };
#         override = {
#             tags = ("WIRED", "TRUSTED");
#         };
#     },
#     # Force cellular connections to use manually specified overlay faces
#     {
#         match = {
#             interface_type = "cellular",
#         };
#         override = {
#             overlay = {
#                 ipv4 = {
#                     local_port = 9695;
#                     remote_addr = "10.60.16.14";
#                     remote_port = 9695;
#                 };
#                 ipv6 = {
#                     local_port = 9695;
#                     remote_addr = "2001:420:44f1:10:20c:29ff:fef3:8f8f";
#                     remote_port = 9695;
#                 };
#             };
#         };
#     }
# );
#
#rules = (
#);

################################################################################
# Logging
################################################################################

log:
{
    log_level = "DEBUG";
}