summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaarle Ritvanen2014-02-03 15:56:20 +0100
committerDenys Vlasenko2014-02-03 15:56:20 +0100
commitfe8390e0fe7106aed9f586b3cf08215effc4450b (patch)
treeee3728e44b84055424375a1024c031d052855b5b
parentd353bfff467517608af7468198431d32406bb943 (diff)
downloadbusybox-fe8390e0fe7106aed9f586b3cf08215effc4450b.zip
busybox-fe8390e0fe7106aed9f586b3cf08215effc4450b.tar.gz
ifupdown: support 'link' address family
Does not configure anything. L2 configuration hook scripts should do their job on receiving ADDRFAM=link. Configuration will be done only once, irrespective of L3 protocols used. Using the 'link' family in the interfaces file conforms to the Debian implementation: http://sources.debian.net/src/ifupdown/0.7.47.1/link.defn function old new delta link_methods - 12 +12 addr_link - 12 +12 link_up_down - 6 +6 static.addr_fams 12 16 +4 ------------------------------------------------------------------------------ (add/remove: 3/0 grow/shrink: 1/0 up/down: 34/0) Total: 34 bytes Signed-off-by: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--networking/ifupdown.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/networking/ifupdown.c b/networking/ifupdown.c
index 0f0857c..e1ea351 100644
--- a/networking/ifupdown.c
+++ b/networking/ifupdown.c
@@ -685,6 +685,18 @@ static const struct address_family_t addr_inet = {
#endif /* FEATURE_IFUPDOWN_IPV4 */
+static int FAST_FUNC link_up_down(struct interface_defn_t *ifd UNUSED_PARAM, execfn *exec UNUSED_PARAM)
+{
+ return 1;
+}
+
+static const struct method_t link_methods[] = {
+ { "none", link_up_down, link_up_down }
+};
+
+static const struct address_family_t addr_link = {
+ "link", ARRAY_SIZE(link_methods), link_methods
+};
/* Returns pointer to the next word, or NULL.
* In 1st case, advances *buf to the word after this one.
@@ -831,6 +843,7 @@ static struct interfaces_file_t *read_interfaces(const char *filename, struct in
#if ENABLE_FEATURE_IFUPDOWN_IPV6
&addr_inet6,
#endif
+ &addr_link,
NULL
};
char *iface_name;