Lines Matching refs:cfg
440 struct fib_config *cfg) in rtentry_to_fib_config() argument
445 memset(cfg, 0, sizeof(*cfg)); in rtentry_to_fib_config()
446 cfg->fc_nlinfo.nl_net = net; in rtentry_to_fib_config()
475 cfg->fc_dst_len = plen; in rtentry_to_fib_config()
476 cfg->fc_dst = addr; in rtentry_to_fib_config()
479 cfg->fc_nlflags = NLM_F_CREATE; in rtentry_to_fib_config()
480 cfg->fc_protocol = RTPROT_BOOT; in rtentry_to_fib_config()
484 cfg->fc_priority = rt->rt_metric - 1; in rtentry_to_fib_config()
487 cfg->fc_scope = RT_SCOPE_HOST; in rtentry_to_fib_config()
488 cfg->fc_type = RTN_UNREACHABLE; in rtentry_to_fib_config()
492 cfg->fc_scope = RT_SCOPE_NOWHERE; in rtentry_to_fib_config()
493 cfg->fc_type = RTN_UNICAST; in rtentry_to_fib_config()
510 cfg->fc_oif = dev->ifindex; in rtentry_to_fib_config()
522 cfg->fc_prefsrc = ifa->ifa_local; in rtentry_to_fib_config()
530 cfg->fc_gw = addr; in rtentry_to_fib_config()
531 addr_type = inet_addr_type_table(net, addr, cfg->fc_table); in rtentry_to_fib_config()
534 cfg->fc_scope = RT_SCOPE_UNIVERSE; in rtentry_to_fib_config()
540 if (rt->rt_flags & RTF_GATEWAY && !cfg->fc_gw) in rtentry_to_fib_config()
543 if (cfg->fc_scope == RT_SCOPE_NOWHERE) in rtentry_to_fib_config()
544 cfg->fc_scope = RT_SCOPE_LINK; in rtentry_to_fib_config()
563 cfg->fc_mx = mx; in rtentry_to_fib_config()
564 cfg->fc_mx_len = len; in rtentry_to_fib_config()
576 struct fib_config cfg; in ip_rt_ioctl() local
590 err = rtentry_to_fib_config(net, cmd, &rt, &cfg); in ip_rt_ioctl()
595 tb = fib_get_table(net, cfg.fc_table); in ip_rt_ioctl()
597 err = fib_table_delete(tb, &cfg); in ip_rt_ioctl()
601 tb = fib_new_table(net, cfg.fc_table); in ip_rt_ioctl()
603 err = fib_table_insert(tb, &cfg); in ip_rt_ioctl()
609 kfree(cfg.fc_mx); in ip_rt_ioctl()
633 struct nlmsghdr *nlh, struct fib_config *cfg) in rtm_to_fib_config() argument
643 memset(cfg, 0, sizeof(*cfg)); in rtm_to_fib_config()
646 cfg->fc_dst_len = rtm->rtm_dst_len; in rtm_to_fib_config()
647 cfg->fc_tos = rtm->rtm_tos; in rtm_to_fib_config()
648 cfg->fc_table = rtm->rtm_table; in rtm_to_fib_config()
649 cfg->fc_protocol = rtm->rtm_protocol; in rtm_to_fib_config()
650 cfg->fc_scope = rtm->rtm_scope; in rtm_to_fib_config()
651 cfg->fc_type = rtm->rtm_type; in rtm_to_fib_config()
652 cfg->fc_flags = rtm->rtm_flags; in rtm_to_fib_config()
653 cfg->fc_nlflags = nlh->nlmsg_flags; in rtm_to_fib_config()
655 cfg->fc_nlinfo.portid = NETLINK_CB(skb).portid; in rtm_to_fib_config()
656 cfg->fc_nlinfo.nlh = nlh; in rtm_to_fib_config()
657 cfg->fc_nlinfo.nl_net = net; in rtm_to_fib_config()
659 if (cfg->fc_type > RTN_MAX) { in rtm_to_fib_config()
667 cfg->fc_dst = nla_get_be32(attr); in rtm_to_fib_config()
670 cfg->fc_oif = nla_get_u32(attr); in rtm_to_fib_config()
673 cfg->fc_gw = nla_get_be32(attr); in rtm_to_fib_config()
676 cfg->fc_priority = nla_get_u32(attr); in rtm_to_fib_config()
679 cfg->fc_prefsrc = nla_get_be32(attr); in rtm_to_fib_config()
682 cfg->fc_mx = nla_data(attr); in rtm_to_fib_config()
683 cfg->fc_mx_len = nla_len(attr); in rtm_to_fib_config()
686 cfg->fc_mp = nla_data(attr); in rtm_to_fib_config()
687 cfg->fc_mp_len = nla_len(attr); in rtm_to_fib_config()
690 cfg->fc_flow = nla_get_u32(attr); in rtm_to_fib_config()
693 cfg->fc_table = nla_get_u32(attr); in rtm_to_fib_config()
696 cfg->fc_encap = attr; in rtm_to_fib_config()
699 cfg->fc_encap_type = nla_get_u16(attr); in rtm_to_fib_config()
712 struct fib_config cfg; in inet_rtm_delroute() local
716 err = rtm_to_fib_config(net, skb, nlh, &cfg); in inet_rtm_delroute()
720 tb = fib_get_table(net, cfg.fc_table); in inet_rtm_delroute()
726 err = fib_table_delete(tb, &cfg); in inet_rtm_delroute()
734 struct fib_config cfg; in inet_rtm_newroute() local
738 err = rtm_to_fib_config(net, skb, nlh, &cfg); in inet_rtm_newroute()
742 tb = fib_new_table(net, cfg.fc_table); in inet_rtm_newroute()
748 err = fib_table_insert(tb, &cfg); in inet_rtm_newroute()
807 struct fib_config cfg = { in fib_magic() local
827 cfg.fc_table = tb->tb_id; in fib_magic()
830 cfg.fc_scope = RT_SCOPE_LINK; in fib_magic()
832 cfg.fc_scope = RT_SCOPE_HOST; in fib_magic()
835 fib_table_insert(tb, &cfg); in fib_magic()
837 fib_table_delete(tb, &cfg); in fib_magic()
1104 struct netlink_kernel_cfg cfg = { in nl_fib_lookup_init() local
1108 sk = netlink_kernel_create(net, NETLINK_FIB_LOOKUP, &cfg); in nl_fib_lookup_init()