diff options
Diffstat (limited to 'lib/route/link.c')
-rw-r--r-- | lib/route/link.c | 6 |
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; |