From fe8390e0fe7106aed9f586b3cf08215effc4450b Mon Sep 17 00:00:00 2001 From: Kaarle Ritvanen Date: Mon, 3 Feb 2014 15:56:20 +0100 Subject: 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 Signed-off-by: Denys Vlasenko --- networking/ifupdown.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/networking/ifupdown.c b/networking/ifupdown.c index 0f0857cb4..e1ea351a4 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; -- cgit v1.2.3