Lines Matching refs:nla

674 static int fib_gw_from_attr(__be32 *gw, struct nlattr *nla,  in fib_gw_from_attr()  argument
677 if (nla_len(nla) < sizeof(*gw)) { in fib_gw_from_attr()
682 *gw = nla_get_in_addr(nla); in fib_gw_from_attr()
719 struct nlattr *nla, *nlav, *attrs = rtnh_attrs(rtnh); in fib_get_nhs() local
721 nla = nla_find(attrs, attrlen, RTA_GATEWAY); in fib_get_nhs()
723 if (nla && nlav) { in fib_get_nhs()
728 if (nla) { in fib_get_nhs()
729 ret = fib_gw_from_attr(&fib_cfg.fc_gw4, nla, in fib_get_nhs()
742 nla = nla_find(attrs, attrlen, RTA_FLOW); in fib_get_nhs()
743 if (nla) { in fib_get_nhs()
744 if (nla_len(nla) < sizeof(u32)) { in fib_get_nhs()
748 fib_cfg.fc_flow = nla_get_u32(nla); in fib_get_nhs()
755 nla = nla_find(attrs, attrlen, RTA_ENCAP_TYPE); in fib_get_nhs()
756 if (nla) in fib_get_nhs()
757 fib_cfg.fc_encap_type = nla_get_u16(nla); in fib_get_nhs()
945 struct nlattr *nla, *nlav, *attrs = rtnh_attrs(rtnh); in fib_nh_match() local
948 nla = nla_find(attrs, attrlen, RTA_GATEWAY); in fib_nh_match()
950 if (nla && nlav) { in fib_nh_match()
956 if (nla) { in fib_nh_match()
959 err = fib_gw_from_attr(&gw, nla, extack); in fib_nh_match()
989 nla = nla_find(attrs, attrlen, RTA_FLOW); in fib_nh_match()
990 if (nla) { in fib_nh_match()
991 if (nla_len(nla) < sizeof(u32)) { in fib_nh_match()
995 if (nla_get_u32(nla) != nh->nh_tclassid) in fib_nh_match()
1009 struct nlattr *nla; in fib_metrics_match() local
1015 nla_for_each_attr(nla, cfg->fc_mx, cfg->fc_mx_len, remaining) { in fib_metrics_match()
1016 int type = nla_type(nla); in fib_metrics_match()
1028 nla_strlcpy(tmp, nla, sizeof(tmp)); in fib_metrics_match()
1031 if (nla_len(nla) != sizeof(u32)) in fib_metrics_match()
1033 val = nla_get_u32(nla); in fib_metrics_match()
1679 struct nlattr *nla; in fib_nexthop_info() local
1682 nla = nla_reserve(skb, RTA_VIA, alen + 2); in fib_nexthop_info()
1683 if (!nla) in fib_nexthop_info()
1686 via = nla_data(nla); in fib_nexthop_info()