Lines Matching refs:nlattr
53 static bool actions_may_change_flow(const struct nlattr *actions)
55 struct nlattr *nla;
469 static int __parse_flow_nlattrs(const struct nlattr *attr,
470 const struct nlattr *a[],
473 const struct nlattr *nla;
521 static int parse_flow_mask_nlattrs(const struct nlattr *attr,
522 const struct nlattr *a[], u64 *attrsp,
528 int parse_flow_nlattrs(const struct nlattr *attr, const struct nlattr *a[],
534 static int genev_tun_opt_from_nlattr(const struct nlattr *a,
585 static int vxlan_tun_opt_from_nlattr(const struct nlattr *attr,
589 struct nlattr *a;
641 static int erspan_tun_opt_from_nlattr(const struct nlattr *a,
668 static int ip_tun_from_nlattr(const struct nlattr *attr,
676 struct nlattr *a;
859 struct nlattr *nla;
950 struct nlattr *nla;
976 const struct nlattr *a[],
1000 const struct nlattr **a, bool log)
1038 const struct nlattr **a, bool log)
1080 const struct nlattr **a, bool is_mask,
1084 const struct nlattr *encap;
1114 u64 *key_attrs, const struct nlattr **a,
1137 u64 *attrs, const struct nlattr **a,
1158 u64 *attrs, const struct nlattr **a,
1295 int nsh_hdr_from_nlattr(const struct nlattr *attr,
1298 struct nlattr *a;
1349 int nsh_key_from_nlattr(const struct nlattr *attr,
1352 struct nlattr *a;
1389 static int nsh_key_put_from_nlattr(const struct nlattr *attr,
1393 struct nlattr *a;
1511 u64 attrs, const struct nlattr **a,
1760 static void nlattr_set(struct nlattr *attr, u8 val,
1763 struct nlattr *nla;
1766 /* The nlattr stream should already have been validated */
1778 static void mask_set_nlattr(struct nlattr *attr, u8 val)
1800 const struct nlattr *nla_key,
1801 const struct nlattr *nla_mask,
1804 const struct nlattr *a[OVS_KEY_ATTR_MAX + 1];
1805 struct nlattr *newmask = NULL;
1878 static size_t get_ufid_len(const struct nlattr *attr, bool log)
1898 bool ovs_nla_get_ufid(struct sw_flow_id *sfid, const struct nlattr *attr,
1908 int ovs_nla_get_identifier(struct sw_flow_id *sfid, const struct nlattr *ufid,
1926 u32 ovs_nla_get_ufid_flags(const struct nlattr *attr)
1952 const struct nlattr *a[OVS_KEY_ATTR_MAX + 1],
1986 struct nlattr *start;
2016 struct nlattr *nla;
2017 struct nlattr *encap = NULL;
2018 struct nlattr *in_encap = NULL;
2269 struct nlattr *nla;
2323 static void ovs_nla_free_nested_actions(const struct nlattr *actions, int len);
2325 static void ovs_nla_free_check_pkt_len_action(const struct nlattr *action)
2327 const struct nlattr *a;
2340 static void ovs_nla_free_clone_action(const struct nlattr *action)
2342 const struct nlattr *a = nla_data(action);
2354 static void ovs_nla_free_dec_ttl_action(const struct nlattr *action)
2356 const struct nlattr *a = nla_data(action);
2365 static void ovs_nla_free_sample_action(const struct nlattr *action)
2367 const struct nlattr *a = nla_data(action);
2379 static void ovs_nla_free_set_action(const struct nlattr *a)
2381 const struct nlattr *ovs_key = nla_data(a);
2392 static void ovs_nla_free_nested_actions(const struct nlattr *actions, int len)
2394 const struct nlattr *a;
2455 static struct nlattr *reserve_sfa_size(struct sw_flow_actions **sfa,
2491 return (struct nlattr *) ((unsigned char *)(*sfa) + next_offset);
2494 static struct nlattr *__add_action(struct sw_flow_actions **sfa,
2497 struct nlattr *a;
2516 struct nlattr *a;
2539 struct nlattr *a = (struct nlattr *) ((unsigned char *)sfa->actions +
2545 static int __ovs_nla_copy_actions(struct net *net, const struct nlattr *attr,
2552 static int validate_and_copy_sample(struct net *net, const struct nlattr *attr,
2559 const struct nlattr *attrs[OVS_SAMPLE_ATTR_MAX + 1];
2560 const struct nlattr *probability, *actions;
2561 const struct nlattr *a;
2620 const struct nlattr *attr,
2627 const struct nlattr *attrs[OVS_DEC_TTL_ATTR_MAX + 1];
2629 const struct nlattr *a, *actions;
2679 const struct nlattr *attr,
2760 static int validate_and_copy_set_tun(const struct nlattr *attr,
2768 struct nlattr *a;
2841 static bool validate_nsh(const struct nlattr *attr, bool is_mask,
2868 static int validate_set(const struct nlattr *a,
2873 const struct nlattr *ovs_key = nla_data(a);
3012 struct nlattr *at;
3040 static int validate_userspace(const struct nlattr *attr)
3047 struct nlattr *a[OVS_USERSPACE_ATTR_MAX + 1];
3069 const struct nlattr *attr,
3076 const struct nlattr *acts_if_greater, *acts_if_lesser_eq;
3077 struct nlattr *a[OVS_CHECK_PKT_LEN_ATTR_MAX + 1];
3147 static int copy_action(const struct nlattr *from,
3151 struct nlattr *to;
3161 static int __ovs_nla_copy_actions(struct net *net, const struct nlattr *attr,
3169 const struct nlattr *a;
3498 int ovs_nla_copy_actions(struct net *net, const struct nlattr *attr,
3522 static int sample_action_to_attr(const struct nlattr *attr,
3525 struct nlattr *start, *ac_start = NULL, *sample_arg;
3528 struct nlattr *actions;
3563 static int clone_action_to_attr(const struct nlattr *attr,
3566 struct nlattr *start;
3585 static int check_pkt_len_action_to_attr(const struct nlattr *attr,
3588 struct nlattr *start, *ac_start = NULL;
3590 const struct nlattr *a, *cpl_arg;
3654 static int dec_ttl_action_to_attr(const struct nlattr *attr,
3657 struct nlattr *start, *action_start;
3658 const struct nlattr *a;
3696 static int set_action_to_attr(const struct nlattr *a, struct sk_buff *skb)
3698 const struct nlattr *ovs_key = nla_data(a);
3700 struct nlattr *start;
3730 static int masked_set_action_to_set_action_attr(const struct nlattr *a,
3733 const struct nlattr *ovs_key = nla_data(a);
3734 struct nlattr *nla;
3751 int ovs_nla_put_actions(const struct nlattr *attr, int len, struct sk_buff *skb)
3753 const struct nlattr *a;