Lines Matching refs:nh

2529 	struct rt6_nh *nh;  in ip6_print_replace_route_err()  local
2531 list_for_each_entry(nh, rt6_nh_list, next) { in ip6_print_replace_route_err()
2533 &nh->r_cfg.fc_dst, &nh->r_cfg.fc_gateway, in ip6_print_replace_route_err()
2534 nh->r_cfg.fc_ifindex); in ip6_print_replace_route_err()
2541 struct rt6_nh *nh; in ip6_route_info_append() local
2545 list_for_each_entry(nh, rt6_nh_list, next) { in ip6_route_info_append()
2547 rtnh = nh->rt6_info; in ip6_route_info_append()
2556 nh = kzalloc(sizeof(*nh), GFP_KERNEL); in ip6_route_info_append()
2557 if (!nh) in ip6_route_info_append()
2559 nh->rt6_info = rt; in ip6_route_info_append()
2560 err = ip6_convert_metrics(&nh->mxc, r_cfg); in ip6_route_info_append()
2562 kfree(nh); in ip6_route_info_append()
2565 memcpy(&nh->r_cfg, r_cfg, sizeof(*r_cfg)); in ip6_route_info_append()
2566 list_add_tail(&nh->next, rt6_nh_list); in ip6_route_info_append()
2577 struct rt6_nh *nh, *nh_safe; in ip6_route_multipath_add() local
2622 list_for_each_entry(nh, &rt6_nh_list, next) { in ip6_route_multipath_add()
2623 err = __ip6_ins_rt(nh->rt6_info, &cfg->fc_nlinfo, &nh->mxc); in ip6_route_multipath_add()
2625 nh->rt6_info = NULL; in ip6_route_multipath_add()
2629 err_nh = nh; in ip6_route_multipath_add()
2649 list_for_each_entry(nh, &rt6_nh_list, next) { in ip6_route_multipath_add()
2650 if (err_nh == nh) in ip6_route_multipath_add()
2652 ip6_route_del(&nh->r_cfg); in ip6_route_multipath_add()
2656 list_for_each_entry_safe(nh, nh_safe, &rt6_nh_list, next) { in ip6_route_multipath_add()
2657 if (nh->rt6_info) in ip6_route_multipath_add()
2658 dst_free(&nh->rt6_info->dst); in ip6_route_multipath_add()
2659 if (nh->mxc.mx) in ip6_route_multipath_add()
2660 kfree(nh->mxc.mx); in ip6_route_multipath_add()
2661 list_del(&nh->next); in ip6_route_multipath_add()
2662 kfree(nh); in ip6_route_multipath_add()