/openbmc/linux/lib/ |
H A D | nlattr.c | 179 value = nla_get_u8(nla); in nla_validate_range_unsigned() 194 value = nla_len(nla); in nla_validate_range_unsigned() 291 value = nla_get_s8(nla); in nla_validate_int_range_signed() 386 int minlen = 0, attrlen = nla_len(nla), type = nla_type(nla); in validate_nla() 490 err = __nla_validate_parse(nla_data(nla), nla_len(nla), in validate_nla() 514 err = nla_validate_array(nla_data(nla), nla_len(nla), in validate_nla() 882 struct nlattr *nla; in __nla_reserve() local 888 memset((unsigned char *) nla + nla->nla_len, 0, nla_padlen(attrlen)); in __nla_reserve() 890 return nla; in __nla_reserve() 1016 struct nlattr *nla; in __nla_put() local [all …]
|
/openbmc/linux/tools/lib/bpf/ |
H A D | nlattr.c | 27 int totlen = NLA_ALIGN(nla->nla_len); in nla_next() 36 nla->nla_len >= sizeof(*nla) && in nla_ok() 37 nla->nla_len <= remaining; in nla_ok() 50 int type = nla_type(nla); in validate_nla() 65 if (libbpf_nla_len(nla) < minlen) in validate_nla() 72 char *data = libbpf_nla_data(nla); in validate_nla() 107 struct nlattr *nla; in libbpf_nla_parse() local 113 int type = nla_type(nla); in libbpf_nla_parse() 128 tb[type] = nla; in libbpf_nla_parse() 150 struct nlattr *nla, in libbpf_nla_parse_nested() argument [all …]
|
H A D | nlattr.h | 86 return (void *)nla + NLA_HDRLEN; in libbpf_nla_data() 91 return *(uint8_t *)libbpf_nla_data(nla); in libbpf_nla_getattr_u8() 96 return *(uint16_t *)libbpf_nla_data(nla); in libbpf_nla_getattr_u16() 101 return *(uint32_t *)libbpf_nla_data(nla); in libbpf_nla_getattr_u32() 120 return nla->nla_len - NLA_HDRLEN; in libbpf_nla_len() 126 struct nlattr *nla, 144 struct nlattr *nla; in nlattr_add() local 151 nla = req_tail(req); in nlattr_add() 152 nla->nla_type = type; in nlattr_add() 153 nla->nla_len = NLA_HDRLEN + len; in nlattr_add() [all …]
|
/openbmc/linux/drivers/block/drbd/ |
H A D | drbd_nla.c | 7 static int drbd_nla_check_mandatory(int maxtype, struct nlattr *nla) in drbd_nla_check_mandatory() argument 9 struct nlattr *head = nla_data(nla); in drbd_nla_check_mandatory() 10 int len = nla_len(nla); in drbd_nla_check_mandatory() 21 nla_for_each_attr(nla, head, len, rem) { in drbd_nla_check_mandatory() 22 if (nla->nla_type & DRBD_GENLA_F_MANDATORY) { in drbd_nla_check_mandatory() 23 nla->nla_type &= ~DRBD_GENLA_F_MANDATORY; in drbd_nla_check_mandatory() 24 if (nla_type(nla) > maxtype) in drbd_nla_check_mandatory() 36 err = drbd_nla_check_mandatory(maxtype, nla); in drbd_nla_parse_nested() 38 err = nla_parse_nested_deprecated(tb, maxtype, nla, policy, in drbd_nla_parse_nested() 52 err = drbd_nla_check_mandatory(maxtype, nla); in drbd_nla_find_nested() [all …]
|
H A D | drbd_nla.h | 5 extern int drbd_nla_parse_nested(struct nlattr *tb[], int maxtype, struct nlattr *nla, 7 extern struct nlattr *drbd_nla_find_nested(int maxtype, struct nlattr *nla, int attrtype);
|
/openbmc/linux/include/net/ |
H A D | netlink.h | 1205 nla->nla_len >= sizeof(*nla) && in nla_ok() 1235 return nla_find(nla_data(nla), nla_len(nla), attrtype); in nla_find_nested() 1258 return __nla_parse(tb, maxtype, nla_data(nla), nla_len(nla), policy, in nla_parse_nested() 1277 return __nla_parse(tb, maxtype, nla_data(nla), nla_len(nla), policy, in nla_parse_nested_deprecated() 1600 return *(u32 *) nla_data(nla); in nla_get_u32() 1654 return *(u8 *) nla_data(nla); in nla_get_u8() 1716 return *(s8 *) nla_data(nla); in nla_get_s8() 1738 return !!nla; in nla_get_flag() 1749 u64 msecs = nla_get_u64(nla); in nla_get_msecs() 1978 nla_for_each_attr(pos, nla_data(nla), nla_len(nla), rem) [all …]
|
/openbmc/linux/net/netfilter/ |
H A D | nf_tables_api.c | 144 ctx->nla = nla; in nft_ctx_init() 1525 const struct nlattr * const *nla = ctx->nla; in nft_flush() local 2429 const struct nlattr * const *nla = ctx->nla; in nf_tables_addchain() local 2575 const struct nlattr * const *nla = ctx->nla; in nf_tables_updchain() local 2876 const struct nlattr * const *nla = ctx->nla; in nft_delchain_hook() local 3615 if (nla[NFTA_RULE_TABLE] || nla[NFTA_RULE_CHAIN]) { in nf_tables_dump_rules_start() 5075 if (nla[NFTA_SET_EXPR] || nla[NFTA_SET_EXPRESSIONS]) in nf_tables_newset() 7787 if (nla[NFTA_OBJ_TABLE] || nla[NFTA_OBJ_TYPE]) { in nf_tables_dump_obj_start() 7924 (!nla[NFTA_OBJ_NAME] && !nla[NFTA_OBJ_HANDLE])) in nf_tables_delobj() 8314 const struct nlattr * const *nla = ctx->nla; in nft_flowtable_update() local [all …]
|
H A D | nft_log.c | 151 const struct nlattr *nla; in nft_log_init() local 164 nla = tb[NFTA_LOG_PREFIX]; in nft_log_init() 165 if (nla != NULL) { in nft_log_init() 166 priv->prefix = kmalloc(nla_len(nla) + 1, GFP_KERNEL); in nft_log_init() 169 nla_strscpy(priv->prefix, nla, nla_len(nla) + 1); in nft_log_init()
|
H A D | nfnetlink_hook.c | 346 const struct nlattr * const *nla = cb->data; in nfnl_hook_dump_start() local 354 hooknum = ntohl(nla_get_be32(nla[NFNLA_HOOK_HOOKNUM])); in nfnl_hook_dump_start() 359 if (!nla[NFNLA_HOOK_DEV]) in nfnl_hook_dump_start() 362 nla_strscpy(name, nla[NFNLA_HOOK_DEV], sizeof(name)); in nfnl_hook_dump_start() 395 const struct nlattr * const nla[]) in nfnl_hook_get() argument 397 if (!nla[NFNLA_HOOK_HOOKNUM]) in nfnl_hook_get() 406 .data = (void *)nla, in nfnl_hook_get()
|
/openbmc/linux/net/ipv4/ |
H A D | metrics.c | 15 struct nlattr *nla; in ip_metrics_convert() local 18 nla_for_each_attr(nla, fc_mx, fc_mx_len, remaining) { in ip_metrics_convert() 19 int type = nla_type(nla); in ip_metrics_convert() 33 nla_strscpy(tmp, nla, sizeof(tmp)); in ip_metrics_convert() 40 if (nla_len(nla) != sizeof(u32)) { in ip_metrics_convert() 41 NL_SET_ERR_MSG_ATTR(extack, nla, in ip_metrics_convert() 45 val = nla_get_u32(nla); in ip_metrics_convert()
|
H A D | fib_semantics.c | 726 if (nla && nlav) { in fib_get_nhs() 731 if (nla) { in fib_get_nhs() 746 if (nla) { in fib_get_nhs() 759 if (nla) in fib_get_nhs() 953 if (nla && nlav) { in fib_nh_match() 959 if (nla) { in fib_nh_match() 993 if (nla) { in fib_nh_match() 1012 struct nlattr *nla; in fib_metrics_match() local 1670 struct nlattr *nla; in fib_nexthop_info() local 1674 if (!nla) in fib_nexthop_info() [all …]
|
/openbmc/linux/include/linux/ |
H A D | genl_magic_func.h | 106 else if (nla) \ 109 : nla_data(nla)); \ 117 else if (nla) \ 119 nla_data(nla), nla_len(nla)); \ 146 struct nlattr *nla; \ 171 nla = ntb[attr_nr]; \ 172 if (nla) { \ 191 s->name = __get(nla); \ 192 DPRINT_FIELD("<<", nla_type, name, s, nla)) 201 __get(s->name, nla, maxlen); \ [all …]
|
/openbmc/linux/net/sched/ |
H A D | act_tunnel_key.c | 97 nla, geneve_opt_policy, extack); in tunnel_key_copy_geneve_opt() 206 nla = tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_INDEX]; in tunnel_key_copy_erspan_opt() 207 md->u.index = nla_get_be32(nla); in tunnel_key_copy_erspan_opt() 209 nla = tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_DIR]; in tunnel_key_copy_erspan_opt() 210 md->u.md2.dir = nla_get_u8(nla); in tunnel_key_copy_erspan_opt() 211 nla = tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_HWID]; in tunnel_key_copy_erspan_opt() 212 set_hwid(&md->u.md2, nla_get_u8(nla)); in tunnel_key_copy_erspan_opt() 223 const struct nlattr *attr, *head = nla_data(nla); in tunnel_key_copy_opts() 295 return tunnel_key_copy_opts(nla, NULL, 0, extack); in tunnel_key_get_opts_len() 302 switch (nla_type(nla_data(nla))) { in tunnel_key_opts_set() [all …]
|
H A D | act_bpf.c | 102 struct nlattr *nla; in tcf_bpf_dump_bpf_info() local 107 nla = nla_reserve(skb, TCA_ACT_BPF_OPS, prog->bpf_num_ops * in tcf_bpf_dump_bpf_info() 109 if (nla == NULL) in tcf_bpf_dump_bpf_info() 112 memcpy(nla_data(nla), prog->bpf_ops, nla_len(nla)); in tcf_bpf_dump_bpf_info() 120 struct nlattr *nla; in tcf_bpf_dump_ebpf_info() local 129 nla = nla_reserve(skb, TCA_ACT_BPF_TAG, sizeof(prog->filter->tag)); in tcf_bpf_dump_ebpf_info() 130 if (nla == NULL) in tcf_bpf_dump_ebpf_info() 133 memcpy(nla_data(nla), prog->filter->tag, nla_len(nla)); in tcf_bpf_dump_ebpf_info() 279 static int tcf_bpf_init(struct net *net, struct nlattr *nla, in tcf_bpf_init() argument 295 if (!nla) in tcf_bpf_init() [all …]
|
H A D | sch_fifo.c | 229 struct nlattr *nla; in fifo_set_limit() local 239 nla = kmalloc(nla_attr_size(sizeof(struct tc_fifo_qopt)), GFP_KERNEL); in fifo_set_limit() 240 if (nla) { in fifo_set_limit() 241 nla->nla_type = RTM_NEWQDISC; in fifo_set_limit() 242 nla->nla_len = nla_attr_size(sizeof(struct tc_fifo_qopt)); in fifo_set_limit() 243 ((struct tc_fifo_qopt *)nla_data(nla))->limit = limit; in fifo_set_limit() 245 ret = q->ops->change(q, nla, NULL); in fifo_set_limit() 246 kfree(nla); in fifo_set_limit()
|
H A D | em_meta.c | 695 static int meta_var_change(struct meta_value *dst, struct nlattr *nla) in meta_var_change() argument 697 int len = nla_len(nla); in meta_var_change() 699 dst->val = (unsigned long)kmemdup(nla_data(nla), len, GFP_KERNEL); in meta_var_change() 748 static int meta_int_change(struct meta_value *dst, struct nlattr *nla) in meta_int_change() argument 750 if (nla_len(nla) >= sizeof(unsigned long)) { in meta_int_change() 751 dst->val = *(unsigned long *) nla_data(nla); in meta_int_change() 753 } else if (nla_len(nla) == sizeof(u32)) { in meta_int_change() 754 dst->val = nla_get_u32(nla); in meta_int_change() 887 if (nla) { in meta_change_data() 888 if (nla_len(nla) == 0) in meta_change_data() [all …]
|
H A D | ematch.c | 171 struct tcf_ematch *em, struct nlattr *nla, int idx) in tcf_em_validate() argument 174 struct tcf_ematch_hdr *em_hdr = nla_data(nla); in tcf_em_validate() 175 int data_len = nla_len(nla) - sizeof(*em_hdr); in tcf_em_validate() 305 int tcf_em_tree_validate(struct tcf_proto *tp, struct nlattr *nla, in tcf_em_tree_validate() argument 315 if (!nla) in tcf_em_tree_validate() 318 err = nla_parse_nested_deprecated(tb, TCA_EMATCH_TREE_MAX, nla, in tcf_em_tree_validate()
|
/openbmc/linux/drivers/net/vxlan/ |
H A D | vxlan_private.h | 89 const struct nlattr *nla) in vxlan_nla_get_addr() argument 91 if (nla_len(nla) >= sizeof(struct in6_addr)) { in vxlan_nla_get_addr() 92 ip->sin6.sin6_addr = nla_get_in6_addr(nla); in vxlan_nla_get_addr() 95 } else if (nla_len(nla) >= sizeof(__be32)) { in vxlan_nla_get_addr() 96 ip->sin.sin_addr.s_addr = nla_get_in_addr(nla); in vxlan_nla_get_addr() 130 const struct nlattr *nla) in vxlan_nla_get_addr() argument 132 if (nla_len(nla) >= sizeof(struct in6_addr)) { in vxlan_nla_get_addr() 134 } else if (nla_len(nla) >= sizeof(__be32)) { in vxlan_nla_get_addr() 135 ip->sin.sin_addr.s_addr = nla_get_in_addr(nla); in vxlan_nla_get_addr()
|
/openbmc/linux/net/xfrm/ |
H A D | xfrm_compat.c | 292 const struct nlattr *nla, *attrs; in xfrm_xlate64() local 308 err = xfrm_nla_cpy(dst, nla, nla_len(nla)); in xfrm_xlate64() 311 err = xfrm_xlate64_attr(dst, nla); in xfrm_xlate64() 403 struct nlattr *nla; in xfrm_attr_cpy32() local 415 nla = dst + *pos; in xfrm_attr_cpy32() 417 memcpy(nla, src, nla_attr_size(copy_len)); in xfrm_attr_cpy32() 418 nla->nla_len = nla_attr_size(payload); in xfrm_attr_cpy32() 420 nlmsg->nlmsg_len += nla->nla_len; in xfrm_attr_cpy32() 432 int type = nla_type(nla); in xfrm_xlate32_attr() 442 if (nla_len(nla) < compat_policy[type].len) { in xfrm_xlate32_attr() [all …]
|
/openbmc/linux/net/openvswitch/ |
H A D | vport.c | 313 struct nlattr *nla; in ovs_vport_get_upcall_stats() local 331 nla = nla_nest_start_noflag(skb, OVS_VPORT_ATTR_UPCALL_STATS); in ovs_vport_get_upcall_stats() 332 if (!nla) in ovs_vport_get_upcall_stats() 337 nla_nest_cancel(skb, nla); in ovs_vport_get_upcall_stats() 343 nla_nest_cancel(skb, nla); in ovs_vport_get_upcall_stats() 346 nla_nest_end(skb, nla); in ovs_vport_get_upcall_stats() 369 struct nlattr *nla; in ovs_vport_get_options() local 375 nla = nla_nest_start_noflag(skb, OVS_VPORT_ATTR_OPTIONS); in ovs_vport_get_options() 376 if (!nla) in ovs_vport_get_options() 381 nla_nest_cancel(skb, nla); in ovs_vport_get_options() [all …]
|
H A D | flow_netlink.c | 862 if (!nla) in vxlan_opt_to_nlattr() 954 if (!nla) in ip_tun_to_nlattr() 1771 memset(nla_data(nla), val, nla_len(nla)); in nlattr_set() 2061 if (!nla) in __ovs_nla_put_key() 2115 if (!nla) in __ovs_nla_put_key() 2129 if (!nla) in __ovs_nla_put_key() 2144 if (!nla) in __ovs_nla_put_key() 2156 if (!nla) in __ovs_nla_put_key() 2172 if (!nla) in __ovs_nla_put_key() 2272 if (!nla) in ovs_nla_put_key() [all …]
|
H A D | meter.c | 235 struct nlattr *nla; in ovs_meter_cmd_reply_stats() local 251 if (!nla) in ovs_meter_cmd_reply_stats() 266 nla_nest_end(reply, nla); in ovs_meter_cmd_reply_stats() 277 struct nlattr *nla, *band_nla; in ovs_meter_cmd_features() local 304 if (!nla) in ovs_meter_cmd_features() 314 nla_nest_end(reply, nla); in ovs_meter_cmd_features() 328 struct nlattr *nla; in dp_meter_create() local 339 nla_for_each_nested(nla, a[OVS_METER_ATTR_BANDS], rem) in dp_meter_create() 361 nla_for_each_nested(nla, a[OVS_METER_ATTR_BANDS], rem) { in dp_meter_create() 366 OVS_BAND_ATTR_MAX, nla_data(nla), in dp_meter_create() [all …]
|
/openbmc/linux/net/mpls/ |
H A D | af_mpls.c | 732 alen = nla_len(nla) - in nla_get_via() 853 if (nla && nla_len(nla) >= in mpls_count_nexthops() 864 if (nla && in mpls_count_nexthops() 1104 struct nlattr *nla; in mpls_fill_stats_af() local 1113 if (!nla) in mpls_fill_stats_af() 1687 struct nlattr *nla; in nla_put_via() local 1692 if (!nla) in nla_put_via() 1698 via = nla_data(nla); in nla_put_via() 1707 struct nlattr *nla; in nla_put_labels() local 1712 if (!nla) in nla_put_labels() [all …]
|
/openbmc/linux/net/psample/ |
H A D | psample.c | 292 struct nlattr *nla; in psample_ip_tun_to_nlattr() local 295 nla = nla_nest_start_noflag(skb, PSAMPLE_ATTR_TUNNEL); in psample_ip_tun_to_nlattr() 296 if (!nla) in psample_ip_tun_to_nlattr() 301 nla_nest_cancel(skb, nla); in psample_ip_tun_to_nlattr() 305 nla_nest_end(skb, nla); in psample_ip_tun_to_nlattr() 469 struct nlattr *nla; in psample_sample_packet() local 471 nla = skb_put(nl_skb, nla_len); in psample_sample_packet() 472 nla->nla_type = PSAMPLE_ATTR_DATA; in psample_sample_packet() 473 nla->nla_len = nla_attr_size(data_len); in psample_sample_packet() 475 if (skb_copy_bits(skb, 0, nla_data(nla), data_len)) in psample_sample_packet()
|
/openbmc/linux/net/handshake/ |
H A D | tlshd.c | 66 struct nlattr *nla; in tls_handshake_remote_peerids() local 70 nla_for_each_attr(nla, head, len, rem) { in tls_handshake_remote_peerids() 71 if (nla_type(nla) == HANDSHAKE_A_DONE_REMOTE_AUTH) in tls_handshake_remote_peerids() 80 nla_for_each_attr(nla, head, len, rem) { in tls_handshake_remote_peerids() 81 if (nla_type(nla) == HANDSHAKE_A_DONE_REMOTE_AUTH) in tls_handshake_remote_peerids() 82 treq->th_peerid[i++] = nla_get_u32(nla); in tls_handshake_remote_peerids()
|