2 * netifd - network interface daemon
3 * Copyright (C) 2012 Felix Fietkau <nbd@openwrt.org>
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2
7 * as published by the Free Software Foundation
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
18 static const struct blobmsg_policy tunnel_attrs
[__TUNNEL_ATTR_MAX
] = {
19 [TUNNEL_ATTR_TYPE
] = { .name
= "mode", .type
= BLOBMSG_TYPE_STRING
},
20 [TUNNEL_ATTR_LOCAL
] = { .name
= "local", .type
= BLOBMSG_TYPE_STRING
},
21 [TUNNEL_ATTR_REMOTE
] = { .name
= "remote", .type
= BLOBMSG_TYPE_STRING
},
22 [TUNNEL_ATTR_MTU
] = { .name
= "mtu", .type
= BLOBMSG_TYPE_INT32
},
23 [TUNNEL_ATTR_DF
] = { .name
= "df", .type
= BLOBMSG_TYPE_BOOL
},
24 [TUNNEL_ATTR_TTL
] = { .name
= "ttl", .type
= BLOBMSG_TYPE_INT32
},
25 [TUNNEL_ATTR_6RD_PREFIX
] = {.name
= "6rd-prefix", .type
= BLOBMSG_TYPE_STRING
},
26 [TUNNEL_ATTR_6RD_RELAY_PREFIX
] = { .name
= "6rd-relay-prefix", .type
= BLOBMSG_TYPE_STRING
},
27 [TUNNEL_ATTR_LINK
] = { .name
= "link", .type
= BLOBMSG_TYPE_STRING
},
30 const struct uci_blob_param_list tunnel_attr_list
= {
31 .n_params
= __TUNNEL_ATTR_MAX
,
32 .params
= tunnel_attrs
,
35 void system_fd_set_cloexec(int fd
)
38 fcntl(fd
, F_SETFD
, fcntl(fd
, F_GETFD
) | FD_CLOEXEC
);