Lines Matching refs:attr
477 static int __parse_flow_nlattrs(const struct nlattr *attr, in __parse_flow_nlattrs() argument
486 nla_for_each_nested(nla, attr, rem) { in __parse_flow_nlattrs()
529 static int parse_flow_mask_nlattrs(const struct nlattr *attr, in parse_flow_mask_nlattrs() argument
533 return __parse_flow_nlattrs(attr, a, attrsp, log, true); in parse_flow_mask_nlattrs()
536 int parse_flow_nlattrs(const struct nlattr *attr, const struct nlattr *a[], in parse_flow_nlattrs() argument
539 return __parse_flow_nlattrs(attr, a, attrsp, log, false); in parse_flow_nlattrs()
593 static int vxlan_tun_opt_from_nlattr(const struct nlattr *attr, in vxlan_tun_opt_from_nlattr() argument
605 nla_for_each_nested(a, attr, rem) { in vxlan_tun_opt_from_nlattr()
676 static int ip_tun_from_nlattr(const struct nlattr *attr, in ip_tun_from_nlattr() argument
687 nla_for_each_nested(a, attr, rem) { in ip_tun_from_nlattr()
1308 int nsh_hdr_from_nlattr(const struct nlattr *attr, in nsh_hdr_from_nlattr() argument
1322 nla_for_each_nested(a, attr, rem) { in nsh_hdr_from_nlattr()
1362 int nsh_key_from_nlattr(const struct nlattr *attr, in nsh_key_from_nlattr() argument
1370 nla_for_each_nested(a, attr, rem) { in nsh_key_from_nlattr()
1402 static int nsh_key_put_from_nlattr(const struct nlattr *attr, in nsh_key_put_from_nlattr() argument
1417 nla_for_each_nested(a, attr, rem) { in nsh_key_put_from_nlattr()
1773 static void nlattr_set(struct nlattr *attr, u8 val, in nlattr_set() argument
1780 nla_for_each_nested(nla, attr, rem) { in nlattr_set()
1791 static void mask_set_nlattr(struct nlattr *attr, u8 val) in mask_set_nlattr() argument
1793 nlattr_set(attr, val, ovs_key_lens); in mask_set_nlattr()
1891 static size_t get_ufid_len(const struct nlattr *attr, bool log) in get_ufid_len() argument
1895 if (!attr) in get_ufid_len()
1898 len = nla_len(attr); in get_ufid_len()
1901 nla_len(attr), MAX_UFID_LENGTH); in get_ufid_len()
1911 bool ovs_nla_get_ufid(struct sw_flow_id *sfid, const struct nlattr *attr, in ovs_nla_get_ufid() argument
1914 sfid->ufid_len = get_ufid_len(attr, log); in ovs_nla_get_ufid()
1916 memcpy(sfid->ufid, nla_data(attr), sfid->ufid_len); in ovs_nla_get_ufid()
1939 u32 ovs_nla_get_ufid_flags(const struct nlattr *attr) in ovs_nla_get_ufid_flags() argument
1941 return nla_get_u32_default(attr, 0); in ovs_nla_get_ufid_flags()
2278 const struct sw_flow_key *output, int attr, bool is_mask, in ovs_nla_put_key() argument
2284 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()
2761 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()
2842 static bool validate_nsh(const struct nlattr *attr, bool is_mask, in validate_nsh() argument
2850 ret = nsh_key_put_from_nlattr(attr, &match, is_mask, in validate_nsh()
3042 static int validate_userspace(const struct nlattr *attr) in validate_userspace() argument
3053 nla_data(attr), nla_len(attr), in validate_userspace()
3072 const struct nlattr *attr, in validate_and_copy_check_pkt_len() argument
3086 nla_data(attr), nla_len(attr), in validate_and_copy_check_pkt_len()
3150 static int validate_psample(const struct nlattr *attr) in validate_psample() argument
3165 err = nla_parse_nested(a, OVS_PSAMPLE_ATTR_MAX, attr, policy, NULL); in validate_psample()
3186 static int __ovs_nla_copy_actions(struct net *net, const struct nlattr *attr, in __ovs_nla_copy_actions() argument
3200 nla_for_each_nested(a, attr, rem) { in __ovs_nla_copy_actions()
3530 int ovs_nla_copy_actions(struct net *net, const struct nlattr *attr, in ovs_nla_copy_actions() argument
3537 *sfa = nla_alloc_flow_actions(nla_len(attr)); in ovs_nla_copy_actions()
3544 (*sfa)->orig_len = nla_len(attr); in ovs_nla_copy_actions()
3545 err = __ovs_nla_copy_actions(net, attr, key, sfa, key->eth.type, in ovs_nla_copy_actions()
3554 static int sample_action_to_attr(const struct nlattr *attr, in sample_action_to_attr() argument
3558 int err = 0, rem = nla_len(attr); in sample_action_to_attr()
3566 sample_arg = nla_data(attr); in sample_action_to_attr()
3595 static int clone_action_to_attr(const struct nlattr *attr, in clone_action_to_attr() argument
3599 int err = 0, rem = nla_len(attr); in clone_action_to_attr()
3606 attr = nla_next(nla_data(attr), &rem); in clone_action_to_attr()
3607 err = ovs_nla_put_actions(attr, rem, skb); in clone_action_to_attr()
3617 static int check_pkt_len_action_to_attr(const struct nlattr *attr, in check_pkt_len_action_to_attr() argument
3623 int err = 0, rem = nla_len(attr); in check_pkt_len_action_to_attr()
3632 cpl_arg = nla_data(attr); in check_pkt_len_action_to_attr()
3686 static int dec_ttl_action_to_attr(const struct nlattr *attr, in dec_ttl_action_to_attr() argument
3697 nla_for_each_attr(a, nla_data(attr), nla_len(attr), rem) { in dec_ttl_action_to_attr()
3783 int ovs_nla_put_actions(const struct nlattr *attr, int len, struct sk_buff *skb) in ovs_nla_put_actions() argument
3788 nla_for_each_attr(a, attr, len, rem) { in ovs_nla_put_actions()