summaryrefslogtreecommitdiff
path: root/system.c
diff options
context:
space:
mode:
authorHans Dedecker <dedeckeh@gmail.com>2018-05-29 22:40:00 +0200
committerHans Dedecker <dedeckeh@gmail.com>2018-05-30 22:09:39 +0200
commita580028dae5b7bebcc14c240fe7dac31cbd89355 (patch)
tree3b1a6e9f61ced860fe83595cbf54bc552f640c8d /system.c
parent56cecedb261808f5ea700b92b97590f7fa16de9c (diff)
downloadnetifd-a580028dae5b7bebcc14c240fe7dac31cbd89355.tar.gz
system-linux: make encaplimit configurable for ip6 tunnels (FS#1501)
Make encapsulation limit of IP6 tunnels configurable for the ds-lite/map proto shell handlers as not all ISPs support the destination option header containing the tunnel encapsulation limit value as reported in FS#1501. The IP6 tunnel specific setting encaplimit is parsed as a nested json data object; setting it to ignore disables the insertion of the destination option header while a value from 0 till 255 sets the tunnel encapsulation limit accordingly in the destination option header. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Diffstat (limited to 'system.c')
-rw-r--r--system.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/system.c b/system.c
index e236e96..f96708d 100644
--- a/system.c
+++ b/system.c
@@ -79,6 +79,16 @@ const struct uci_blob_param_list sixrd_data_attr_list = {
.params = sixrd_data_attrs,
};
+static const struct blobmsg_policy ipip6_data_attrs[__SIXRD_DATA_ATTR_MAX] = {
+ [IPIP6_DATA_ENCAPLIMIT] = { .name = "encaplimit", .type = BLOBMSG_TYPE_STRING },
+ [IPIP6_DATA_FMRS] = { .name = "fmrs", .type = BLOBMSG_TYPE_ARRAY },
+};
+
+const struct uci_blob_param_list ipip6_data_attr_list = {
+ .n_params = __IPIP6_DATA_ATTR_MAX,
+ .params = ipip6_data_attrs,
+};
+
static const struct blobmsg_policy fmr_data_attrs[__FMR_DATA_ATTR_MAX] = {
[FMR_DATA_PREFIX6] = { .name = "prefix6", .type = BLOBMSG_TYPE_STRING },
[FMR_DATA_PREFIX4] = { .name = "prefix4", .type = BLOBMSG_TYPE_STRING },