Lines Matching refs:nla
87 tunnel_key_copy_geneve_opt(const struct nlattr *nla, void *dst, int dst_len,
96 nla, geneve_opt_policy, extack);
139 tunnel_key_copy_vxlan_opt(const struct nlattr *nla, void *dst, int dst_len,
145 err = nla_parse_nested(tb, TCA_TUNNEL_KEY_ENC_OPT_VXLAN_MAX, nla,
166 tunnel_key_copy_erspan_opt(const struct nlattr *nla, void *dst, int dst_len,
173 err = nla_parse_nested(tb, TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_MAX, nla,
205 nla = tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_INDEX];
206 md->u.index = nla_get_be32(nla);
208 nla = tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_DIR];
209 md->u.md2.dir = nla_get_u8(nla);
210 nla = tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_HWID];
211 set_hwid(&md->u.md2, nla_get_u8(nla));
218 static int tunnel_key_copy_opts(const struct nlattr *nla, u8 *dst,
221 int err, rem, opt_len, len = nla_len(nla), opts_len = 0, type = 0;
222 const struct nlattr *attr, *head = nla_data(nla);
291 static int tunnel_key_get_opts_len(struct nlattr *nla,
294 return tunnel_key_copy_opts(nla, NULL, 0, extack);
297 static int tunnel_key_opts_set(struct nlattr *nla, struct ip_tunnel_info *info,
301 switch (nla_type(nla_data(nla))) {
305 return tunnel_key_copy_opts(nla, ip_tunnel_info_opts(info),
313 return tunnel_key_copy_opts(nla, ip_tunnel_info_opts(info),
321 return tunnel_key_copy_opts(nla, ip_tunnel_info_opts(info),
356 static int tunnel_key_init(struct net *net, struct nlattr *nla,
379 if (!nla) {
384 err = nla_parse_nested_deprecated(tb, TCA_TUNNEL_KEY_MAX, nla,