Lines Matching refs:attr
472 static int ip_tun_parse_opts_geneve(struct nlattr *attr, in ip_tun_parse_opts_geneve() argument
479 err = nla_parse_nested(tb, LWTUNNEL_IP_OPT_GENEVE_MAX, attr, in ip_tun_parse_opts_geneve()
489 attr = tb[LWTUNNEL_IP_OPT_GENEVE_DATA]; in ip_tun_parse_opts_geneve()
490 data_len = nla_len(attr); in ip_tun_parse_opts_geneve()
497 memcpy(opt->opt_data, nla_data(attr), data_len); in ip_tun_parse_opts_geneve()
499 attr = tb[LWTUNNEL_IP_OPT_GENEVE_CLASS]; in ip_tun_parse_opts_geneve()
500 opt->opt_class = nla_get_be16(attr); in ip_tun_parse_opts_geneve()
501 attr = tb[LWTUNNEL_IP_OPT_GENEVE_TYPE]; in ip_tun_parse_opts_geneve()
502 opt->type = nla_get_u8(attr); in ip_tun_parse_opts_geneve()
509 static int ip_tun_parse_opts_vxlan(struct nlattr *attr, in ip_tun_parse_opts_vxlan() argument
516 err = nla_parse_nested(tb, LWTUNNEL_IP_OPT_VXLAN_MAX, attr, in ip_tun_parse_opts_vxlan()
528 attr = tb[LWTUNNEL_IP_OPT_VXLAN_GBP]; in ip_tun_parse_opts_vxlan()
529 md->gbp = nla_get_u32(attr); in ip_tun_parse_opts_vxlan()
537 static int ip_tun_parse_opts_erspan(struct nlattr *attr, in ip_tun_parse_opts_erspan() argument
545 err = nla_parse_nested(tb, LWTUNNEL_IP_OPT_ERSPAN_MAX, attr, in ip_tun_parse_opts_erspan()
571 attr = tb[LWTUNNEL_IP_OPT_ERSPAN_INDEX]; in ip_tun_parse_opts_erspan()
572 md->u.index = nla_get_be32(attr); in ip_tun_parse_opts_erspan()
574 attr = tb[LWTUNNEL_IP_OPT_ERSPAN_DIR]; in ip_tun_parse_opts_erspan()
575 md->u.md2.dir = nla_get_u8(attr); in ip_tun_parse_opts_erspan()
576 attr = tb[LWTUNNEL_IP_OPT_ERSPAN_HWID]; in ip_tun_parse_opts_erspan()
577 set_hwid(&md->u.md2, nla_get_u8(attr)); in ip_tun_parse_opts_erspan()
586 static int ip_tun_parse_opts(struct nlattr *attr, struct ip_tunnel_info *info, in ip_tun_parse_opts() argument
593 if (!attr) in ip_tun_parse_opts()
596 err = nla_validate(nla_data(attr), nla_len(attr), LWTUNNEL_IP_OPTS_MAX, in ip_tun_parse_opts()
601 nla_for_each_attr(nla, nla_data(attr), nla_len(attr), rem) { in ip_tun_parse_opts()
643 static int ip_tun_get_optlen(struct nlattr *attr, in ip_tun_get_optlen() argument
646 return ip_tun_parse_opts(attr, NULL, extack); in ip_tun_get_optlen()
649 static int ip_tun_set_opts(struct nlattr *attr, struct ip_tunnel_info *info, in ip_tun_set_opts() argument
652 return ip_tun_parse_opts(attr, info, extack); in ip_tun_set_opts()
655 static int ip_tun_build_state(struct net *net, struct nlattr *attr, in ip_tun_build_state() argument
665 err = nla_parse_nested_deprecated(tb, LWTUNNEL_IP_MAX, attr, in ip_tun_build_state()
949 static int ip6_tun_build_state(struct net *net, struct nlattr *attr, in ip6_tun_build_state() argument
959 err = nla_parse_nested_deprecated(tb, LWTUNNEL_IP6_MAX, attr, in ip6_tun_build_state()