Lines Matching defs:extack
226 struct netlink_ext_ack *extack)
230 .extack = extack,
241 NL_SET_ERR_MSG(extack, "Failed to initialize nexthop notifier info");
329 struct netlink_ext_ack *extack)
333 .extack = extack,
381 struct netlink_ext_ack *extack)
387 force, oldi, newi, extack);
391 struct netlink_ext_ack *extack)
395 .extack = extack,
412 NL_SET_ERR_MSG(extack, "Failed to initialize nexthop notifier info");
427 struct netlink_ext_ack *extack)
431 .extack = extack,
918 struct netlink_ext_ack *extack)
990 bool *is_fdb, struct netlink_ext_ack *extack)
997 NL_SET_ERR_MSG(extack,
1002 NL_SET_ERR_MSG(extack,
1011 NL_SET_ERR_MSG(extack,
1022 struct netlink_ext_ack *extack)
1029 NL_SET_ERR_MSG(extack, "FDB nexthop group can only have fdb nexthops");
1036 NL_SET_ERR_MSG(extack, "FDB nexthop group cannot have mixed family nexthops");
1045 u16 nh_grp_type, struct netlink_ext_ack *extack)
1054 NL_SET_ERR_MSG(extack,
1065 NL_SET_ERR_MSG(extack, "Reserved fields in nexthop_grp must be 0");
1069 NL_SET_ERR_MSG(extack, "Invalid value for weight");
1074 NL_SET_ERR_MSG(extack, "Nexthop id can not be used twice in a group");
1089 NL_SET_ERR_MSG(extack, "Invalid nexthop id");
1092 if (!valid_group_nh(nh, len, &is_fdb_nh, extack))
1095 if (nhg_fdb && nh_check_attr_fdb_group(nh, &nh_family, extack))
1099 NL_SET_ERR_MSG(extack, "Non FDB nexthop group cannot have fdb nexthops");
1114 NL_SET_ERR_MSG(extack,
1281 struct netlink_ext_ack *extack)
1284 NL_SET_ERR_MSG(extack, "IPv6 routes using source address can not use nexthop objects");
1291 struct netlink_ext_ack *extack)
1302 if (cfg && check_src_addr(&cfg->fc_src, extack) < 0)
1320 NL_SET_ERR_MSG(extack, "Route cannot point to a fdb nexthop");
1326 NL_SET_ERR_MSG(extack, "IPv6 routes can not use an IPv4 nexthop");
1335 struct netlink_ext_ack *extack)
1343 if (check_src_addr(&f6i->fib6_src.addr, extack) < 0)
1347 return fib6_check_nexthop(new, NULL, extack);
1351 struct netlink_ext_ack *extack)
1354 NL_SET_ERR_MSG(extack,
1360 NL_SET_ERR_MSG(extack, "Scope mismatch with nexthop");
1372 struct netlink_ext_ack *extack)
1382 NL_SET_ERR_MSG(extack, "Route cannot point to a fdb nexthop");
1388 NL_SET_ERR_MSG(extack, "Route with host scope can not have multiple nexthops");
1395 err = nexthop_check_scope(nhi, scope, extack);
1399 NL_SET_ERR_MSG(extack, "Route cannot point to a fdb nexthop");
1403 err = nexthop_check_scope(nhi, scope, extack);
1411 struct netlink_ext_ack *extack)
1418 err = fib_check_nexthop(new, fi->fib_scope, extack);
1530 struct netlink_ext_ack extack;
1552 new_nhge->nh, &extack);
1554 pr_err_ratelimited("%s\n", extack._msg);
1761 struct netlink_ext_ack extack;
1823 &extack);
1825 pr_err("%s\n", extack._msg);
1957 struct netlink_ext_ack *extack)
1966 NL_SET_ERR_MSG(extack, "Can not replace a nexthop group with a nexthop.");
1974 NL_SET_ERR_MSG(extack, "Can not replace a nexthop group with one of a different type.");
1980 extack);
1993 NL_SET_ERR_MSG(extack, "Can not change number of buckets of a resilient nexthop group.");
2003 err = call_nexthop_res_table_notifiers(net, new, extack);
2064 struct netlink_ext_ack *extack)
2079 extack);
2096 extack);
2106 struct netlink_ext_ack *extack)
2113 group_nh, extack);
2118 extack);
2126 struct netlink_ext_ack *extack)
2134 NL_SET_ERR_MSG(extack, "Can not replace a nexthop with a nexthop group.");
2138 err = call_nexthop_notifiers(net, NEXTHOP_EVENT_REPLACE, new, extack);
2167 extack);
2199 call_nexthop_notifiers(net, NEXTHOP_EVENT_REPLACE, old, extack);
2245 struct netlink_ext_ack *extack)
2254 err = fib_check_nh_list(old, new, extack);
2258 err = fib6_check_nh_list(old, new, extack);
2274 NL_SET_ERR_MSG(extack, "Blackhole nexthop can not be a member of a group with more than one path");
2278 err = fib_check_nh_list(nhge->nh_parent, new, extack);
2282 err = fib6_check_nh_list(nhge->nh_parent, new, extack);
2288 err = replace_nexthop_grp(net, old, new, cfg, extack);
2290 err = replace_nexthop_single(net, old, new, extack);
2304 struct nh_config *cfg, struct netlink_ext_ack *extack)
2330 rc = replace_nexthop(net, nh, new_nh, cfg, extack);
2343 NL_SET_ERR_MSG(extack, "Replace specified without create and no entry exists");
2359 NL_SET_ERR_MSG(extack, "Number of buckets not specified for nexthop group insertion");
2379 rc = call_nexthop_notifiers(net, NEXTHOP_EVENT_REPLACE, new_nh, extack);
2531 struct netlink_ext_ack *extack)
2546 err = fib_nh_init(net, fib_nh, &fib_cfg, 1, extack);
2556 err = fib_check_nh(net, fib_nh, tb_id, 0, extack);
2570 struct netlink_ext_ack *extack)
2590 extack);
2604 struct netlink_ext_ack *extack)
2637 err = nh_create_ipv4(net, nh, nhi, cfg, extack);
2640 err = nh_create_ipv6(net, nh, nhi, cfg, extack);
2661 struct netlink_ext_ack *extack)
2667 NL_SET_ERR_MSG(extack, "Replace requires nexthop id");
2674 NL_SET_ERR_MSG(extack, "No unused id");
2682 nh = nexthop_create(net, cfg, extack);
2692 err = insert_nexthop(net, nh, cfg, extack);
2704 struct netlink_ext_ack *extack)
2718 NL_SET_ERR_MSG(extack, "Timer value too large");
2728 struct netlink_ext_ack *extack)
2736 res, rtm_nh_res_policy_new, extack);
2746 NL_SET_ERR_MSG(extack, "Number of buckets needs to be non-0");
2755 extack);
2763 extack);
2768 struct netlink_ext_ack *extack)
2776 rtm_nh_policy_new, extack);
2782 NL_SET_ERR_MSG(extack, "Invalid values in ancillary header");
2786 NL_SET_ERR_MSG(extack, "Invalid nexthop flags in ancillary header");
2799 NL_SET_ERR_MSG(extack, "Invalid address family");
2819 NL_SET_ERR_MSG(extack, "Fdb attribute can not be used with encap, oif or blackhole");
2823 NL_SET_ERR_MSG(extack, "Unsupported nexthop flags in ancillary header");
2831 NL_SET_ERR_MSG(extack, "Invalid family for group");
2841 NL_SET_ERR_MSG(extack, "Invalid group type");
2845 cfg->nh_grp_type, extack);
2851 cfg, extack);
2860 NL_SET_ERR_MSG(extack, "Blackhole attribute can not be used with gateway, oif, encap or fdb");
2870 NL_SET_ERR_MSG(extack, "Device attribute required for non-blackhole and non-fdb nexthops");
2880 NL_SET_ERR_MSG(extack, "Invalid device index");
2883 NL_SET_ERR_MSG(extack, "Nexthop device is not up");
2887 NL_SET_ERR_MSG(extack, "Carrier for nexthop device is down");
2900 NL_SET_ERR_MSG(extack, "Invalid gateway");
2907 NL_SET_ERR_MSG(extack, "Invalid gateway");
2913 NL_SET_ERR_MSG(extack,
2920 NL_SET_ERR_MSG(extack,
2930 NL_SET_ERR_MSG(extack, "LWT encapsulation type is missing");
2935 err = lwtunnel_valid_encap_type(cfg->nh_encap_type, extack);
2940 NL_SET_ERR_MSG(extack, "LWT encapsulation attribute is missing");
2952 struct netlink_ext_ack *extack)
2959 err = rtm_to_nh_config(net, skb, nlh, &cfg, extack);
2961 nh = nexthop_add(net, &cfg, extack);
2971 struct netlink_ext_ack *extack)
2976 NL_SET_ERR_MSG(extack, "Invalid values in header");
2981 NL_SET_ERR_MSG(extack, "Nexthop id is missing");
2987 NL_SET_ERR_MSG(extack, "Invalid nexthop id");
2995 struct netlink_ext_ack *extack)
3002 rtm_nh_policy_get, extack);
3006 return __nh_valid_get_del_req(nlh, tb, id, extack);
3011 struct netlink_ext_ack *extack)
3023 err = nh_valid_get_del_req(nlh, &id, extack);
3038 struct netlink_ext_ack *extack)
3046 err = nh_valid_get_del_req(nlh, &id, extack);
3123 struct netlink_ext_ack *extack)
3131 NL_SET_ERR_MSG(extack, "Invalid device index");
3139 NL_SET_ERR_MSG(extack, "Invalid master device index");
3149 NL_SET_ERR_MSG(extack, "Invalid values in header for nexthop dump request");
3165 rtm_nh_policy_dump, cb->extack);
3169 return __nh_valid_dump_req(nlh, tb, filter, cb->extack);
3256 struct netlink_ext_ack *extack)
3266 NL_SET_ERR_MSG(extack, "Not a nexthop group");
3272 NL_SET_ERR_MSG(extack, "Nexthop group not of type resilient");
3280 struct netlink_ext_ack *extack)
3287 NL_SET_ERR_MSG(extack, "Invalid nexthop id");
3312 err = nh_valid_dump_nhid(tb[NHA_ID], &filter->nh_id, cb->extack);
3322 cb->extack);
3328 cb->extack);
3333 return __nh_valid_dump_req(nlh, tb, filter, cb->extack);
3388 cb->extack);
3431 cb->extack);
3454 struct netlink_ext_ack *extack)
3460 res, rtm_nh_res_bucket_policy_get, extack);
3465 NL_SET_ERR_MSG(extack, "Bucket index is missing");
3475 struct netlink_ext_ack *extack)
3482 rtm_nh_policy_get_bucket, extack);
3486 err = __nh_valid_get_del_req(nlh, tb, id, extack);
3491 NL_SET_ERR_MSG(extack, "Bucket information is missing");
3496 bucket_index, extack);
3505 struct netlink_ext_ack *extack)
3516 err = nh_valid_get_bucket_req(nlh, &id, &bucket_index, extack);
3520 nh = nexthop_find_group_resilient(net, id, extack);
3527 NL_SET_ERR_MSG(extack, "Bucket index out of bounds");
3538 0, extack);
3599 struct netlink_ext_ack *extack)
3609 err = call_nexthop_notifier(nb, net, event_type, nh, extack);
3618 struct netlink_ext_ack *extack)
3623 err = nexthops_dump(net, nb, NEXTHOP_EVENT_REPLACE, extack);