Lines Matching refs:attr
469 static int __parse_flow_nlattrs(const struct nlattr *attr, in __parse_flow_nlattrs() argument
478 nla_for_each_nested(nla, attr, rem) { in __parse_flow_nlattrs()
521 static int parse_flow_mask_nlattrs(const struct nlattr *attr, in parse_flow_mask_nlattrs() argument
525 return __parse_flow_nlattrs(attr, a, attrsp, log, true); in parse_flow_mask_nlattrs()
528 int parse_flow_nlattrs(const struct nlattr *attr, const struct nlattr *a[], in parse_flow_nlattrs() argument
531 return __parse_flow_nlattrs(attr, a, attrsp, log, false); in parse_flow_nlattrs()
585 static int vxlan_tun_opt_from_nlattr(const struct nlattr *attr, in vxlan_tun_opt_from_nlattr() argument
597 nla_for_each_nested(a, attr, rem) { in vxlan_tun_opt_from_nlattr()
668 static int ip_tun_from_nlattr(const struct nlattr *attr, in ip_tun_from_nlattr() argument
679 nla_for_each_nested(a, attr, rem) { in ip_tun_from_nlattr()
1295 int nsh_hdr_from_nlattr(const struct nlattr *attr, in nsh_hdr_from_nlattr() argument
1309 nla_for_each_nested(a, attr, rem) { in nsh_hdr_from_nlattr()
1349 int nsh_key_from_nlattr(const struct nlattr *attr, in nsh_key_from_nlattr() argument
1357 nla_for_each_nested(a, attr, rem) { in nsh_key_from_nlattr()
1389 static int nsh_key_put_from_nlattr(const struct nlattr *attr, in nsh_key_put_from_nlattr() argument
1404 nla_for_each_nested(a, attr, rem) { in nsh_key_put_from_nlattr()
1760 static void nlattr_set(struct nlattr *attr, u8 val, in nlattr_set() argument
1767 nla_for_each_nested(nla, attr, rem) { in nlattr_set()
1778 static void mask_set_nlattr(struct nlattr *attr, u8 val) in mask_set_nlattr() argument
1780 nlattr_set(attr, val, ovs_key_lens); in mask_set_nlattr()
1878 static size_t get_ufid_len(const struct nlattr *attr, bool log) in get_ufid_len() argument
1882 if (!attr) in get_ufid_len()
1885 len = nla_len(attr); in get_ufid_len()
1888 nla_len(attr), MAX_UFID_LENGTH); in get_ufid_len()
1898 bool ovs_nla_get_ufid(struct sw_flow_id *sfid, const struct nlattr *attr, in ovs_nla_get_ufid() argument
1901 sfid->ufid_len = get_ufid_len(attr, log); in ovs_nla_get_ufid()
1903 memcpy(sfid->ufid, nla_data(attr), sfid->ufid_len); in ovs_nla_get_ufid()
1926 u32 ovs_nla_get_ufid_flags(const struct nlattr *attr) in ovs_nla_get_ufid_flags() argument
1928 return attr ? nla_get_u32(attr) : 0; in ovs_nla_get_ufid_flags()
2265 const struct sw_flow_key *output, int attr, bool is_mask, in ovs_nla_put_key() argument
2271 nla = nla_nest_start_noflag(skb, attr); in ovs_nla_put_key()
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, in validate_and_copy_sample() argument
2566 nla_for_each_nested(a, attr, rem) { in validate_and_copy_sample()
2620 const struct nlattr *attr, in validate_and_copy_dec_ttl() argument
2632 nla_for_each_nested(a, attr, rem) { in validate_and_copy_dec_ttl()
2679 const struct nlattr *attr, in validate_and_copy_clone() argument
2689 if (nla_len(attr) && nla_len(attr) < NLA_HDRLEN) in validate_and_copy_clone()
2696 exec = last || !actions_may_change_flow(attr); in validate_and_copy_clone()
2703 err = __ovs_nla_copy_actions(net, attr, key, sfa, in validate_and_copy_clone()
2760 static int validate_and_copy_set_tun(const struct nlattr *attr, in validate_and_copy_set_tun() argument
2774 opts_type = ip_tun_from_nlattr(nla_data(attr), &match, false, log); in validate_and_copy_set_tun()
2841 static bool validate_nsh(const struct nlattr *attr, bool is_mask, in validate_nsh() argument
2849 ret = nsh_key_put_from_nlattr(attr, &match, is_mask, in validate_nsh()
3040 static int validate_userspace(const struct nlattr *attr) in validate_userspace() argument
3050 error = nla_parse_nested_deprecated(a, OVS_USERSPACE_ATTR_MAX, attr, in validate_userspace()
3069 const struct nlattr *attr, in validate_and_copy_check_pkt_len() argument
3083 nla_data(attr), nla_len(attr), in validate_and_copy_check_pkt_len()
3161 static int __ovs_nla_copy_actions(struct net *net, const struct nlattr *attr, in __ovs_nla_copy_actions() argument
3175 nla_for_each_nested(a, attr, rem) { in __ovs_nla_copy_actions()
3498 int ovs_nla_copy_actions(struct net *net, const struct nlattr *attr, in ovs_nla_copy_actions() argument
3505 *sfa = nla_alloc_flow_actions(min(nla_len(attr), MAX_ACTIONS_BUFSIZE)); in ovs_nla_copy_actions()
3512 (*sfa)->orig_len = nla_len(attr); in ovs_nla_copy_actions()
3513 err = __ovs_nla_copy_actions(net, attr, key, sfa, key->eth.type, in ovs_nla_copy_actions()
3522 static int sample_action_to_attr(const struct nlattr *attr, in sample_action_to_attr() argument
3526 int err = 0, rem = nla_len(attr); in sample_action_to_attr()
3534 sample_arg = nla_data(attr); in sample_action_to_attr()
3563 static int clone_action_to_attr(const struct nlattr *attr, in clone_action_to_attr() argument
3567 int err = 0, rem = nla_len(attr); in clone_action_to_attr()
3574 attr = nla_next(nla_data(attr), &rem); in clone_action_to_attr()
3575 err = ovs_nla_put_actions(attr, rem, skb); in clone_action_to_attr()
3585 static int check_pkt_len_action_to_attr(const struct nlattr *attr, in check_pkt_len_action_to_attr() argument
3591 int err = 0, rem = nla_len(attr); in check_pkt_len_action_to_attr()
3600 cpl_arg = nla_data(attr); in check_pkt_len_action_to_attr()
3654 static int dec_ttl_action_to_attr(const struct nlattr *attr, in dec_ttl_action_to_attr() argument
3665 nla_for_each_attr(a, nla_data(attr), nla_len(attr), rem) { in dec_ttl_action_to_attr()
3751 int ovs_nla_put_actions(const struct nlattr *attr, int len, struct sk_buff *skb) in ovs_nla_put_actions() argument
3756 nla_for_each_attr(a, attr, len, rem) { in ovs_nla_put_actions()