summaryrefslogtreecommitdiff
path: root/lib/route/link.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/route/link.c')
-rw-r--r--lib/route/link.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/route/link.c b/lib/route/link.c
index 4384ea1a..de3c393d 100644
--- a/lib/route/link.c
+++ b/lib/route/link.c
@@ -116,12 +116,12 @@ static int af_free(struct rtnl_link *link, struct rtnl_link_af_ops *ops,
return 0;
}
-static int af_request_type(int af_type)
+static int af_request_type(int af_type, struct rtnl_link *changes)
{
struct rtnl_link_af_ops *ops;
ops = rtnl_link_af_ops_lookup(af_type);
- if (ops && ops->ao_override_rtm)
+ if (ops && ops->ao_override_rtm(changes))
return RTM_SETLINK;
return RTM_NEWLINK;
@@ -1732,7 +1732,7 @@ int rtnl_link_build_change_request(struct rtnl_link *orig,
!strcmp(orig->l_name, changes->l_name))
changes->ce_mask &= ~LINK_ATTR_IFNAME;
- rt = af_request_type(orig->l_family);
+ rt = af_request_type(orig->l_family, changes);
if ((err = build_link_msg(rt, &ifi, changes, flags, result)) < 0)
goto errout;