/net/netfilter/ |
D | nf_tables_api.c | 138 const struct nlattr * const *nla) in nft_ctx_init() argument 145 ctx->nla = nla; in nft_ctx_init() 431 if (ctx->nla[NFTA_CHAIN_ID]) { in nft_trans_chain_add() 433 ntohl(nla_get_be32(ctx->nla[NFTA_CHAIN_ID])); in nft_trans_chain_add() 504 if (msg_type == NFT_MSG_NEWRULE && ctx->nla[NFTA_RULE_ID] != NULL) { in nft_trans_rule_add() 506 ntohl(nla_get_be32(ctx->nla[NFTA_RULE_ID])); in nft_trans_rule_add() 570 if (msg_type == NFT_MSG_NEWSET && ctx->nla[NFTA_SET_ID] && !desc) { in __nft_trans_set_add() 572 ntohl(nla_get_be32(ctx->nla[NFTA_SET_ID])); in __nft_trans_set_add() 729 const struct nlattr *nla, in nft_table_lookup() argument 735 if (nla == NULL) in nft_table_lookup() [all …]
|
D | nfnetlink_hook.c | 282 const struct nlattr * const *nla = cb->data; in nfnl_hook_dump_start() local 290 hooknum = ntohl(nla_get_be32(nla[NFNLA_HOOK_HOOKNUM])); in nfnl_hook_dump_start() 295 if (!nla[NFNLA_HOOK_DEV]) in nfnl_hook_dump_start() 298 nla_strscpy(name, nla[NFNLA_HOOK_DEV], sizeof(name)); in nfnl_hook_dump_start() 331 const struct nlattr * const nla[]) in nfnl_hook_get() argument 333 if (!nla[NFNLA_HOOK_HOOKNUM]) in nfnl_hook_get() 342 .data = (void *)nla, in nfnl_hook_get()
|
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()
|
D | nf_tables_trace.c | 48 struct nlattr *nla; in trace_fill_header() local 53 nla = nla_reserve(nlskb, type, len); in trace_fill_header() 54 if (!nla || skb_copy_bits(skb, off, nla_data(nla), len)) in trace_fill_header()
|
/net/sched/ |
D | act_tunnel_key.c | 87 tunnel_key_copy_geneve_opt(const struct nlattr *nla, void *dst, int dst_len, in tunnel_key_copy_geneve_opt() argument 96 nla, geneve_opt_policy, extack); in tunnel_key_copy_geneve_opt() 139 tunnel_key_copy_vxlan_opt(const struct nlattr *nla, void *dst, int dst_len, in tunnel_key_copy_vxlan_opt() argument 145 err = nla_parse_nested(tb, TCA_TUNNEL_KEY_ENC_OPT_VXLAN_MAX, nla, in tunnel_key_copy_vxlan_opt() 166 tunnel_key_copy_erspan_opt(const struct nlattr *nla, void *dst, int dst_len, in tunnel_key_copy_erspan_opt() argument 173 err = nla_parse_nested(tb, TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_MAX, nla, in tunnel_key_copy_erspan_opt() 205 nla = tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_INDEX]; in tunnel_key_copy_erspan_opt() 206 md->u.index = nla_get_be32(nla); in tunnel_key_copy_erspan_opt() 208 nla = tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_DIR]; in tunnel_key_copy_erspan_opt() 209 md->u.md2.dir = nla_get_u8(nla); in tunnel_key_copy_erspan_opt() [all …]
|
D | act_bpf.c | 99 struct nlattr *nla; in tcf_bpf_dump_bpf_info() local 104 nla = nla_reserve(skb, TCA_ACT_BPF_OPS, prog->bpf_num_ops * in tcf_bpf_dump_bpf_info() 106 if (nla == NULL) in tcf_bpf_dump_bpf_info() 109 memcpy(nla_data(nla), prog->bpf_ops, nla_len(nla)); in tcf_bpf_dump_bpf_info() 117 struct nlattr *nla; in tcf_bpf_dump_ebpf_info() local 126 nla = nla_reserve(skb, TCA_ACT_BPF_TAG, sizeof(prog->filter->tag)); in tcf_bpf_dump_ebpf_info() 127 if (nla == NULL) in tcf_bpf_dump_ebpf_info() 130 memcpy(nla_data(nla), prog->filter->tag, nla_len(nla)); in tcf_bpf_dump_ebpf_info() 276 static int tcf_bpf_init(struct net *net, struct nlattr *nla, in tcf_bpf_init() argument 292 if (!nla) in tcf_bpf_init() [all …]
|
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()
|
D | em_meta.c | 692 static int meta_var_change(struct meta_value *dst, struct nlattr *nla) in meta_var_change() argument 694 int len = nla_len(nla); in meta_var_change() 696 dst->val = (unsigned long)kmemdup(nla_data(nla), len, GFP_KERNEL); in meta_var_change() 745 static int meta_int_change(struct meta_value *dst, struct nlattr *nla) in meta_int_change() argument 747 if (nla_len(nla) >= sizeof(unsigned long)) { in meta_int_change() 748 dst->val = *(unsigned long *) nla_data(nla); in meta_int_change() 750 } else if (nla_len(nla) == sizeof(u32)) { in meta_int_change() 751 dst->val = nla_get_u32(nla); in meta_int_change() 882 static inline int meta_change_data(struct meta_value *dst, struct nlattr *nla) in meta_change_data() argument 884 if (nla) { in meta_change_data() [all …]
|
D | cls_bpf.c | 537 struct nlattr *nla; in cls_bpf_dump_bpf_info() local 542 nla = nla_reserve(skb, TCA_BPF_OPS, prog->bpf_num_ops * in cls_bpf_dump_bpf_info() 544 if (nla == NULL) in cls_bpf_dump_bpf_info() 547 memcpy(nla_data(nla), prog->bpf_ops, nla_len(nla)); in cls_bpf_dump_bpf_info() 555 struct nlattr *nla; in cls_bpf_dump_ebpf_info() local 564 nla = nla_reserve(skb, TCA_BPF_TAG, sizeof(prog->filter->tag)); in cls_bpf_dump_ebpf_info() 565 if (nla == NULL) in cls_bpf_dump_ebpf_info() 568 memcpy(nla_data(nla), prog->filter->tag, nla_len(nla)); in cls_bpf_dump_ebpf_info()
|
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()
|
D | act_ipt.c | 96 static int __tcf_ipt_init(struct net *net, unsigned int id, struct nlattr *nla, in __tcf_ipt_init() argument 112 if (nla == NULL) in __tcf_ipt_init() 115 err = nla_parse_nested_deprecated(tb, TCA_IPT_MAX, nla, ipt_policy, in __tcf_ipt_init() 217 static int tcf_ipt_init(struct net *net, struct nlattr *nla, in tcf_ipt_init() argument 222 return __tcf_ipt_init(net, ipt_net_id, nla, est, a, &act_ipt_ops, in tcf_ipt_init() 226 static int tcf_xt_init(struct net *net, struct nlattr *nla, in tcf_xt_init() argument 231 return __tcf_ipt_init(net, xt_net_id, nla, est, a, &act_xt_ops, in tcf_xt_init()
|
D | act_api.c | 959 struct tc_action_ops *tc_action_load_ops(struct nlattr *nla, bool police, in tc_action_load_ops() argument 970 err = nla_parse_nested_deprecated(tb, TCA_ACT_MAX, nla, in tc_action_load_ops() 1021 struct nlattr *nla, struct nlattr *est, in tcf_action_init_1() argument 1035 err = nla_parse_nested_deprecated(tb, TCA_ACT_MAX, nla, in tcf_action_init_1() 1054 err = a_o->init(net, nla, est, &a, tp, userflags.value | flags, in tcf_action_init_1() 1079 int tcf_action_init(struct net *net, struct tcf_proto *tp, struct nlattr *nla, in tcf_action_init() argument 1091 err = nla_parse_nested_deprecated(tb, TCA_ACT_MAX_PRIO, nla, NULL, in tcf_action_init() 1261 static struct tc_action *tcf_action_get_1(struct net *net, struct nlattr *nla, in tcf_action_get_1() argument 1271 err = nla_parse_nested_deprecated(tb, TCA_ACT_MAX, nla, in tcf_action_get_1() 1305 static int tca_action_flush(struct net *net, struct nlattr *nla, in tca_action_flush() argument [all …]
|
D | act_pedit.c | 41 static struct tcf_pedit_key_ex *tcf_pedit_keys_ex_parse(struct nlattr *nla, in tcf_pedit_keys_ex_parse() argument 50 if (!nla) in tcf_pedit_keys_ex_parse() 59 nla_for_each_nested(ka, nla, rem) { in tcf_pedit_keys_ex_parse() 152 static int tcf_pedit_init(struct net *net, struct nlattr *nla, in tcf_pedit_init() argument 169 if (!nla) { in tcf_pedit_init() 174 err = nla_parse_nested_deprecated(tb, TCA_PEDIT_MAX, nla, in tcf_pedit_init()
|
/net/ipv4/ |
D | metrics.c | 15 struct nlattr *nla; in ip_metrics_convert() local 21 nla_for_each_attr(nla, fc_mx, fc_mx_len, remaining) { in ip_metrics_convert() 22 int type = nla_type(nla); in ip_metrics_convert() 36 nla_strscpy(tmp, nla, sizeof(tmp)); in ip_metrics_convert() 43 if (nla_len(nla) != sizeof(u32)) { in ip_metrics_convert() 44 NL_SET_ERR_MSG_ATTR(extack, nla, in ip_metrics_convert() 48 val = nla_get_u32(nla); in ip_metrics_convert()
|
D | fib_semantics.c | 675 static int fib_gw_from_attr(__be32 *gw, struct nlattr *nla, in fib_gw_from_attr() argument 678 if (nla_len(nla) < sizeof(*gw)) { in fib_gw_from_attr() 683 *gw = nla_get_in_addr(nla); in fib_gw_from_attr() 720 struct nlattr *nla, *nlav, *attrs = rtnh_attrs(rtnh); in fib_get_nhs() local 722 nla = nla_find(attrs, attrlen, RTA_GATEWAY); in fib_get_nhs() 724 if (nla && nlav) { in fib_get_nhs() 729 if (nla) { in fib_get_nhs() 730 ret = fib_gw_from_attr(&fib_cfg.fc_gw4, nla, in fib_get_nhs() 743 nla = nla_find(attrs, attrlen, RTA_FLOW); in fib_get_nhs() 744 if (nla) { in fib_get_nhs() [all …]
|
/net/xfrm/ |
D | xfrm_compat.c | 292 const struct nlattr *nla, *attrs; in xfrm_xlate64() local 303 nla_for_each_attr(nla, attrs, len, remaining) { in xfrm_xlate64() 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() 428 static int xfrm_xlate32_attr(void *dst, const struct nlattr *nla, in xfrm_xlate32_attr() argument [all …]
|
/net/openvswitch/ |
D | flow_netlink.c | 54 struct nlattr *nla; in actions_may_change_flow() local 57 nla_for_each_nested(nla, actions, rem) { in actions_may_change_flow() 58 u16 action = nla_type(nla); in actions_may_change_flow() 468 const struct nlattr *nla; in __parse_flow_nlattrs() local 473 nla_for_each_nested(nla, attr, rem) { in __parse_flow_nlattrs() 474 u16 type = nla_type(nla); in __parse_flow_nlattrs() 489 if (!check_attr_len(nla_len(nla), expected_len)) { in __parse_flow_nlattrs() 491 type, nla_len(nla), expected_len); in __parse_flow_nlattrs() 495 if (!nz || !is_all_zero(nla_data(nla), nla_len(nla))) { in __parse_flow_nlattrs() 497 a[type] = nla; in __parse_flow_nlattrs() [all …]
|
D | meter.c | 238 struct nlattr *nla; in ovs_meter_cmd_reply_stats() local 253 nla = nla_nest_start_noflag(reply, OVS_METER_ATTR_BANDS); in ovs_meter_cmd_reply_stats() 254 if (!nla) in ovs_meter_cmd_reply_stats() 269 nla_nest_end(reply, nla); in ovs_meter_cmd_reply_stats() 280 struct nlattr *nla, *band_nla; in ovs_meter_cmd_features() local 306 nla = nla_nest_start_noflag(reply, OVS_METER_ATTR_BANDS); in ovs_meter_cmd_features() 307 if (!nla) in ovs_meter_cmd_features() 317 nla_nest_end(reply, nla); in ovs_meter_cmd_features() 331 struct nlattr *nla; in dp_meter_create() local 342 nla_for_each_nested(nla, a[OVS_METER_ATTR_BANDS], rem) in dp_meter_create() [all …]
|
D | vport.c | 305 struct nlattr *nla; in ovs_vport_get_options() local 311 nla = nla_nest_start_noflag(skb, OVS_VPORT_ATTR_OPTIONS); in ovs_vport_get_options() 312 if (!nla) in ovs_vport_get_options() 317 nla_nest_cancel(skb, nla); in ovs_vport_get_options() 321 nla_nest_end(skb, nla); in ovs_vport_get_options()
|
/net/mpls/ |
D | af_mpls.c | 719 static int nla_get_via(const struct nlattr *nla, u8 *via_alen, u8 *via_table, in nla_get_via() argument 722 struct rtvia *via = nla_data(nla); in nla_get_via() 726 if (nla_len(nla) < offsetof(struct rtvia, rtvia_addr)) { in nla_get_via() 727 NL_SET_ERR_MSG_ATTR(extack, nla, in nla_get_via() 731 alen = nla_len(nla) - in nla_get_via() 734 NL_SET_ERR_MSG_ATTR(extack, nla, in nla_get_via() 846 struct nlattr *nla, *attrs = rtnh_attrs(rtnh); in mpls_count_nexthops() local 851 nla = nla_find(attrs, attrlen, RTA_VIA); in mpls_count_nexthops() 852 if (nla && nla_len(nla) >= in mpls_count_nexthops() 854 int via_alen = nla_len(nla) - in mpls_count_nexthops() [all …]
|
/net/psample/ |
D | psample.c | 291 struct nlattr *nla; in psample_ip_tun_to_nlattr() local 294 nla = nla_nest_start_noflag(skb, PSAMPLE_ATTR_TUNNEL); in psample_ip_tun_to_nlattr() 295 if (!nla) in psample_ip_tun_to_nlattr() 300 nla_nest_cancel(skb, nla); in psample_ip_tun_to_nlattr() 304 nla_nest_end(skb, nla); in psample_ip_tun_to_nlattr() 468 struct nlattr *nla; in psample_sample_packet() local 470 nla = skb_put(nl_skb, nla_len); in psample_sample_packet() 471 nla->nla_type = PSAMPLE_ATTR_DATA; in psample_sample_packet() 472 nla->nla_len = nla_attr_size(data_len); in psample_sample_packet() 474 if (skb_copy_bits(skb, 0, nla_data(nla), data_len)) in psample_sample_packet()
|
/net/ipv6/ |
D | ioam6_iptunnel.c | 58 struct nlattr *nla; in nla_put_ioam6_trace() local 63 nla = nla_reserve(skb, attrtype, len); in nla_put_ioam6_trace() 64 if (!nla) in nla_put_ioam6_trace() 67 data = nla_data(nla); in nla_put_ioam6_trace() 96 static int ioam6_build_state(struct net *net, struct nlattr *nla, in ioam6_build_state() argument 111 err = nla_parse_nested(tb, IOAM6_IPTUNNEL_MAX, nla, in ioam6_build_state()
|
D | rpl_iptunnel.c | 67 static int rpl_build_state(struct net *net, struct nlattr *nla, in rpl_build_state() argument 81 err = nla_parse_nested(tb, RPL_IPTUNNEL_MAX, nla, in rpl_build_state() 301 struct nlattr *nla; in nla_put_rpl_srh() local 306 nla = nla_reserve(skb, attrtype, len); in nla_put_rpl_srh() 307 if (!nla) in nla_put_rpl_srh() 310 data = nla_data(nla); in nla_put_rpl_srh()
|
D | seg6_local.c | 1162 struct nlattr *nla; in put_nla_srh() local 1168 nla = nla_reserve(skb, SEG6_LOCAL_SRH, len); in put_nla_srh() 1169 if (!nla) in put_nla_srh() 1172 memcpy(nla_data(nla), srh, len); in put_nla_srh() 1272 struct nlattr *nla; in put_nla_nh4() local 1274 nla = nla_reserve(skb, SEG6_LOCAL_NH4, sizeof(struct in_addr)); in put_nla_nh4() 1275 if (!nla) in put_nla_nh4() 1278 memcpy(nla_data(nla), &slwt->nh4, sizeof(struct in_addr)); in put_nla_nh4() 1298 struct nlattr *nla; in put_nla_nh6() local 1300 nla = nla_reserve(skb, SEG6_LOCAL_NH6, sizeof(struct in6_addr)); in put_nla_nh6() [all …]
|
D | seg6_iptunnel.c | 72 struct nlattr *nla; in nla_put_srh() local 77 nla = nla_reserve(skb, attrtype, len); in nla_put_srh() 78 if (!nla) in nla_put_srh() 81 data = nla_data(nla); in nla_put_srh() 475 static int seg6_build_state(struct net *net, struct nlattr *nla, in seg6_build_state() argument 490 err = nla_parse_nested_deprecated(tb, SEG6_IPTUNNEL_MAX, nla, in seg6_build_state()
|