arch/arm64/kvm/emulate-nested.c
2459
const struct trap_bits *tb)
arch/arm64/kvm/emulate-nested.c
2464
val = __vcpu_sys_reg(vcpu, tb->index);
arch/arm64/kvm/emulate-nested.c
2465
if ((val & tb->mask) == tb->value)
arch/arm64/kvm/emulate-nested.c
2466
b |= tb->behaviour;
arch/m68k/coldfire/intc-2.c
148
u16 pa, tb;
arch/m68k/coldfire/intc-2.c
152
tb = 0x1;
arch/m68k/coldfire/intc-2.c
155
tb = 0x2;
arch/m68k/coldfire/intc-2.c
158
tb = 0x3;
arch/m68k/coldfire/intc-2.c
162
tb = 0;
arch/m68k/coldfire/intc-2.c
166
if (tb)
arch/m68k/coldfire/intc-2.c
171
pa = (pa & ~(0x3 << (irq * 2))) | (tb << (irq * 2));
arch/m68k/coldfire/intc-simr.c
132
u16 pa, tb;
arch/m68k/coldfire/intc-simr.c
136
tb = 0x1;
arch/m68k/coldfire/intc-simr.c
139
tb = 0x2;
arch/m68k/coldfire/intc-simr.c
142
tb = 0x3;
arch/m68k/coldfire/intc-simr.c
146
tb = 0;
arch/m68k/coldfire/intc-simr.c
150
if (tb)
arch/m68k/coldfire/intc-simr.c
155
pa = (pa & ~(0x3 << ebit)) | (tb << ebit);
arch/powerpc/boot/4xx.c
322
u32 cpu, plb, opb, ebc, tb, uart0, uart1, m;
arch/powerpc/boot/4xx.c
346
tb = sys_clk;
arch/powerpc/boot/4xx.c
349
tb = cpu;
arch/powerpc/boot/4xx.c
368
dt_fixup_cpu_clocks(cpu, tb, 0);
arch/powerpc/boot/4xx.c
409
u32 ccr1, tb = tmr_clk;
arch/powerpc/boot/4xx.c
452
if (tb == 0) {
arch/powerpc/boot/4xx.c
457
tb = cpu;
arch/powerpc/boot/4xx.c
459
dt_fixup_cpu_clocks(cpu, tb, 0);
arch/powerpc/boot/devtree.c
63
void dt_fixup_cpu_clocks(u32 cpu, u32 tb, u32 bus)
arch/powerpc/boot/devtree.c
68
printf("CPU timebase-frequency <- 0x%x (%dMHz)\n\r", tb, MHZ(tb));
arch/powerpc/boot/devtree.c
74
setprop_val(devp, "timebase-frequency", cpu_to_be32(tb));
arch/powerpc/boot/devtree.c
79
timebase_period_ns = 1000000000 / tb;
arch/powerpc/include/asm/cputime.h
47
unsigned long tb = mftb();
arch/powerpc/include/asm/cputime.h
50
acct->utime += (tb - acct->starttime_user);
arch/powerpc/include/asm/cputime.h
51
acct->starttime = tb;
arch/powerpc/include/asm/cputime.h
56
unsigned long tb = mftb();
arch/powerpc/include/asm/cputime.h
59
acct->stime += (tb - acct->starttime);
arch/powerpc/include/asm/cputime.h
60
acct->starttime_user = tb;
arch/powerpc/include/asm/kvm_book3s_64.h
145
int kvmhv_vcpu_entry_p9(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr, u64 *tb);
arch/powerpc/include/asm/kvm_host.h
418
bool tb : 1; /* 1TB segment */
arch/powerpc/include/asm/kvm_ppc.h
99
extern u32 kvmppc_get_dec(struct kvm_vcpu *vcpu, u64 tb);
arch/powerpc/include/uapi/asm/kvm.h
222
__u64 tb;
arch/powerpc/kernel/smp-tbsync.c
25
volatile u64 tb;
arch/powerpc/kernel/smp-tbsync.c
48
u64 tb;
arch/powerpc/kernel/smp-tbsync.c
63
tb = tbsync->tb;
arch/powerpc/kernel/smp-tbsync.c
72
set_tb(tb >> 32, tb & 0xfffffffful);
arch/powerpc/kernel/smp-tbsync.c
81
u64 tb;
arch/powerpc/kernel/smp-tbsync.c
88
tb = get_tb() + 400;
arch/powerpc/kernel/smp-tbsync.c
89
tbsync->tb = tb + offset;
arch/powerpc/kernel/smp-tbsync.c
90
tbsync->mark = mark = tb + 400;
arch/powerpc/kernel/smp-tbsync.c
98
while (get_tb() <= tb)
arch/powerpc/kernel/time.c
157
static inline unsigned long read_spurr(unsigned long tb)
arch/powerpc/kernel/time.c
163
return tb;
arch/powerpc/kernel/watchdog.c
150
u64 tb = get_tb();
arch/powerpc/kernel/watchdog.c
154
cpu, tb, per_cpu(wd_timer_tb, cpu),
arch/powerpc/kernel/watchdog.c
155
tb_to_ns(tb - per_cpu(wd_timer_tb, cpu)) / 1000000);
arch/powerpc/kernel/watchdog.c
205
u64 tb, last_reset;
arch/powerpc/kernel/watchdog.c
210
tb = get_tb();
arch/powerpc/kernel/watchdog.c
212
if ((s64)(tb - last_reset) < (s64)wd_smp_panic_timeout_tb)
arch/powerpc/kernel/watchdog.c
237
cpu, tb, last_reset, tb_to_ns(tb - last_reset) / 1000000);
arch/powerpc/kernel/watchdog.c
351
u64 tb = get_tb();
arch/powerpc/kernel/watchdog.c
353
per_cpu(wd_timer_tb, cpu) = tb;
arch/powerpc/kernel/watchdog.c
357
if ((s64)(tb - wd_smp_last_reset_tb) >= (s64)wd_smp_panic_timeout_tb)
arch/powerpc/kernel/watchdog.c
376
u64 tb;
arch/powerpc/kernel/watchdog.c
386
tb = get_tb();
arch/powerpc/kernel/watchdog.c
387
if (tb - per_cpu(wd_timer_tb, cpu) >= wd_panic_timeout_tb) {
arch/powerpc/kernel/watchdog.c
413
cpu, tb, per_cpu(wd_timer_tb, cpu),
arch/powerpc/kernel/watchdog.c
414
tb_to_ns(tb - per_cpu(wd_timer_tb, cpu)) / 1000000);
arch/powerpc/kernel/watchdog.c
463
u64 tb;
arch/powerpc/kernel/watchdog.c
468
tb = get_tb();
arch/powerpc/kernel/watchdog.c
469
if (tb - per_cpu(wd_timer_tb, cpu) >= ticks) {
arch/powerpc/kernel/watchdog.c
470
per_cpu(wd_timer_tb, cpu) = tb;
arch/powerpc/kvm/book3s_64_mmu.c
129
ssize = slbe->tb ? MMU_SEGSIZE_1T : MMU_SEGSIZE_256M;
arch/powerpc/kvm/book3s_64_mmu.c
233
if (slbe->tb)
arch/powerpc/kvm/book3s_64_mmu.c
381
slbe->tb = (rs & SLB_VSID_B_1T) ? 1 : 0;
arch/powerpc/kvm/book3s_64_mmu.c
382
slbe->esid = slbe->tb ? esid_1t : esid;
arch/powerpc/kvm/book3s_64_mmu.c
41
if (vcpu->arch.slb[i].tb)
arch/powerpc/kvm/book3s_64_mmu.c
55
vcpu->arch.slb[i].tb ? 't' : ' ',
arch/powerpc/kvm/book3s_64_mmu.c
587
if (slb->tb) {
arch/powerpc/kvm/book3s_64_mmu.c
65
return slbe->tb ? SID_SHIFT_1T : SID_SHIFT;
arch/powerpc/kvm/book3s_hv.c
2870
struct kvmhv_tb_accumulator tb;
arch/powerpc/kvm/book3s_hv.c
2890
tb = *acc;
arch/powerpc/kvm/book3s_hv.c
2906
tb_to_ns(tb.tb_total),
arch/powerpc/kvm/book3s_hv.c
2907
tb_to_ns(tb.tb_min),
arch/powerpc/kvm/book3s_hv.c
2908
tb_to_ns(tb.tb_max));
arch/powerpc/kvm/book3s_hv.c
292
static void kvmppc_core_start_stolen(struct kvmppc_vcore *vc, u64 tb)
arch/powerpc/kvm/book3s_hv.c
299
vc->preempt_tb = tb;
arch/powerpc/kvm/book3s_hv.c
303
static void kvmppc_core_end_stolen(struct kvmppc_vcore *vc, u64 tb)
arch/powerpc/kvm/book3s_hv.c
311
vc->stolen_tb += tb - vc->preempt_tb;
arch/powerpc/kvm/book3s_hv.c
3175
struct kvm_vcpu *vcpu, u64 tb)
arch/powerpc/kvm/book3s_hv.c
3182
now = tb;
arch/powerpc/kvm/book3s_hv.c
4249
unsigned long lpcr, u64 *tb)
arch/powerpc/kvm/book3s_hv.c
4290
*tb = mftb();
arch/powerpc/kvm/book3s_hv.c
4299
timer_rearm_host_dec(*tb);
arch/powerpc/kvm/book3s_hv.c
4309
static int kvmhv_vcpu_entry_p9_nested(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr, u64 *tb)
arch/powerpc/kvm/book3s_hv.c
4377
mtspr(SPRN_DEC, kvmppc_dec_expires_host_tb(vcpu) - *tb);
arch/powerpc/kvm/book3s_hv.c
4398
*tb = mftb();
arch/powerpc/kvm/book3s_hv.c
4399
vcpu->arch.dec_expires = dec + (*tb + kvmppc_get_tb_offset(vcpu));
arch/powerpc/kvm/book3s_hv.c
4401
timer_rearm_host_dec(*tb);
arch/powerpc/kvm/book3s_hv.c
4414
unsigned long lpcr, u64 *tb)
arch/powerpc/kvm/book3s_hv.c
4422
if (*tb >= next_timer)
arch/powerpc/kvm/book3s_hv.c
4426
else if (*tb >= time_limit) /* nested time limit */
arch/powerpc/kvm/book3s_hv.c
4435
trap = kvmhv_vcpu_entry_p9_nested(vcpu, time_limit, lpcr, tb);
arch/powerpc/kvm/book3s_hv.c
4437
trap = kvmhv_vcpu_entry_nestedv2(vcpu, time_limit, lpcr, tb);
arch/powerpc/kvm/book3s_hv.c
4449
trap = kvmhv_vcpu_entry_p9(vcpu, time_limit, lpcr, tb);
arch/powerpc/kvm/book3s_hv.c
4456
trap = kvmhv_vcpu_entry_p9(vcpu, time_limit, lpcr, tb);
arch/powerpc/kvm/book3s_hv.c
4878
u64 tb;
arch/powerpc/kvm/book3s_hv.c
4976
tb = mftb();
arch/powerpc/kvm/book3s_hv.c
4978
kvmppc_update_vpa_dispatch_p9(vcpu, vc, tb + kvmppc_get_tb_offset(vcpu));
arch/powerpc/kvm/book3s_hv.c
4989
trap = kvmhv_p9_guest_entry(vcpu, time_limit, lpcr, &tb);
arch/powerpc/kvm/book3s_hv.c
5027
((tb < kvmppc_dec_expires_host_tb(vcpu)) ||
arch/powerpc/kvm/book3s_hv_p9_entry.c
224
u64 tb = mftb() - vc->tb_offset_applied;
arch/powerpc/kvm/book3s_hv_p9_entry.c
232
vcpu->arch.cur_tb_start = tb;
arch/powerpc/kvm/book3s_hv_p9_entry.c
237
delta = tb - prev_tb;
arch/powerpc/kvm/book3s_hv_p9_entry.c
532
int kvmhv_vcpu_entry_p9(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr, u64 *tb)
arch/powerpc/kvm/book3s_hv_p9_entry.c
554
hdec = time_limit - *tb;
arch/powerpc/kvm/book3s_hv_p9_entry.c
597
u64 new_tb = *tb + vc->tb_offset;
arch/powerpc/kvm/book3s_hv_p9_entry.c
603
*tb = new_tb;
arch/powerpc/kvm/book3s_hv_p9_entry.c
711
mtspr(SPRN_DEC, vcpu->arch.dec_expires - *tb);
arch/powerpc/kvm/book3s_hv_p9_entry.c
848
*tb = mftb();
arch/powerpc/kvm/book3s_hv_p9_entry.c
849
vcpu->arch.dec_expires = dec + *tb;
arch/powerpc/kvm/book3s_hv_p9_entry.c
852
u64 new_tb = *tb - vc->tb_offset_applied;
arch/powerpc/kvm/book3s_hv_p9_entry.c
858
*tb = new_tb;
arch/powerpc/kvm/book3s_hv_p9_entry.c
912
timer_rearm_host_dec(*tb);
arch/powerpc/kvm/booke.c
1512
u64 tb = get_tb();
arch/powerpc/kvm/booke.c
1523
sregs->u.e.dec = kvmppc_get_dec(vcpu, tb);
arch/powerpc/kvm/booke.c
1524
sregs->u.e.tb = tb;
arch/powerpc/kvm/booke.c
580
u64 tb, wdt_tb, wdt_ticks = 0;
arch/powerpc/kvm/booke.c
585
tb = get_tb();
arch/powerpc/kvm/booke.c
590
if (tb & wdt_tb)
arch/powerpc/kvm/booke.c
593
wdt_ticks += wdt_tb - (tb & (wdt_tb - 1));
arch/powerpc/kvm/emulate.c
63
u32 kvmppc_get_dec(struct kvm_vcpu *vcpu, u64 tb)
arch/powerpc/kvm/emulate.c
65
u64 jd = tb - vcpu->arch.dec_jiffies;
arch/sparc/include/asm/tlbflush_64.h
19
void flush_tsb_user(struct tlb_batch *tb);
arch/sparc/kernel/irq_64.c
1000
struct trap_per_cpu *tb = &trap_block[this_cpu];
arch/sparc/kernel/irq_64.c
1002
register_one_mondo(tb->cpu_mondo_pa, HV_CPU_QUEUE_CPU_MONDO,
arch/sparc/kernel/irq_64.c
1003
tb->cpu_mondo_qmask);
arch/sparc/kernel/irq_64.c
1004
register_one_mondo(tb->dev_mondo_pa, HV_CPU_QUEUE_DEVICE_MONDO,
arch/sparc/kernel/irq_64.c
1005
tb->dev_mondo_qmask);
arch/sparc/kernel/irq_64.c
1006
register_one_mondo(tb->resum_mondo_pa, HV_CPU_QUEUE_RES_ERROR,
arch/sparc/kernel/irq_64.c
1007
tb->resum_qmask);
arch/sparc/kernel/irq_64.c
1008
register_one_mondo(tb->nonresum_mondo_pa, HV_CPU_QUEUE_NONRES_ERROR,
arch/sparc/kernel/irq_64.c
1009
tb->nonresum_qmask);
arch/sparc/kernel/irq_64.c
1031
static void __init init_cpu_send_mondo_info(struct trap_per_cpu *tb)
arch/sparc/kernel/irq_64.c
1046
tb->cpu_mondo_block_pa = __pa(mondo);
arch/sparc/kernel/irq_64.c
1054
tb->cpu_list_pa = __pa(page);
arch/sparc/kernel/irq_64.c
1064
struct trap_per_cpu *tb = &trap_block[cpu];
arch/sparc/kernel/irq_64.c
1066
alloc_one_queue(&tb->cpu_mondo_pa, tb->cpu_mondo_qmask);
arch/sparc/kernel/irq_64.c
1067
alloc_one_queue(&tb->dev_mondo_pa, tb->dev_mondo_qmask);
arch/sparc/kernel/irq_64.c
1068
alloc_one_queue(&tb->resum_mondo_pa, tb->resum_qmask);
arch/sparc/kernel/irq_64.c
1069
alloc_one_queue(&tb->resum_kernel_buf_pa, tb->resum_qmask);
arch/sparc/kernel/irq_64.c
1070
alloc_one_queue(&tb->nonresum_mondo_pa, tb->nonresum_qmask);
arch/sparc/kernel/irq_64.c
1071
alloc_one_queue(&tb->nonresum_kernel_buf_pa,
arch/sparc/kernel/irq_64.c
1072
tb->nonresum_qmask);
arch/sparc/kernel/irq_64.c
1081
struct trap_per_cpu *tb = &trap_block[cpu];
arch/sparc/kernel/irq_64.c
1083
init_cpu_send_mondo_info(tb);
arch/sparc/kernel/mdesc.c
1079
struct trap_per_cpu *tb)
arch/sparc/kernel/mdesc.c
1085
get_one_mondo_bits(val, &tb->cpu_mondo_qmask, 7, ilog2(max_cpus * 2));
arch/sparc/kernel/mdesc.c
1088
get_one_mondo_bits(val, &tb->dev_mondo_qmask, 7, 8);
arch/sparc/kernel/mdesc.c
1091
get_one_mondo_bits(val, &tb->resum_qmask, 6, 7);
arch/sparc/kernel/mdesc.c
1094
get_one_mondo_bits(val, &tb->nonresum_qmask, 2, 2);
arch/sparc/kernel/mdesc.c
1098
tb->cpu_mondo_qmask + 1,
arch/sparc/kernel/mdesc.c
1099
tb->dev_mondo_qmask + 1,
arch/sparc/kernel/mdesc.c
1100
tb->resum_qmask + 1,
arch/sparc/kernel/mdesc.c
1101
tb->nonresum_qmask + 1);
arch/sparc/kernel/mdesc.c
1182
struct trap_per_cpu *tb;
arch/sparc/kernel/mdesc.c
1199
tb = &trap_block[cpuid];
arch/sparc/kernel/mdesc.c
1200
get_mondo_data(hp, mp, tb);
arch/sparc/kernel/smp_64.c
1296
struct trap_per_cpu *tb = &trap_block[cpu];
arch/sparc/kernel/smp_64.c
1299
tb->cpu_mondo_pa, 0);
arch/sparc/kernel/smp_64.c
1301
tb->dev_mondo_pa, 0);
arch/sparc/kernel/smp_64.c
1303
tb->resum_mondo_pa, 0);
arch/sparc/kernel/smp_64.c
1305
tb->nonresum_mondo_pa, 0);
arch/sparc/kernel/smp_64.c
295
struct trap_per_cpu *tb;
arch/sparc/kernel/smp_64.c
311
tb = &trap_block[cpu];
arch/sparc/kernel/smp_64.c
313
hdesc->fault_info_va = (unsigned long) &tb->fault_info;
arch/sparc/kernel/smp_64.c
314
hdesc->fault_info_pa = kimage_addr_to_ra(&tb->fault_info);
arch/sparc/kernel/smp_64.c
459
static void spitfire_xcall_deliver(struct trap_per_cpu *tb, int cnt)
arch/sparc/kernel/smp_64.c
467
cpu_list = __va(tb->cpu_list_pa);
arch/sparc/kernel/smp_64.c
468
mondo = __va(tb->cpu_mondo_block_pa);
arch/sparc/kernel/smp_64.c
480
static void cheetah_xcall_deliver(struct trap_per_cpu *tb, int cnt)
arch/sparc/kernel/smp_64.c
486
cpu_list = __va(tb->cpu_list_pa);
arch/sparc/kernel/smp_64.c
487
mondo = __va(tb->cpu_mondo_block_pa);
arch/sparc/kernel/smp_64.c
642
static void hypervisor_xcall_deliver(struct trap_per_cpu *tb, int cnt)
arch/sparc/kernel/smp_64.c
655
cpu_list = __va(tb->cpu_list_pa);
arch/sparc/kernel/smp_64.c
667
tb->cpu_list_pa,
arch/sparc/kernel/smp_64.c
668
tb->cpu_mondo_block_pa);
arch/sparc/kernel/smp_64.c
771
this_cpu, tot_cpus, tb->cpu_list_pa, tb->cpu_mondo_block_pa);
arch/sparc/kernel/smp_64.c
785
struct trap_per_cpu *tb;
arch/sparc/kernel/smp_64.c
804
tb = &trap_block[this_cpu];
arch/sparc/kernel/smp_64.c
806
mondo = __va(tb->cpu_mondo_block_pa);
arch/sparc/kernel/smp_64.c
812
cpu_list = __va(tb->cpu_list_pa);
arch/sparc/kernel/smp_64.c
823
xcall_deliver_impl(tb, cnt);
arch/sparc/kernel/traps_64.c
2082
struct trap_per_cpu *tb;
arch/sparc/kernel/traps_64.c
2088
tb = &trap_block[cpu];
arch/sparc/kernel/traps_64.c
2089
paddr = tb->resum_kernel_buf_pa + offset;
arch/sparc/kernel/traps_64.c
2200
struct trap_per_cpu *tb;
arch/sparc/kernel/traps_64.c
2206
tb = &trap_block[cpu];
arch/sparc/kernel/traps_64.c
2207
paddr = tb->nonresum_kernel_buf_pa + offset;
arch/sparc/mm/tlb.c
102
tb->mm = mm;
arch/sparc/mm/tlb.c
103
tb->hugepage_shift = hugepage_shift;
arch/sparc/mm/tlb.c
106
if (tb->hugepage_shift != hugepage_shift) {
arch/sparc/mm/tlb.c
108
tb->hugepage_shift = hugepage_shift;
arch/sparc/mm/tlb.c
112
tb->vaddrs[nr] = vaddr;
arch/sparc/mm/tlb.c
113
tb->tlb_nr = ++nr;
arch/sparc/mm/tlb.c
27
struct tlb_batch *tb = &get_cpu_var(tlb_batch);
arch/sparc/mm/tlb.c
28
struct mm_struct *mm = tb->mm;
arch/sparc/mm/tlb.c
30
if (!tb->tlb_nr)
arch/sparc/mm/tlb.c
33
flush_tsb_user(tb);
arch/sparc/mm/tlb.c
36
if (tb->tlb_nr == 1) {
arch/sparc/mm/tlb.c
37
global_flush_tlb_page(mm, tb->vaddrs[0]);
arch/sparc/mm/tlb.c
40
smp_flush_tlb_pending(tb->mm, tb->tlb_nr,
arch/sparc/mm/tlb.c
41
&tb->vaddrs[0]);
arch/sparc/mm/tlb.c
43
__flush_tlb_pending(CTX_HWBITS(tb->mm->context),
arch/sparc/mm/tlb.c
44
tb->tlb_nr, &tb->vaddrs[0]);
arch/sparc/mm/tlb.c
49
tb->tlb_nr = 0;
arch/sparc/mm/tlb.c
64
struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
arch/sparc/mm/tlb.c
66
if (tb->tlb_nr)
arch/sparc/mm/tlb.c
81
struct tlb_batch *tb = &get_cpu_var(tlb_batch);
arch/sparc/mm/tlb.c
88
nr = tb->tlb_nr;
arch/sparc/mm/tlb.c
90
if (unlikely(nr != 0 && mm != tb->mm)) {
arch/sparc/mm/tsb.c
107
static void __flush_huge_tsb_one(struct tlb_batch *tb, unsigned long hash_shift,
arch/sparc/mm/tsb.c
113
for (i = 0; i < tb->tlb_nr; i++)
arch/sparc/mm/tsb.c
114
__flush_huge_tsb_one_entry(tsb, tb->vaddrs[i], hash_shift,
arch/sparc/mm/tsb.c
119
void flush_tsb_user(struct tlb_batch *tb)
arch/sparc/mm/tsb.c
121
struct mm_struct *mm = tb->mm;
arch/sparc/mm/tsb.c
126
if (tb->hugepage_shift < REAL_HPAGE_SHIFT) {
arch/sparc/mm/tsb.c
131
if (tb->hugepage_shift == PAGE_SHIFT)
arch/sparc/mm/tsb.c
132
__flush_tsb_one(tb, PAGE_SHIFT, base, nentries);
arch/sparc/mm/tsb.c
135
__flush_huge_tsb_one(tb, PAGE_SHIFT, base, nentries,
arch/sparc/mm/tsb.c
136
tb->hugepage_shift);
arch/sparc/mm/tsb.c
145
__flush_huge_tsb_one(tb, REAL_HPAGE_SHIFT, base, nentries,
arch/sparc/mm/tsb.c
146
tb->hugepage_shift);
arch/sparc/mm/tsb.c
83
static void __flush_tsb_one(struct tlb_batch *tb, unsigned long hash_shift,
arch/sparc/mm/tsb.c
88
for (i = 0; i < tb->tlb_nr; i++)
arch/sparc/mm/tsb.c
89
__flush_tsb_one_entry(tsb, tb->vaddrs[i], hash_shift, nentries);
arch/x86/kernel/cpu/mce/amd.c
1081
static int allocate_threshold_blocks(unsigned int cpu, struct threshold_bank *tb,
arch/x86/kernel/cpu/mce/amd.c
1125
list_add(&b->miscj, &tb->miscj);
arch/x86/kernel/cpu/mce/amd.c
1129
err = kobject_init_and_add(&b->kobj, &threshold_ktype, tb->kobj, get_name(cpu, bank, b));
arch/x86/kernel/cpu/mce/amd.c
1137
err = allocate_threshold_blocks(cpu, tb, bank, block, address);
block/partitions/ldm.c
355
struct tocblock *tb[4];
block/partitions/ldm.c
364
tb[0] = &ldb->toc;
block/partitions/ldm.c
365
tb[1] = kmalloc_objs(*tb[1], 3);
block/partitions/ldm.c
366
if (!tb[1]) {
block/partitions/ldm.c
370
tb[2] = (struct tocblock*)((u8*)tb[1] + sizeof(*tb[1]));
block/partitions/ldm.c
371
tb[3] = (struct tocblock*)((u8*)tb[2] + sizeof(*tb[2]));
block/partitions/ldm.c
384
if (ldm_parse_tocblock(data, tb[nr_tbs]))
block/partitions/ldm.c
393
if (((tb[0]->bitmap1_start + tb[0]->bitmap1_size) > ph->config_size) ||
block/partitions/ldm.c
394
((tb[0]->bitmap2_start + tb[0]->bitmap2_size) >
block/partitions/ldm.c
401
if (!ldm_compare_tocblocks(tb[0], tb[i])) {
block/partitions/ldm.c
409
kfree(tb[1]);
crypto/adiantum.c
571
static int adiantum_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/adiantum.c
580
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_SKCIPHER, &mask);
crypto/adiantum.c
592
crypto_attr_alg_name(tb[1]), 0,
crypto/adiantum.c
601
crypto_attr_alg_name(tb[2]), 0, mask);
crypto/adiantum.c
611
if (crypto_attr_alg_name(tb[3]) != ERR_PTR(-ENOENT)) {
crypto/algapi.c
856
struct crypto_attr_type *crypto_get_attr_type(struct rtattr **tb)
crypto/algapi.c
858
struct rtattr *rta = tb[0];
crypto/algapi.c
890
int crypto_check_attr_type(struct rtattr **tb, u32 type, u32 *mask_ret)
crypto/algapi.c
894
algt = crypto_get_attr_type(tb);
crypto/algboss.c
130
param->tb[i + 1] = ¶m->attrs[i].attr;
crypto/algboss.c
143
param->tb[i + 1] = NULL;
crypto/algboss.c
149
param->tb[0] = ¶m->type.attr;
crypto/algboss.c
24
struct rtattr *tb[CRYPTO_MAX_ATTRS + 2];
crypto/algboss.c
61
err = tmpl->create(tmpl, param->tb);
crypto/authenc.c
360
struct rtattr **tb)
crypto/authenc.c
370
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_AEAD, &mask);
crypto/authenc.c
380
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/authenc.c
387
crypto_attr_alg_name(tb[2]), 0, mask);
crypto/authencesn.c
366
struct rtattr **tb)
crypto/authencesn.c
376
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_AEAD, &mask);
crypto/authencesn.c
386
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/authencesn.c
398
crypto_attr_alg_name(tb[2]), 0, mask);
crypto/cbc.c
138
static int crypto_cbc_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/cbc.c
143
inst = lskcipher_alloc_instance_simple(tmpl, tb);
crypto/ccm.c
443
struct rtattr **tb,
crypto/ccm.c
454
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_AEAD, &mask);
crypto/ccm.c
525
static int crypto_ccm_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/ccm.c
531
cipher_name = crypto_attr_alg_name(tb[1]);
crypto/ccm.c
543
return crypto_ccm_create_common(tmpl, tb, ctr_name, mac_name);
crypto/ccm.c
547
struct rtattr **tb)
crypto/ccm.c
552
ctr_name = crypto_attr_alg_name(tb[1]);
crypto/ccm.c
556
mac_name = crypto_attr_alg_name(tb[2]);
crypto/ccm.c
560
return crypto_ccm_create_common(tmpl, tb, ctr_name, mac_name);
crypto/ccm.c
701
struct rtattr **tb)
crypto/ccm.c
709
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_AEAD, &mask);
crypto/ccm.c
719
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/ccm.c
847
static int cbcmac_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/ccm.c
855
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_SHASH, &mask);
crypto/ccm.c
865
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/chacha20poly1305.c
371
static int chachapoly_create(struct crypto_template *tmpl, struct rtattr **tb,
crypto/chacha20poly1305.c
384
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_AEAD, &mask);
crypto/chacha20poly1305.c
395
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/chacha20poly1305.c
400
poly_name = crypto_attr_alg_name(tb[2]);
crypto/chacha20poly1305.c
452
static int rfc7539_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/chacha20poly1305.c
454
return chachapoly_create(tmpl, tb, "rfc7539", 12);
crypto/chacha20poly1305.c
457
static int rfc7539esp_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/chacha20poly1305.c
459
return chachapoly_create(tmpl, tb, "rfc7539esp", 8);
crypto/cmac.c
160
static int cmac_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/cmac.c
168
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_SHASH, &mask);
crypto/cmac.c
178
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/cryptd.c
380
struct rtattr **tb,
crypto/cryptd.c
401
crypto_attr_alg_name(tb[1]), type, mask);
crypto/cryptd.c
650
static int cryptd_create_hash(struct crypto_template *tmpl, struct rtattr **tb,
crypto/cryptd.c
671
crypto_attr_alg_name(tb[1]), type, mask);
crypto/cryptd.c
858
struct rtattr **tb,
crypto/cryptd.c
879
crypto_attr_alg_name(tb[1]), type, mask);
crypto/cryptd.c
914
static int cryptd_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/cryptd.c
918
algt = crypto_get_attr_type(tb);
crypto/cryptd.c
924
return cryptd_create_skcipher(tmpl, tb, algt, &queue);
crypto/cryptd.c
926
return cryptd_create_hash(tmpl, tb, algt, &queue);
crypto/cryptd.c
928
return cryptd_create_aead(tmpl, tb, algt, &queue);
crypto/ctr.c
127
static int crypto_ctr_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/ctr.c
133
inst = skcipher_alloc_instance_simple(tmpl, tb);
crypto/ctr.c
258
struct rtattr **tb)
crypto/ctr.c
266
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_SKCIPHER, &mask);
crypto/ctr.c
277
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/cts.c
324
static int crypto_cts_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/cts.c
332
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_SKCIPHER, &mask);
crypto/cts.c
343
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/dh.c
546
struct crypto_template *tmpl, struct rtattr **tb,
crypto/dh.c
556
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_KPP, &mask);
crypto/dh.c
560
dh_name = crypto_attr_alg_name(tb[1]);
crypto/dh.c
828
struct rtattr **tb)
crypto/dh.c
830
return __dh_safe_prime_create(tmpl, tb, &ffdhe2048_prime);
crypto/dh.c
834
struct rtattr **tb)
crypto/dh.c
836
return __dh_safe_prime_create(tmpl, tb, &ffdhe3072_prime);
crypto/dh.c
840
struct rtattr **tb)
crypto/dh.c
842
return __dh_safe_prime_create(tmpl, tb, &ffdhe4096_prime);
crypto/dh.c
846
struct rtattr **tb)
crypto/dh.c
848
return __dh_safe_prime_create(tmpl, tb, &ffdhe6144_prime);
crypto/dh.c
852
struct rtattr **tb)
crypto/dh.c
854
return __dh_safe_prime_create(tmpl, tb, &ffdhe8192_prime);
crypto/ecb.c
106
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_LSKCIPHER, &mask);
crypto/ecb.c
116
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/ecb.c
149
static int crypto_ecb_create2(struct crypto_template *tmpl, struct rtattr **tb)
crypto/ecb.c
154
inst = lskcipher_alloc_instance_simple2(tmpl, tb);
crypto/ecb.c
171
static int crypto_ecb_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/ecb.c
178
inst = lskcipher_alloc_instance_simple(tmpl, tb);
crypto/ecb.c
180
err = crypto_ecb_create2(tmpl, tb);
crypto/ecb.c
98
struct crypto_template *tmpl, struct rtattr **tb)
crypto/ecdsa-p1363.c
107
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_SIG, &mask);
crypto/ecdsa-p1363.c
118
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/ecdsa-p1363.c
99
static int ecdsa_p1363_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/ecdsa-x962.c
176
static int ecdsa_x962_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/ecdsa-x962.c
184
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_SIG, &mask);
crypto/ecdsa-x962.c
195
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/echainiv.c
101
struct rtattr **tb)
crypto/echainiv.c
106
inst = aead_geniv_alloc(tmpl, tb);
crypto/essiv.c
440
static int essiv_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/essiv.c
459
algt = crypto_get_attr_type(tb);
crypto/essiv.c
463
inner_cipher_name = crypto_attr_alg_name(tb[1]);
crypto/essiv.c
467
shash_name = crypto_attr_alg_name(tb[2]);
crypto/gcm.c
334
struct rtattr **tb, const char *ctr_name)
crypto/gcm.c
342
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_AEAD, &mask);
crypto/gcm.c
397
static int crypto_gcm_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/gcm.c
402
cipher_name = crypto_attr_alg_name(tb[1]);
crypto/gcm.c
410
return crypto_gcm_create_common(tmpl, tb, ctr_name);
crypto/gcm.c
414
struct rtattr **tb)
crypto/gcm.c
419
ctr_name = crypto_attr_alg_name(tb[1]);
crypto/gcm.c
423
ghash_name = crypto_attr_alg_name(tb[2]);
crypto/gcm.c
436
return crypto_gcm_create_common(tmpl, tb, ctr_name);
crypto/gcm.c
576
struct rtattr **tb)
crypto/gcm.c
584
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_AEAD, &mask);
crypto/gcm.c
594
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/gcm.c
762
struct rtattr **tb)
crypto/gcm.c
770
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_AEAD, &mask);
crypto/gcm.c
780
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/geniv.c
41
struct rtattr **tb)
crypto/geniv.c
51
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_AEAD, &mask);
crypto/geniv.c
62
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/hctr2.c
325
static int hctr2_create_common(struct crypto_template *tmpl, struct rtattr **tb,
crypto/hctr2.c
337
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_SKCIPHER, &mask);
crypto/hctr2.c
415
static int hctr2_create_base(struct crypto_template *tmpl, struct rtattr **tb)
crypto/hctr2.c
420
xctr_name = crypto_attr_alg_name(tb[1]);
crypto/hctr2.c
424
polyval_name = crypto_attr_alg_name(tb[2]);
crypto/hctr2.c
431
return hctr2_create_common(tmpl, tb, xctr_name);
crypto/hctr2.c
434
static int hctr2_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/hctr2.c
439
blockcipher_name = crypto_attr_alg_name(tb[1]);
crypto/hctr2.c
447
return hctr2_create_common(tmpl, tb, xctr_name);
crypto/hmac.c
169
struct rtattr **tb, u32 mask)
crypto/hmac.c
186
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/hmac.c
418
static int hmac_create_ahash(struct crypto_template *tmpl, struct rtattr **tb,
crypto/hmac.c
434
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/hmac.c
488
static int hmac_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/hmac.c
493
algt = crypto_get_attr_type(tb);
crypto/hmac.c
501
return hmac_create_ahash(tmpl, tb, mask);
crypto/hmac.c
507
return __hmac_create_shash(tmpl, tb, mask);
crypto/hmac.c
510
static int hmac_create_shash(struct crypto_template *tmpl, struct rtattr **tb)
crypto/hmac.c
515
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_SHASH, &mask);
crypto/hmac.c
519
return __hmac_create_shash(tmpl, tb, mask);
crypto/krb5enc.c
410
static int krb5enc_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/krb5enc.c
420
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_AEAD, &mask);
crypto/krb5enc.c
432
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/krb5enc.c
441
crypto_attr_alg_name(tb[2]), 0, mask);
crypto/lrw.c
299
static int lrw_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/lrw.c
309
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_SKCIPHER, &mask);
crypto/lrw.c
313
cipher_name = crypto_attr_alg_name(tb[1]);
crypto/lskcipher.c
478
struct crypto_template *tmpl, struct rtattr **tb)
crypto/lskcipher.c
488
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_LSKCIPHER, &mask);
crypto/lskcipher.c
492
cipher_name = crypto_attr_alg_name(tb[1]);
crypto/pcrypt.c
244
static int pcrypt_create_aead(struct crypto_template *tmpl, struct rtattr **tb,
crypto/pcrypt.c
269
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/pcrypt.c
303
static int pcrypt_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/pcrypt.c
307
algt = crypto_get_attr_type(tb);
crypto/pcrypt.c
313
return pcrypt_create_aead(tmpl, tb, algt);
crypto/rsa-pkcs1pad.c
310
static int pkcs1pad_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/rsa-pkcs1pad.c
318
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_AKCIPHER, &mask);
crypto/rsa-pkcs1pad.c
329
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/rsassa-pkcs1.c
355
static int rsassa_pkcs1_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/rsassa-pkcs1.c
364
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_SIG, &mask);
crypto/rsassa-pkcs1.c
375
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/rsassa-pkcs1.c
386
hash_name = crypto_attr_alg_name(tb[2]);
crypto/seqiv.c
126
static int seqiv_aead_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/seqiv.c
131
inst = aead_geniv_alloc(tmpl, tb);
crypto/skcipher.c
832
struct crypto_template *tmpl, struct rtattr **tb)
crypto/skcipher.c
840
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_SKCIPHER, &mask);
crypto/skcipher.c
850
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/xcbc.c
127
static int xcbc_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/xcbc.c
135
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_SHASH, &mask);
crypto/xcbc.c
145
crypto_attr_alg_name(tb[1]), 0, mask);
crypto/xctr.c
131
static int crypto_xctr_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/xctr.c
137
inst = skcipher_alloc_instance_simple(tmpl, tb);
crypto/xts.c
340
static int xts_create(struct crypto_template *tmpl, struct rtattr **tb)
crypto/xts.c
350
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_SKCIPHER, &mask);
crypto/xts.c
354
cipher_name = crypto_attr_alg_name(tb[1]);
drivers/accel/habanalabs/common/habanalabs.h
2566
DECLARE_HASHTABLE(tb, SYNC_TO_ENGINE_HASH_TABLE_BITS);
drivers/accel/habanalabs/common/state_dump.c
231
hash_for_each_safe(map->tb, i, tmp_node, entry, node) {
drivers/accel/habanalabs/common/state_dump.c
252
hash_for_each_possible(map->tb, entry, node, sync_id)
drivers/accel/habanalabs/gaudi/gaudi.c
8851
hash_add(map->tb, &entry->node, reg_value);
drivers/acpi/nhlt.c
180
acpi_nhlt_tb_find_fmtcfg(const struct acpi_table_nhlt *tb,
drivers/acpi/nhlt.c
187
for_each_nhlt_endpoint(tb, ep) {
drivers/acpi/nhlt.c
94
acpi_nhlt_tb_find_endpoint(const struct acpi_table_nhlt *tb,
drivers/acpi/nhlt.c
99
for_each_nhlt_endpoint(tb, ep)
drivers/acpi/spcr.c
50
static bool xgene_8250_erratum_present(struct acpi_table_spcr *tb)
drivers/acpi/spcr.c
54
if (tb->interface_type != ACPI_DBG2_16550_COMPATIBLE)
drivers/acpi/spcr.c
57
if (memcmp(tb->header.oem_id, "APMC0D", ACPI_OEM_ID_SIZE) &&
drivers/acpi/spcr.c
58
memcmp(tb->header.oem_id, "HPE ", ACPI_OEM_ID_SIZE))
drivers/acpi/spcr.c
61
if (!memcmp(tb->header.oem_table_id, "XGENESPC",
drivers/acpi/spcr.c
62
ACPI_OEM_TABLE_ID_SIZE) && tb->header.oem_revision == 0)
drivers/acpi/spcr.c
65
if (!memcmp(tb->header.oem_table_id, "ProLiant",
drivers/acpi/spcr.c
66
ACPI_OEM_TABLE_ID_SIZE) && tb->header.oem_revision == 1)
drivers/base/regmap/regmap-spi-avmm.c
249
char *tb, *tb_end, *pb, *pb_limit, *pb_eop = NULL;
drivers/base/regmap/regmap-spi-avmm.c
253
tb = br->trans_buf;
drivers/base/regmap/regmap-spi-avmm.c
254
tb_end = tb + br->trans_len;
drivers/base/regmap/regmap-spi-avmm.c
267
for (; pb < pb_limit && tb < tb_end; pb++) {
drivers/base/regmap/regmap-spi-avmm.c
269
*pb = *tb++ ^ 0x20;
drivers/base/regmap/regmap-spi-avmm.c
275
if (tb == tb_end - 1 && !pb_eop) {
drivers/base/regmap/regmap-spi-avmm.c
285
switch (*tb) {
drivers/base/regmap/regmap-spi-avmm.c
299
*pb = *tb++;
drivers/base/regmap/regmap-spi-avmm.c
305
if (tb < tb_end)
drivers/base/regmap/regmap-spi-avmm.c
364
char *pb, *tb_limit, *tb = NULL;
drivers/base/regmap/regmap-spi-avmm.c
371
while (tb < tb_limit) {
drivers/base/regmap/regmap-spi-avmm.c
383
if (!tb && pb[i] != PKT_SOP)
drivers/base/regmap/regmap-spi-avmm.c
412
tb = br->trans_buf;
drivers/base/regmap/regmap-spi-avmm.c
446
*tb++ = pb[i] ^ 0x20;
drivers/base/regmap/regmap-spi-avmm.c
449
*tb++ = pb[i];
drivers/base/regmap/regmap-spi-avmm.c
458
br->trans_len = tb - br->trans_buf;
drivers/block/drbd/drbd_receiver.c
660
char tb[4];
drivers/block/drbd/drbd_receiver.c
665
rr = drbd_recv_short(*sock, tb, 4, MSG_DONTWAIT | MSG_PEEK);
drivers/dma/sh/rz-dmac.c
440
lmdesc->tb = d->len;
drivers/dma/sh/rz-dmac.c
45
u32 tb;
drivers/dma/sh/rz-dmac.c
482
lmdesc->tb = sg_dma_len(sg);
drivers/dma/sh/rz-dmac.c
537
lmdesc->tb = period_len;
drivers/dma/sh/rz-dmac.c
951
residue += lmdesc->tb;
drivers/dma/sh/rz-dmac.c
956
residue += lmdesc->tb;
drivers/dpll/dpll_netlink.c
1327
struct nlattr *tb[DPLL_A_PIN_MAX + 1];
drivers/dpll/dpll_netlink.c
1331
nla_parse_nested(tb, DPLL_A_PIN_MAX, nest,
drivers/dpll/dpll_netlink.c
1333
if (!tb[DPLL_A_PIN_ID]) {
drivers/dpll/dpll_netlink.c
1337
sync_pin_id = nla_get_u32(tb[DPLL_A_PIN_ID]);
drivers/dpll/dpll_netlink.c
1339
if (!tb[DPLL_A_PIN_STATE]) {
drivers/dpll/dpll_netlink.c
1343
state = nla_get_u32(tb[DPLL_A_PIN_STATE]);
drivers/dpll/dpll_netlink.c
1569
struct nlattr *tb[DPLL_A_PIN_MAX + 1];
drivers/dpll/dpll_netlink.c
1577
nla_parse_nested(tb, DPLL_A_PIN_MAX, parent_nest,
drivers/dpll/dpll_netlink.c
1579
if (!tb[DPLL_A_PIN_PARENT_ID]) {
drivers/dpll/dpll_netlink.c
1583
pdpll_idx = nla_get_u32(tb[DPLL_A_PIN_PARENT_ID]);
drivers/dpll/dpll_netlink.c
1594
if (tb[DPLL_A_PIN_STATE]) {
drivers/dpll/dpll_netlink.c
1595
state = nla_get_u32(tb[DPLL_A_PIN_STATE]);
drivers/dpll/dpll_netlink.c
1600
if (tb[DPLL_A_PIN_PRIO]) {
drivers/dpll/dpll_netlink.c
1601
prio = nla_get_u32(tb[DPLL_A_PIN_PRIO]);
drivers/dpll/dpll_netlink.c
1606
if (tb[DPLL_A_PIN_DIRECTION]) {
drivers/dpll/dpll_netlink.c
1607
direction = nla_get_u32(tb[DPLL_A_PIN_DIRECTION]);
drivers/dpll/dpll_netlink.c
1619
struct nlattr *tb[DPLL_A_PIN_MAX + 1];
drivers/dpll/dpll_netlink.c
1623
nla_parse_nested(tb, DPLL_A_PIN_MAX, parent_nest,
drivers/dpll/dpll_netlink.c
1625
if (!tb[DPLL_A_PIN_PARENT_ID]) {
drivers/dpll/dpll_netlink.c
1629
ppin_idx = nla_get_u32(tb[DPLL_A_PIN_PARENT_ID]);
drivers/dpll/dpll_netlink.c
1631
if (tb[DPLL_A_PIN_STATE]) {
drivers/dpll/dpll_netlink.c
1632
enum dpll_pin_state state = nla_get_u32(tb[DPLL_A_PIN_STATE]);
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
3501
task_barrier_enter(&hive->tb);
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
3507
task_barrier_exit(&hive->tb);
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
3516
task_barrier_full(&hive->tb);
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
1028
task_barrier_add_task(&hive->tb);
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
1133
task_barrier_rem_task(&hive->tb);
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
749
task_barrier_init(&hive->tb);
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.h
37
struct task_barrier tb;
drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
675
uint32_t lr, tb, req;
drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
695
tb = (pe_top[i] >= 0) ?
drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
699
tb |= (pe_bottom[i] >= 0) ?
drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
710
mdp5_write(mdp5_kms, REG_MDP5_PIPE_SW_PIX_EXT_TB(pipe, i), tb);
drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
721
FIELD(tb, MDP5_PIPE_SW_PIX_EXT_TB_TOP_RPT),
drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
722
FIELD(tb, MDP5_PIPE_SW_PIX_EXT_TB_BOTTOM_RPT),
drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
723
FIELD(tb, MDP5_PIPE_SW_PIX_EXT_TB_TOP_OVF),
drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c
724
FIELD(tb, MDP5_PIPE_SW_PIX_EXT_TB_BOTTOM_OVF),
drivers/hid/hid-wiimote-modules.c
2225
__u8 sx, sy, tb, wb, bd, bm, bp, bo, br, bb, bg, by, bu;
drivers/hid/hid-wiimote-modules.c
2260
tb = ext[2] & 0x1f;
drivers/hid/hid-wiimote-modules.c
2280
input_report_abs(wdata->extension.input, ABS_HAT0X, tb);
drivers/i2c/busses/i2c-cpm.c
187
u_char *tb;
drivers/i2c/busses/i2c-cpm.c
196
tb = cpm->txbuf[tx];
drivers/i2c/busses/i2c-cpm.c
202
tb[0] = addr; /* Device address byte w/rw flag */
drivers/i2c/busses/i2c-cpm.c
233
memcpy(tb+1, pmsg->buf, pmsg->len);
drivers/i2c/busses/i2c-cpm.c
245
u_char *tb;
drivers/i2c/busses/i2c-cpm.c
252
tb = cpm->txbuf[tx];
drivers/infiniband/core/addr.c
100
memcpy(&gid, nla_data(tb[LS_NLA_TYPE_DGID]), sizeof(gid));
drivers/infiniband/core/addr.c
84
struct nlattr *tb[LS_NLA_TYPE_MAX] = {};
drivers/infiniband/core/addr.c
93
ret = nla_parse_deprecated(tb, LS_NLA_TYPE_MAX - 1, nlmsg_data(nlh),
drivers/infiniband/core/addr.c
98
if (!tb[LS_NLA_TYPE_DGID])
drivers/infiniband/core/nldev.c
1092
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
1098
err = __nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
1100
if (err || !tb[RDMA_NLDEV_ATTR_DEV_INDEX])
drivers/infiniband/core/nldev.c
1103
index = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
1142
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
1147
err = nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
1149
if (err || !tb[RDMA_NLDEV_ATTR_DEV_INDEX])
drivers/infiniband/core/nldev.c
1152
index = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
1157
if (tb[RDMA_NLDEV_ATTR_DEV_NAME]) {
drivers/infiniband/core/nldev.c
1160
nla_strscpy(name, tb[RDMA_NLDEV_ATTR_DEV_NAME],
drivers/infiniband/core/nldev.c
1170
if (tb[RDMA_NLDEV_NET_NS_FD]) {
drivers/infiniband/core/nldev.c
1173
ns_fd = nla_get_u32(tb[RDMA_NLDEV_NET_NS_FD]);
drivers/infiniband/core/nldev.c
1178
if (tb[RDMA_NLDEV_ATTR_DEV_DIM]) {
drivers/infiniband/core/nldev.c
1181
use_dim = nla_get_u8(tb[RDMA_NLDEV_ATTR_DEV_DIM]);
drivers/infiniband/core/nldev.c
1232
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
1239
err = __nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
1242
!tb[RDMA_NLDEV_ATTR_DEV_INDEX] ||
drivers/infiniband/core/nldev.c
1243
!tb[RDMA_NLDEV_ATTR_PORT_INDEX])
drivers/infiniband/core/nldev.c
1246
index = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
1251
port = nla_get_u32(tb[RDMA_NLDEV_ATTR_PORT_INDEX]);
drivers/infiniband/core/nldev.c
1290
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
1299
err = __nlmsg_parse(cb->nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
1301
if (err || !tb[RDMA_NLDEV_ATTR_DEV_INDEX])
drivers/infiniband/core/nldev.c
1304
ifindex = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
1348
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
1355
ret = __nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
1357
if (ret || !tb[RDMA_NLDEV_ATTR_DEV_INDEX])
drivers/infiniband/core/nldev.c
1360
index = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
1365
if (tb[RDMA_NLDEV_ATTR_DRIVER_DETAILS])
drivers/infiniband/core/nldev.c
1366
show_details = nla_get_u8(tb[RDMA_NLDEV_ATTR_DRIVER_DETAILS]);
drivers/infiniband/core/nldev.c
1498
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
1506
ret = __nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
1508
if (ret || !tb[RDMA_NLDEV_ATTR_DEV_INDEX] || !fe->id || !tb[fe->id])
drivers/infiniband/core/nldev.c
1511
index = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
1516
if (tb[RDMA_NLDEV_ATTR_PORT_INDEX]) {
drivers/infiniband/core/nldev.c
1517
port = nla_get_u32(tb[RDMA_NLDEV_ATTR_PORT_INDEX]);
drivers/infiniband/core/nldev.c
1530
id = nla_get_u32(tb[fe->id]);
drivers/infiniband/core/nldev.c
1579
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
1594
err = __nlmsg_parse(cb->nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
1604
if (err || !tb[RDMA_NLDEV_ATTR_DEV_INDEX])
drivers/infiniband/core/nldev.c
1607
index = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
1612
if (tb[RDMA_NLDEV_ATTR_DRIVER_DETAILS])
drivers/infiniband/core/nldev.c
1613
show_details = nla_get_u8(tb[RDMA_NLDEV_ATTR_DRIVER_DETAILS]);
drivers/infiniband/core/nldev.c
1618
if (tb[RDMA_NLDEV_ATTR_PORT_INDEX]) {
drivers/infiniband/core/nldev.c
1619
port = nla_get_u32(tb[RDMA_NLDEV_ATTR_PORT_INDEX]);
drivers/infiniband/core/nldev.c
1779
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
1787
err = nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
1789
if (err || !tb[RDMA_NLDEV_ATTR_DEV_NAME] ||
drivers/infiniband/core/nldev.c
1790
!tb[RDMA_NLDEV_ATTR_LINK_TYPE] || !tb[RDMA_NLDEV_ATTR_NDEV_NAME])
drivers/infiniband/core/nldev.c
1793
nla_strscpy(ibdev_name, tb[RDMA_NLDEV_ATTR_DEV_NAME],
drivers/infiniband/core/nldev.c
1798
nla_strscpy(type, tb[RDMA_NLDEV_ATTR_LINK_TYPE], sizeof(type));
drivers/infiniband/core/nldev.c
1799
nla_strscpy(ndev_name, tb[RDMA_NLDEV_ATTR_NDEV_NAME],
drivers/infiniband/core/nldev.c
1826
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
1831
err = nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
1833
if (err || !tb[RDMA_NLDEV_ATTR_DEV_INDEX])
drivers/infiniband/core/nldev.c
1836
index = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
1867
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
1875
err = __nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1, nldev_policy,
drivers/infiniband/core/nldev.c
1877
if (err || !tb[RDMA_NLDEV_ATTR_CHARDEV_TYPE])
drivers/infiniband/core/nldev.c
1880
nla_strscpy(client_name, tb[RDMA_NLDEV_ATTR_CHARDEV_TYPE],
drivers/infiniband/core/nldev.c
1883
if (tb[RDMA_NLDEV_ATTR_DEV_INDEX]) {
drivers/infiniband/core/nldev.c
1884
index = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
1889
if (tb[RDMA_NLDEV_ATTR_PORT_INDEX]) {
drivers/infiniband/core/nldev.c
1890
data.port = nla_get_u32(tb[RDMA_NLDEV_ATTR_PORT_INDEX]);
drivers/infiniband/core/nldev.c
1898
} else if (tb[RDMA_NLDEV_ATTR_PORT_INDEX]) {
drivers/infiniband/core/nldev.c
1955
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
1959
err = __nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
2012
static int nldev_set_sys_set_netns_doit(struct nlattr *tb[])
drivers/infiniband/core/nldev.c
2017
enable = nla_get_u8(tb[RDMA_NLDEV_SYS_ATTR_NETNS_MODE]);
drivers/infiniband/core/nldev.c
2026
static int nldev_set_sys_set_pqkey_doit(struct nlattr *tb[])
drivers/infiniband/core/nldev.c
2030
enable = nla_get_u8(tb[RDMA_NLDEV_SYS_ATTR_PRIVILEGED_QKEY_MODE]);
drivers/infiniband/core/nldev.c
2042
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
2045
err = nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
2050
if (tb[RDMA_NLDEV_SYS_ATTR_NETNS_MODE])
drivers/infiniband/core/nldev.c
2051
return nldev_set_sys_set_netns_doit(tb);
drivers/infiniband/core/nldev.c
2053
if (tb[RDMA_NLDEV_SYS_ATTR_PRIVILEGED_QKEY_MODE])
drivers/infiniband/core/nldev.c
2054
return nldev_set_sys_set_pqkey_doit(tb);
drivers/infiniband/core/nldev.c
2062
struct nlattr *tb[],
drivers/infiniband/core/nldev.c
2070
if (!tb[RDMA_NLDEV_ATTR_STAT_RES] ||
drivers/infiniband/core/nldev.c
2071
nla_get_u32(tb[RDMA_NLDEV_ATTR_STAT_RES]) != RDMA_NLDEV_ATTR_RES_QP)
drivers/infiniband/core/nldev.c
2074
if (tb[RDMA_NLDEV_ATTR_STAT_OPCOUNTER_ENABLED])
drivers/infiniband/core/nldev.c
2076
tb[RDMA_NLDEV_ATTR_STAT_OPCOUNTER_ENABLED]);
drivers/infiniband/core/nldev.c
2078
mode = nla_get_u32(tb[RDMA_NLDEV_ATTR_STAT_MODE]);
drivers/infiniband/core/nldev.c
2080
if (tb[RDMA_NLDEV_ATTR_STAT_AUTO_MODE_MASK])
drivers/infiniband/core/nldev.c
2082
tb[RDMA_NLDEV_ATTR_STAT_AUTO_MODE_MASK]);
drivers/infiniband/core/nldev.c
2087
if (!tb[RDMA_NLDEV_ATTR_RES_LQPN])
drivers/infiniband/core/nldev.c
2090
qpn = nla_get_u32(tb[RDMA_NLDEV_ATTR_RES_LQPN]);
drivers/infiniband/core/nldev.c
2091
if (tb[RDMA_NLDEV_ATTR_STAT_COUNTER_ID]) {
drivers/infiniband/core/nldev.c
2092
cntn = nla_get_u32(tb[RDMA_NLDEV_ATTR_STAT_COUNTER_ID]);
drivers/infiniband/core/nldev.c
2115
static int nldev_stat_set_counter_dynamic_doit(struct nlattr *tb[],
drivers/infiniband/core/nldev.c
2134
nla_for_each_nested(entry_attr, tb[RDMA_NLDEV_ATTR_STAT_HWCOUNTERS],
drivers/infiniband/core/nldev.c
2163
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
2169
ret = nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1, nldev_policy,
drivers/infiniband/core/nldev.c
2171
if (ret || !tb[RDMA_NLDEV_ATTR_DEV_INDEX] ||
drivers/infiniband/core/nldev.c
2172
!tb[RDMA_NLDEV_ATTR_PORT_INDEX])
drivers/infiniband/core/nldev.c
2175
index = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
2180
port = nla_get_u32(tb[RDMA_NLDEV_ATTR_PORT_INDEX]);
drivers/infiniband/core/nldev.c
2186
if (!tb[RDMA_NLDEV_ATTR_STAT_MODE] &&
drivers/infiniband/core/nldev.c
2187
!tb[RDMA_NLDEV_ATTR_STAT_HWCOUNTERS]) {
drivers/infiniband/core/nldev.c
2207
if (tb[RDMA_NLDEV_ATTR_STAT_MODE]) {
drivers/infiniband/core/nldev.c
2208
ret = nldev_stat_set_mode_doit(msg, extack, tb, device, port);
drivers/infiniband/core/nldev.c
2213
if (tb[RDMA_NLDEV_ATTR_STAT_HWCOUNTERS]) {
drivers/infiniband/core/nldev.c
2214
ret = nldev_stat_set_counter_dynamic_doit(tb, device, port);
drivers/infiniband/core/nldev.c
2233
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
2239
ret = nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
2241
if (ret || !tb[RDMA_NLDEV_ATTR_STAT_RES] ||
drivers/infiniband/core/nldev.c
2242
!tb[RDMA_NLDEV_ATTR_DEV_INDEX] || !tb[RDMA_NLDEV_ATTR_PORT_INDEX] ||
drivers/infiniband/core/nldev.c
2243
!tb[RDMA_NLDEV_ATTR_STAT_COUNTER_ID] ||
drivers/infiniband/core/nldev.c
2244
!tb[RDMA_NLDEV_ATTR_RES_LQPN])
drivers/infiniband/core/nldev.c
2247
if (nla_get_u32(tb[RDMA_NLDEV_ATTR_STAT_RES]) != RDMA_NLDEV_ATTR_RES_QP)
drivers/infiniband/core/nldev.c
2250
index = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
2255
port = nla_get_u32(tb[RDMA_NLDEV_ATTR_PORT_INDEX]);
drivers/infiniband/core/nldev.c
2275
cntn = nla_get_u32(tb[RDMA_NLDEV_ATTR_STAT_COUNTER_ID]);
drivers/infiniband/core/nldev.c
2276
qpn = nla_get_u32(tb[RDMA_NLDEV_ATTR_RES_LQPN]);
drivers/infiniband/core/nldev.c
2303
struct nlattr *tb[])
drivers/infiniband/core/nldev.c
2313
if (!tb[RDMA_NLDEV_ATTR_DEV_INDEX] || !tb[RDMA_NLDEV_ATTR_PORT_INDEX])
drivers/infiniband/core/nldev.c
2316
index = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
2326
port = nla_get_u32(tb[RDMA_NLDEV_ATTR_PORT_INDEX]);
drivers/infiniband/core/nldev.c
2395
struct netlink_ext_ack *extack, struct nlattr *tb[])
drivers/infiniband/core/nldev.c
2406
if (tb[RDMA_NLDEV_ATTR_STAT_COUNTER_ID])
drivers/infiniband/core/nldev.c
2409
if (!tb[RDMA_NLDEV_ATTR_STAT_MODE] ||
drivers/infiniband/core/nldev.c
2410
!tb[RDMA_NLDEV_ATTR_DEV_INDEX] || !tb[RDMA_NLDEV_ATTR_PORT_INDEX])
drivers/infiniband/core/nldev.c
2413
index = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
2418
port = nla_get_u32(tb[RDMA_NLDEV_ATTR_PORT_INDEX]);
drivers/infiniband/core/nldev.c
2476
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
2479
ret = __nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
2484
if (!tb[RDMA_NLDEV_ATTR_STAT_RES])
drivers/infiniband/core/nldev.c
2485
return stat_get_doit_default_counter(skb, nlh, extack, tb);
drivers/infiniband/core/nldev.c
2487
switch (nla_get_u32(tb[RDMA_NLDEV_ATTR_STAT_RES])) {
drivers/infiniband/core/nldev.c
2489
ret = stat_get_doit_qp(skb, nlh, extack, tb);
drivers/infiniband/core/nldev.c
2506
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
2509
ret = __nlmsg_parse(cb->nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
2511
if (ret || !tb[RDMA_NLDEV_ATTR_STAT_RES])
drivers/infiniband/core/nldev.c
2514
switch (nla_get_u32(tb[RDMA_NLDEV_ATTR_STAT_RES])) {
drivers/infiniband/core/nldev.c
2534
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX], *table, *entry;
drivers/infiniband/core/nldev.c
2541
ret = __nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
2543
if (ret || !tb[RDMA_NLDEV_ATTR_DEV_INDEX] ||
drivers/infiniband/core/nldev.c
2544
!tb[RDMA_NLDEV_ATTR_PORT_INDEX])
drivers/infiniband/core/nldev.c
2547
devid = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
2552
port = nla_get_u32(tb[RDMA_NLDEV_ATTR_PORT_INDEX]);
drivers/infiniband/core/nldev.c
2626
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
2633
ret = nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
2635
if (ret || !tb[RDMA_NLDEV_ATTR_DEV_INDEX] ||
drivers/infiniband/core/nldev.c
2636
!tb[RDMA_NLDEV_ATTR_DEV_NAME] || !tb[RDMA_NLDEV_ATTR_DEV_TYPE])
drivers/infiniband/core/nldev.c
2639
nla_strscpy(name, tb[RDMA_NLDEV_ATTR_DEV_NAME], sizeof(name));
drivers/infiniband/core/nldev.c
2640
type = nla_get_u8(tb[RDMA_NLDEV_ATTR_DEV_TYPE]);
drivers/infiniband/core/nldev.c
2641
parentid = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
2655
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
2660
ret = nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
2662
if (ret || !tb[RDMA_NLDEV_ATTR_DEV_INDEX])
drivers/infiniband/core/nldev.c
2665
devid = nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]);
drivers/infiniband/core/nldev.c
2733
static int nldev_frmr_pools_parse_key(struct nlattr *tb[],
drivers/infiniband/core/nldev.c
2737
if (tb[RDMA_NLDEV_ATTR_FRMR_POOL_KEY_ATS])
drivers/infiniband/core/nldev.c
2738
key->ats = nla_get_u8(tb[RDMA_NLDEV_ATTR_FRMR_POOL_KEY_ATS]);
drivers/infiniband/core/nldev.c
2740
if (tb[RDMA_NLDEV_ATTR_FRMR_POOL_KEY_ACCESS_FLAGS])
drivers/infiniband/core/nldev.c
2742
tb[RDMA_NLDEV_ATTR_FRMR_POOL_KEY_ACCESS_FLAGS]);
drivers/infiniband/core/nldev.c
2744
if (tb[RDMA_NLDEV_ATTR_FRMR_POOL_KEY_VENDOR_KEY])
drivers/infiniband/core/nldev.c
2746
tb[RDMA_NLDEV_ATTR_FRMR_POOL_KEY_VENDOR_KEY]);
drivers/infiniband/core/nldev.c
2748
if (tb[RDMA_NLDEV_ATTR_FRMR_POOL_KEY_NUM_DMA_BLOCKS])
drivers/infiniband/core/nldev.c
2750
tb[RDMA_NLDEV_ATTR_FRMR_POOL_KEY_NUM_DMA_BLOCKS]);
drivers/infiniband/core/nldev.c
2752
if (tb[RDMA_NLDEV_ATTR_FRMR_POOL_KEY_KERNEL_VENDOR_KEY])
drivers/infiniband/core/nldev.c
2759
struct nlattr *tb[],
drivers/infiniband/core/nldev.c
2768
nla_get_u32(tb[RDMA_NLDEV_ATTR_FRMR_POOL_PINNED_HANDLES]);
drivers/infiniband/core/nldev.c
2770
if (!tb[RDMA_NLDEV_ATTR_FRMR_POOL_KEY])
drivers/infiniband/core/nldev.c
2774
tb[RDMA_NLDEV_ATTR_FRMR_POOL_KEY], nldev_policy,
drivers/infiniband/core/nldev.c
2791
struct nlattr *tb[RDMA_NLDEV_ATTR_MAX];
drivers/infiniband/core/nldev.c
2804
err = __nlmsg_parse(cb->nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
drivers/infiniband/core/nldev.c
2806
if (err || !tb[RDMA_NLDEV_ATTR_DEV_INDEX])
drivers/infiniband/core/nldev.c
2810
sock_net(skb->sk), nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]));
drivers/infiniband/core/nldev.c
2814
if (tb[RDMA_NLDEV_ATTR_DRIVER_DETAILS])
drivers/infiniband/core/nldev.c
2815
show_details = nla_get_u8(tb[RDMA_NLDEV_ATTR_DRIVER_DETAILS]);
drivers/infiniband/core/nldev.c
2895
struct nlattr **tb;
drivers/infiniband/core/nldev.c
2899
tb = kzalloc_objs(*tb, RDMA_NLDEV_ATTR_MAX, GFP_KERNEL);
drivers/infiniband/core/nldev.c
2900
if (!tb)
drivers/infiniband/core/nldev.c
2903
err = nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1, nldev_policy,
drivers/infiniband/core/nldev.c
2908
if (!tb[RDMA_NLDEV_ATTR_DEV_INDEX]) {
drivers/infiniband/core/nldev.c
2914
sock_net(skb->sk), nla_get_u32(tb[RDMA_NLDEV_ATTR_DEV_INDEX]));
drivers/infiniband/core/nldev.c
2920
if (tb[RDMA_NLDEV_ATTR_FRMR_POOLS_AGING_PERIOD]) {
drivers/infiniband/core/nldev.c
2922
tb[RDMA_NLDEV_ATTR_FRMR_POOLS_AGING_PERIOD]);
drivers/infiniband/core/nldev.c
2927
if (tb[RDMA_NLDEV_ATTR_FRMR_POOL_PINNED_HANDLES])
drivers/infiniband/core/nldev.c
2928
err = nldev_frmr_pools_set_pinned(device, tb, extack);
drivers/infiniband/core/nldev.c
2933
kfree(tb);
drivers/infiniband/core/sa_query.c
1058
struct nlattr *tb[LS_NLA_TYPE_MAX];
drivers/infiniband/core/sa_query.c
1065
ret = nla_parse_deprecated(tb, LS_NLA_TYPE_MAX - 1, nlmsg_data(nlh),
drivers/infiniband/core/sa_query.c
1067
attr = (const struct nlattr *)tb[LS_NLA_TYPE_TIMEOUT];
drivers/infiniband/core/sa_query.c
1113
struct nlattr *tb[LS_NLA_TYPE_MAX];
drivers/infiniband/core/sa_query.c
1119
ret = nla_parse_deprecated(tb, LS_NLA_TYPE_MAX - 1, nlmsg_data(nlh),
drivers/infiniband/ulp/ipoib/ipoib_netlink.c
106
struct nlattr **tb = params->tb;
drivers/infiniband/ulp/ipoib/ipoib_netlink.c
112
if (!tb[IFLA_LINK])
drivers/infiniband/ulp/ipoib/ipoib_netlink.c
115
pdev = __dev_get_by_index(link_net, nla_get_u32(tb[IFLA_LINK]));
drivers/infiniband/ulp/ipoib/ipoib_netlink.c
144
err = ipoib_changelink(dev, tb, data, extack);
drivers/infiniband/ulp/ipoib/ipoib_netlink.c
71
static int ipoib_changelink(struct net_device *dev, struct nlattr *tb[],
drivers/media/pci/ngene/ngene-core.c
786
struct SRingBufferDescriptor *tb)
drivers/media/pci/ngene/ngene-core.c
789
struct SBufferHeader *Cur = tb->Head;
drivers/media/pci/ngene/ngene-core.c
794
for (j = 0; j < tb->NumBuffers; j++, Cur = Cur->Next) {
drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
1083
unsigned int *tb;
drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
1113
tb = instance->tile.va;
drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
1133
*tb++ = (size << 3) + ((offset << 3) & 0x7f);
drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
1134
*tb++ = pa & ~0xf;
drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
1135
*tb++ = (pa << 3) & 0x7f;
drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
1138
*tb++ = (mi_row << 6) + mi_col;
drivers/media/platform/nvidia/tegra-vde/h264.c
695
struct tegra_m2m_buffer *tb = vb_to_tegra_buf(vb);
drivers/media/platform/nvidia/tegra-vde/h264.c
721
if (!tb->aux || tb->aux->size < csize) {
drivers/media/platform/nvidia/tegra-vde/h264.c
723
tb->aux ? tb->aux->size : -1, csize);
drivers/media/platform/nvidia/tegra-vde/h264.c
736
if (tb->b_frame)
drivers/media/platform/nvidia/tegra-vde/h264.c
740
vde->frames[id].y_addr = tb->dma_addr[0];
drivers/media/platform/nvidia/tegra-vde/h264.c
741
vde->frames[id].cb_addr = tb->dma_addr[1];
drivers/media/platform/nvidia/tegra-vde/h264.c
742
vde->frames[id].cr_addr = tb->dma_addr[2];
drivers/media/platform/nvidia/tegra-vde/h264.c
743
vde->frames[id].aux_addr = tb->aux->dma_addr;
drivers/media/platform/nvidia/tegra-vde/h264.c
757
struct tegra_m2m_buffer *tb = vb_to_tegra_buf(&dst->vb2_buf);
drivers/media/platform/nvidia/tegra-vde/h264.c
782
tb->b_frame = true;
drivers/media/platform/nvidia/tegra-vde/h264.c
784
tb->b_frame = false;
drivers/media/platform/nvidia/tegra-vde/v4l2.c
128
struct tegra_m2m_buffer *tb = vb_to_tegra_buf(vb);
drivers/media/platform/nvidia/tegra-vde/v4l2.c
131
if (tb->a[i]) {
drivers/media/platform/nvidia/tegra-vde/v4l2.c
132
tegra_vde_dmabuf_cache_unmap(ctx->vde, tb->a[i], true);
drivers/media/platform/nvidia/tegra-vde/v4l2.c
133
tb->a[i] = NULL;
drivers/media/platform/nvidia/tegra-vde/v4l2.c
136
if (tb->iova[i]) {
drivers/media/platform/nvidia/tegra-vde/v4l2.c
137
tegra_vde_iommu_unmap(ctx->vde, tb->iova[i]);
drivers/media/platform/nvidia/tegra-vde/v4l2.c
138
tb->iova[i] = NULL;
drivers/media/platform/nvidia/tegra-vde/v4l2.c
142
if (tb->aux) {
drivers/media/platform/nvidia/tegra-vde/v4l2.c
143
tegra_vde_free_bo(tb->aux);
drivers/media/platform/nvidia/tegra-vde/v4l2.c
144
tb->aux = NULL;
drivers/media/platform/nvidia/tegra-vde/v4l2.c
152
struct tegra_m2m_buffer *tb = vb_to_tegra_buf(vb);
drivers/media/platform/nvidia/tegra-vde/v4l2.c
164
err = tegra_vde_alloc_bo(vde, &tb->aux, DMA_FROM_DEVICE,
drivers/media/platform/nvidia/tegra-vde/v4l2.c
180
dma_dir, &tb->a[i],
drivers/media/platform/nvidia/tegra-vde/v4l2.c
181
&tb->dma_base[i]);
drivers/media/platform/nvidia/tegra-vde/v4l2.c
193
err = tegra_vde_iommu_map(vde, sgt, &tb->iova[i],
drivers/media/platform/nvidia/tegra-vde/v4l2.c
198
tb->dma_base[i] = iova_dma_addr(&vde->iova, tb->iova[i]);
drivers/media/platform/nvidia/tegra-vde/v4l2.c
200
tb->dma_base[i] = vb2_dma_contig_plane_dma_addr(vb, i);
drivers/media/platform/nvidia/tegra-vde/v4l2.c
221
struct tegra_m2m_buffer *tb = vb_to_tegra_buf(vb);
drivers/media/platform/nvidia/tegra-vde/v4l2.c
269
tb->dma_addr[i] = tb->dma_base[i] + offset;
drivers/media/platform/nvidia/tegra-vde/v4l2.c
274
swap(tb->dma_addr[1], tb->dma_addr[2]);
drivers/media/rc/meson-ir-tx.c
115
unsigned int tb = IRB_TB_MOD_CLK;
drivers/media/rc/meson-ir-tx.c
120
return ((IRB_WRITE_FIFO | IRB_MOD_ENABLE) | tb | delay);
drivers/media/rc/meson-ir-tx.c
126
unsigned int tb = IRB_TB_100US;
drivers/media/rc/meson-ir-tx.c
130
tb = IRB_TB_1US;
drivers/media/rc/meson-ir-tx.c
133
tb = IRB_TB_10US;
drivers/media/rc/meson-ir-tx.c
136
tb = IRB_TB_100US;
drivers/media/rc/meson-ir-tx.c
142
return ((IRB_WRITE_FIFO & ~IRB_MOD_ENABLE) | tb | delay);
drivers/mtd/spi-nor/swp.c
105
if (tb)
drivers/mtd/spi-nor/swp.c
110
if (tb)
drivers/mtd/spi-nor/swp.c
75
bool tb = (nor->flags & SNOR_F_HAS_SR_TB) ? sr[0] & tb_mask : 0;
drivers/net/amt.c
3174
static int amt_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/amt.c
3221
struct nlattr **tb = params->tb;
drivers/net/amt.c
3242
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_AMT_LINK],
drivers/net/amt.c
3248
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_AMT_LINK],
drivers/net/amt.c
3257
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_AMT_LOCAL_IP],
drivers/net/amt.c
3269
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_AMT_DISCOVERY_IP],
drivers/net/amt.c
3283
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_AMT_DISCOVERY_IP],
drivers/net/amt.c
3288
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_AMT_DISCOVERY_IP],
drivers/net/amt.c
3297
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_AMT_DISCOVERY_IP],
drivers/net/bareudp.c
597
static int bareudp_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/bareudp.c
683
struct nlattr *tb[])
drivers/net/bareudp.c
687
if (tb[IFLA_MTU]) {
drivers/net/bareudp.c
688
err = dev_set_mtu(dev, nla_get_u32(tb[IFLA_MTU]));
drivers/net/bareudp.c
709
struct nlattr **tb = params->tb;
drivers/net/bareudp.c
721
err = bareudp_link_config(dev, tb);
drivers/net/bonding/bond_netlink.c
155
static int bond_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/bonding/bond_netlink.c
158
if (tb[IFLA_ADDRESS]) {
drivers/net/bonding/bond_netlink.c
159
if (nla_len(tb[IFLA_ADDRESS]) != ETH_ALEN)
drivers/net/bonding/bond_netlink.c
161
if (!is_valid_ether_addr(nla_data(tb[IFLA_ADDRESS])))
drivers/net/bonding/bond_netlink.c
169
struct nlattr *tb[], struct nlattr *data[],
drivers/net/bonding/bond_netlink.c
216
static int bond_changelink(struct net_device *bond_dev, struct nlattr *tb[],
drivers/net/bonding/bond_netlink.c
622
struct nlattr **tb = params->tb;
drivers/net/bonding/bond_netlink.c
632
err = bond_changelink(bond_dev, tb, data, extack);
drivers/net/can/dev/netlink.c
257
static int can_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/can/dev/netlink.c
594
static int can_changelink(struct net_device *dev, struct nlattr *tb[],
drivers/net/can/vxcan.c
209
struct nlattr **tb = params->tb;
drivers/net/can/vxcan.c
213
struct nlattr *peer_tb[IFLA_MAX + 1], **tbp = tb;
drivers/net/can/vxcan.c
257
if (tb[IFLA_IFNAME])
drivers/net/can/vxcan.c
258
nla_strscpy(dev->name, tb[IFLA_IFNAME], IFNAMSIZ);
drivers/net/dummy.c
130
static int dummy_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/dummy.c
133
if (tb[IFLA_ADDRESS]) {
drivers/net/dummy.c
134
if (nla_len(tb[IFLA_ADDRESS]) != ETH_ALEN)
drivers/net/dummy.c
136
if (!is_valid_ether_addr(nla_data(tb[IFLA_ADDRESS])))
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
55
static void *seq_tab_get_idx(struct seq_tab *tb, loff_t pos)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
57
pos -= tb->skip_first;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
58
return pos >= tb->rows ? NULL : &tb->data[pos * tb->width];
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
63
struct seq_tab *tb = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
65
if (tb->skip_first && *pos == 0)
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
68
return seq_tab_get_idx(tb, *pos);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
84
const struct seq_tab *tb = seq->private;
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
86
return tb->show(seq, v, ((char *)v - tb->data) / tb->width);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
1362
T4_TRACE5(adapter->tb[txq->q.cntxt_id & 7],
drivers/net/ethernet/intel/i40e/i40e_main.c
13034
static int i40e_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
drivers/net/ethernet/intel/ice/ice_main.c
6106
ice_fdb_add(struct ndmsg *ndm, struct nlattr __always_unused *tb[],
drivers/net/ethernet/intel/ice/ice_main.c
6147
ice_fdb_del(struct ndmsg *ndm, __always_unused struct nlattr *tb[],
drivers/net/ethernet/intel/igb/igb_main.c
2519
static int igb_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
drivers/net/ethernet/intel/igb/igb_main.c
2534
return ndo_dflt_fdb_add(ndm, tb, dev, addr, vid, flags);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10606
static int ixgbe_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10621
return ndo_dflt_fdb_add(ndm, tb, dev, addr, vid, flags);
drivers/net/ethernet/mscc/ocelot_net.c
767
static int ocelot_port_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
drivers/net/ethernet/mscc/ocelot_net.c
781
static int ocelot_port_fdb_del(struct ndmsg *ndm, struct nlattr *tb[],
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
368
static int qlcnic_fdb_del(struct ndmsg *ndm, struct nlattr *tb[],
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
377
return ndo_dflt_fdb_del(ndm, tb, netdev, addr, vid);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
394
static int qlcnic_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
403
return ndo_dflt_fdb_add(ndm, tb, netdev, addr, vid, flags);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
127
struct nlattr **tb = params->tb;
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
135
if (!tb[IFLA_LINK]) {
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
140
real_dev = __dev_get_by_index(link_net, nla_get_u32(tb[IFLA_LINK]));
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
280
static int rmnet_rtnl_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
299
static int rmnet_changelink(struct net_device *dev, struct nlattr *tb[],
drivers/net/ethernet/rocker/rocker_tlv.c
15
void rocker_tlv_parse(const struct rocker_tlv **tb, int maxtype,
drivers/net/ethernet/rocker/rocker_tlv.c
22
memset(tb, 0, sizeof(struct rocker_tlv *) * (maxtype + 1));
drivers/net/ethernet/rocker/rocker_tlv.c
28
tb[type] = tlv;
drivers/net/ethernet/rocker/rocker_tlv.h
109
void rocker_tlv_parse(const struct rocker_tlv **tb, int maxtype,
drivers/net/ethernet/rocker/rocker_tlv.h
112
static inline void rocker_tlv_parse_nested(const struct rocker_tlv **tb,
drivers/net/ethernet/rocker/rocker_tlv.h
116
rocker_tlv_parse(tb, maxtype, rocker_tlv_data(tlv),
drivers/net/ethernet/rocker/rocker_tlv.h
121
rocker_tlv_parse_desc(const struct rocker_tlv **tb, int maxtype,
drivers/net/ethernet/rocker/rocker_tlv.h
124
rocker_tlv_parse(tb, maxtype, desc_info->data,
drivers/net/ethernet/sun/niu.c
3561
struct tx_buff_info *tb = &rp->tx_buffs[idx];
drivers/net/ethernet/sun/niu.c
3562
struct sk_buff *skb = tb->skb;
drivers/net/ethernet/sun/niu.c
3575
np->ops->unmap_single(np->device, tb->mapping,
drivers/net/ethernet/sun/niu.c
3581
tb->skb = NULL;
drivers/net/ethernet/sun/niu.c
3588
tb = &rp->tx_buffs[idx];
drivers/net/ethernet/sun/niu.c
3589
BUG_ON(tb->skb != NULL);
drivers/net/ethernet/sun/niu.c
3590
np->ops->unmap_page(np->device, tb->mapping,
drivers/net/fddi/skfp/fplustm.c
1057
struct s_fpmc *tb ;
drivers/net/fddi/skfp/fplustm.c
1072
for (i = 0, tb = smc->hw.fp.mc.table ; i < FPMAX_MULTICAST ; i++, tb++){
drivers/net/fddi/skfp/fplustm.c
1073
if (!tb->n) { /* not used */
drivers/net/fddi/skfp/fplustm.c
1075
slot = tb ;
drivers/net/fddi/skfp/fplustm.c
1078
if (!ether_addr_equal((char *)&tb->a, (char *)own))
drivers/net/fddi/skfp/fplustm.c
1080
return tb;
drivers/net/fddi/skfp/fplustm.c
1098
struct s_fpmc *tb ;
drivers/net/fddi/skfp/fplustm.c
1103
for (i = 0, tb = smc->hw.fp.mc.table ; i < FPMAX_MULTICAST ; i++, tb++){
drivers/net/fddi/skfp/fplustm.c
1104
if (!tb->perm) {
drivers/net/fddi/skfp/fplustm.c
1105
tb->n = 0 ;
drivers/net/fddi/skfp/fplustm.c
1141
struct s_fpmc *tb ;
drivers/net/fddi/skfp/fplustm.c
1160
if (!(tb = mac_get_mc_table(smc,addr,&own,0,can & ~0x80)))
drivers/net/fddi/skfp/fplustm.c
1162
tb->n++ ;
drivers/net/fddi/skfp/fplustm.c
1163
tb->a = own ;
drivers/net/fddi/skfp/fplustm.c
1164
tb->perm = (can & 0x80) ? 1 : 0 ;
drivers/net/fddi/skfp/fplustm.c
1194
struct s_fpmc *tb ;
drivers/net/fddi/skfp/fplustm.c
1226
for (i = 0, tb = smc->hw.fp.mc.table; i < FPMAX_MULTICAST; i++, tb++) {
drivers/net/fddi/skfp/fplustm.c
1227
if (tb->n) {
drivers/net/fddi/skfp/fplustm.c
1234
(u_short)((tb->a.a[0]<<8)+tb->a.a[1])) ;
drivers/net/fddi/skfp/fplustm.c
1236
(u_short)((tb->a.a[2]<<8)+tb->a.a[3])) ;
drivers/net/fddi/skfp/fplustm.c
1238
(u_short)((tb->a.a[4]<<8)+tb->a.a[5])) ;
drivers/net/geneve.c
1794
static int geneve_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/geneve.c
1797
if (tb[IFLA_ADDRESS]) {
drivers/net/geneve.c
1798
if (nla_len(tb[IFLA_ADDRESS]) != ETH_ALEN) {
drivers/net/geneve.c
1799
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_ADDRESS],
drivers/net/geneve.c
1804
if (!is_valid_ether_addr(nla_data(tb[IFLA_ADDRESS]))) {
drivers/net/geneve.c
1805
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_ADDRESS],
drivers/net/geneve.c
2008
static int geneve_nl2info(struct nlattr *tb[], struct nlattr *data[],
drivers/net/geneve.c
2267
struct ip_tunnel_info *info, struct nlattr *tb[])
drivers/net/geneve.c
2272
if (tb[IFLA_MTU]) {
drivers/net/geneve.c
2273
geneve_change_mtu(dev, nla_get_u32(tb[IFLA_MTU]));
drivers/net/geneve.c
2318
struct nlattr **tb = params->tb;
drivers/net/geneve.c
2331
err = geneve_nl2info(tb, data, extack, &cfg, false);
drivers/net/geneve.c
2339
geneve_link_config(dev, &cfg.info, tb);
drivers/net/geneve.c
2388
static int geneve_changelink(struct net_device *dev, struct nlattr *tb[],
drivers/net/geneve.c
2408
err = geneve_nl2info(tb, data, extack, &cfg, true);
drivers/net/geneve.c
2414
geneve_link_config(dev, &cfg.info, tb);
drivers/net/geneve.c
2567
struct nlattr *tb[IFLA_MAX + 1];
drivers/net/geneve.c
2581
memset(tb, 0, sizeof(tb));
drivers/net/geneve.c
2583
&geneve_link_ops, tb, NULL);
drivers/net/gtp.c
1577
static int gtp_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/ifb.c
375
static int ifb_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/ifb.c
378
if (tb[IFLA_ADDRESS]) {
drivers/net/ifb.c
379
if (nla_len(tb[IFLA_ADDRESS]) != ETH_ALEN)
drivers/net/ifb.c
381
if (!is_valid_ether_addr(nla_data(tb[IFLA_ADDRESS])))
drivers/net/ipvlan/ipvlan_main.c
446
struct nlattr *tb[], struct nlattr *data[],
drivers/net/ipvlan/ipvlan_main.c
489
static int ipvlan_nl_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/ipvlan/ipvlan_main.c
544
struct nlattr **tb = params->tb;
drivers/net/ipvlan/ipvlan_main.c
550
if (!tb[IFLA_LINK])
drivers/net/ipvlan/ipvlan_main.c
553
phy_dev = __dev_get_by_index(link_net, nla_get_u32(tb[IFLA_LINK]));
drivers/net/ipvlan/ipvlan_main.c
581
if (!tb[IFLA_MTU])
drivers/net/macsec.c
3946
static int macsec_changelink(struct net_device *dev, struct nlattr *tb[],
drivers/net/macsec.c
4170
struct nlattr **tb = params->tb;
drivers/net/macsec.c
4177
if (!tb[IFLA_LINK])
drivers/net/macsec.c
4179
real_dev = __dev_get_by_index(link_net, nla_get_u32(tb[IFLA_LINK]));
drivers/net/macsec.c
4311
static int macsec_validate_attr(struct nlattr *tb[], struct nlattr *data[],
drivers/net/macvlan.c
1039
static int macvlan_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
drivers/net/macvlan.c
1065
static int macvlan_fdb_del(struct ndmsg *ndm, struct nlattr *tb[],
drivers/net/macvlan.c
1322
static int macvlan_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/macvlan.c
1328
if (tb[IFLA_ADDRESS]) {
drivers/net/macvlan.c
1329
if (nla_len(tb[IFLA_ADDRESS]) != ETH_ALEN)
drivers/net/macvlan.c
1331
if (!is_valid_ether_addr(nla_data(tb[IFLA_ADDRESS])))
drivers/net/macvlan.c
1465
struct nlattr **tb = params->tb;
drivers/net/macvlan.c
1472
if (!tb[IFLA_LINK])
drivers/net/macvlan.c
1475
lowerdev = __dev_get_by_index(link_net, nla_get_u32(tb[IFLA_LINK]));
drivers/net/macvlan.c
1485
if (!tb[IFLA_MTU])
drivers/net/macvlan.c
1494
if (!tb[IFLA_ADDRESS])
drivers/net/macvlan.c
1613
struct nlattr *tb[], struct nlattr *data[],
drivers/net/netdevsim/netdev.c
1227
static int nsim_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/netkit.c
1088
static int netkit_change_link(struct net_device *dev, struct nlattr *tb[],
drivers/net/netkit.c
396
static struct net_device *netkit_alloc(struct nlattr *tb[],
drivers/net/netkit.c
495
static int netkit_check_policy(int policy, struct nlattr *tb,
drivers/net/netkit.c
503
NL_SET_ERR_MSG_ATTR(extack, tb,
drivers/net/netkit.c
509
static int netkit_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/netkit.c
512
struct nlattr *attr = tb[IFLA_ADDRESS];
drivers/net/netkit.c
538
struct nlattr **tb = params->tb;
drivers/net/netkit.c
546
tbp = tb;
drivers/net/netkit.c
595
(tb[IFLA_ADDRESS] || tbp[IFLA_ADDRESS]))
drivers/net/netkit.c
598
(tb != tbp || seen_peer || seen_scrub ||
drivers/net/netkit.c
639
if (mode == NETKIT_L2 && !tb[IFLA_ADDRESS])
drivers/net/netkit.c
641
if (tb[IFLA_IFNAME])
drivers/net/netkit.c
642
nla_strscpy(dev->name, tb[IFLA_IFNAME], IFNAMSIZ);
drivers/net/nlmon.c
84
static int nlmon_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/nlmon.c
87
if (tb[IFLA_ADDRESS])
drivers/net/ppp/ppp_generic.c
1296
static int ppp_nl_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/ppp/ppp_generic.c
1316
struct nlattr **tb = params->tb;
drivers/net/ppp/ppp_generic.c
1350
if (!tb[IFLA_IFNAME] || !nla_len(tb[IFLA_IFNAME]) || !*(char *)nla_data(tb[IFLA_IFNAME]))
drivers/net/team/team_core.c
2403
struct nlattr **tb = params->tb;
drivers/net/team/team_core.c
2405
if (tb[IFLA_ADDRESS] == NULL)
drivers/net/team/team_core.c
2411
static int team_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/team/team_core.c
2414
if (tb[IFLA_ADDRESS]) {
drivers/net/team/team_core.c
2415
if (nla_len(tb[IFLA_ADDRESS]) != ETH_ALEN)
drivers/net/team/team_core.c
2417
if (!is_valid_ether_addr(nla_data(tb[IFLA_ADDRESS])))
drivers/net/thunderbolt/main.c
933
ring = tb_ring_alloc_tx(xd->tb->nhi, -1, TBNET_RING_SIZE, flags);
drivers/net/thunderbolt/main.c
952
ring = tb_ring_alloc_rx(xd->tb->nhi, -1, TBNET_RING_SIZE, flags,
drivers/net/tun.c
2282
static int tun_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/veth.c
1771
static int veth_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/veth.c
1774
if (tb[IFLA_ADDRESS]) {
drivers/net/veth.c
1775
if (nla_len(tb[IFLA_ADDRESS]) != ETH_ALEN)
drivers/net/veth.c
1777
if (!is_valid_ether_addr(nla_data(tb[IFLA_ADDRESS])))
drivers/net/veth.c
1780
if (tb[IFLA_MTU]) {
drivers/net/veth.c
1781
if (!is_valid_veth_mtu(nla_get_u32(tb[IFLA_MTU])))
drivers/net/veth.c
1796
static int veth_init_queues(struct net_device *dev, struct nlattr *tb[])
drivers/net/veth.c
1800
if (!tb[IFLA_NUM_TX_QUEUES] && dev->num_tx_queues > 1) {
drivers/net/veth.c
1805
if (!tb[IFLA_NUM_RX_QUEUES] && dev->num_rx_queues > 1) {
drivers/net/veth.c
1819
struct nlattr **tb = params->tb;
drivers/net/veth.c
1839
tbp = tb;
drivers/net/veth.c
1884
if (tb[IFLA_ADDRESS] == NULL)
drivers/net/veth.c
1887
if (tb[IFLA_IFNAME])
drivers/net/veth.c
1888
nla_strscpy(dev->name, tb[IFLA_IFNAME], IFNAMSIZ);
drivers/net/veth.c
1904
err = veth_init_queues(dev, tb);
drivers/net/veth.c
1910
err = veth_init_queues(peer, tb);
drivers/net/vrf.c
1607
static int vrf_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/vrf.c
1610
if (tb[IFLA_ADDRESS]) {
drivers/net/vrf.c
1611
if (nla_len(tb[IFLA_ADDRESS]) != ETH_ALEN) {
drivers/net/vrf.c
1615
if (!is_valid_ether_addr(nla_data(tb[IFLA_ADDRESS]))) {
drivers/net/vxlan/vxlan_core.c
1146
static int vxlan_fdb_parse(struct nlattr *tb[], struct vxlan_dev *vxlan,
drivers/net/vxlan/vxlan_core.c
1154
if (tb[NDA_NH_ID] &&
drivers/net/vxlan/vxlan_core.c
1155
(tb[NDA_DST] || tb[NDA_VNI] || tb[NDA_IFINDEX] || tb[NDA_PORT])) {
drivers/net/vxlan/vxlan_core.c
1160
if (tb[NDA_DST]) {
drivers/net/vxlan/vxlan_core.c
1161
err = vxlan_nla_get_addr(ip, tb[NDA_DST]);
drivers/net/vxlan/vxlan_core.c
1180
if (tb[NDA_PORT]) {
drivers/net/vxlan/vxlan_core.c
1181
if (nla_len(tb[NDA_PORT]) != sizeof(__be16)) {
drivers/net/vxlan/vxlan_core.c
1185
*port = nla_get_be16(tb[NDA_PORT]);
drivers/net/vxlan/vxlan_core.c
1190
if (tb[NDA_VNI]) {
drivers/net/vxlan/vxlan_core.c
1191
if (nla_len(tb[NDA_VNI]) != sizeof(u32)) {
drivers/net/vxlan/vxlan_core.c
1195
*vni = cpu_to_be32(nla_get_u32(tb[NDA_VNI]));
drivers/net/vxlan/vxlan_core.c
1200
if (tb[NDA_SRC_VNI]) {
drivers/net/vxlan/vxlan_core.c
1201
if (nla_len(tb[NDA_SRC_VNI]) != sizeof(u32)) {
drivers/net/vxlan/vxlan_core.c
1205
*src_vni = cpu_to_be32(nla_get_u32(tb[NDA_SRC_VNI]));
drivers/net/vxlan/vxlan_core.c
1210
if (tb[NDA_IFINDEX]) {
drivers/net/vxlan/vxlan_core.c
1213
if (nla_len(tb[NDA_IFINDEX]) != sizeof(u32)) {
drivers/net/vxlan/vxlan_core.c
1217
*ifindex = nla_get_u32(tb[NDA_IFINDEX]);
drivers/net/vxlan/vxlan_core.c
1227
*nhid = nla_get_u32_default(tb[NDA_NH_ID], 0);
drivers/net/vxlan/vxlan_core.c
1233
static int vxlan_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
drivers/net/vxlan/vxlan_core.c
1252
if (!tb || (!tb[NDA_DST] && !tb[NDA_NH_ID]))
drivers/net/vxlan/vxlan_core.c
1255
err = vxlan_fdb_parse(tb, vxlan, &ip, &port, &src_vni, &vni, &ifindex,
drivers/net/vxlan/vxlan_core.c
1310
static int vxlan_fdb_delete(struct ndmsg *ndm, struct nlattr *tb[],
drivers/net/vxlan/vxlan_core.c
1322
err = vxlan_fdb_parse(tb, vxlan, &ip, &port, &src_vni, &vni, &ifindex,
drivers/net/vxlan/vxlan_core.c
1390
struct nlattr *tb[],
drivers/net/vxlan/vxlan_core.c
1401
if (tb[NDA_VNI])
drivers/net/vxlan/vxlan_core.c
1402
vni = cpu_to_be32(nla_get_u32(tb[NDA_VNI]));
drivers/net/vxlan/vxlan_core.c
3130
struct nlattr *tb[NDA_MAX + 1];
drivers/net/vxlan/vxlan_core.c
3136
err = nlmsg_parse(nlh, sizeof(*ndm), tb, NDA_MAX, vxlan_del_bulk_policy,
drivers/net/vxlan/vxlan_core.c
3153
if (tb[NDA_NDM_STATE_MASK])
drivers/net/vxlan/vxlan_core.c
3154
desc.state_mask = nla_get_u16(tb[NDA_NDM_STATE_MASK]);
drivers/net/vxlan/vxlan_core.c
3156
if (tb[NDA_NDM_FLAGS_MASK])
drivers/net/vxlan/vxlan_core.c
3157
desc.flags_mask = nla_get_u8(tb[NDA_NDM_FLAGS_MASK]);
drivers/net/vxlan/vxlan_core.c
3159
if (tb[NDA_SRC_VNI])
drivers/net/vxlan/vxlan_core.c
3160
desc.src_vni = cpu_to_be32(nla_get_u32(tb[NDA_SRC_VNI]));
drivers/net/vxlan/vxlan_core.c
3162
if (tb[NDA_NH_ID])
drivers/net/vxlan/vxlan_core.c
3163
desc.nhid = nla_get_u32(tb[NDA_NH_ID]);
drivers/net/vxlan/vxlan_core.c
3165
if (tb[NDA_VNI])
drivers/net/vxlan/vxlan_core.c
3166
desc.vni = cpu_to_be32(nla_get_u32(tb[NDA_VNI]));
drivers/net/vxlan/vxlan_core.c
3168
if (tb[NDA_PORT])
drivers/net/vxlan/vxlan_core.c
3169
desc.port = nla_get_be16(tb[NDA_PORT]);
drivers/net/vxlan/vxlan_core.c
3171
if (tb[NDA_DST]) {
drivers/net/vxlan/vxlan_core.c
3174
err = vxlan_nla_get_addr(&ip, tb[NDA_DST]);
drivers/net/vxlan/vxlan_core.c
3176
NL_SET_ERR_MSG_ATTR(extack, tb[NDA_DST],
drivers/net/vxlan/vxlan_core.c
3454
static int vxlan_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/vxlan/vxlan_core.c
3457
if (tb[IFLA_ADDRESS]) {
drivers/net/vxlan/vxlan_core.c
3458
if (nla_len(tb[IFLA_ADDRESS]) != ETH_ALEN) {
drivers/net/vxlan/vxlan_core.c
3459
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_ADDRESS],
drivers/net/vxlan/vxlan_core.c
3464
if (!is_valid_ether_addr(nla_data(tb[IFLA_ADDRESS]))) {
drivers/net/vxlan/vxlan_core.c
3465
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_ADDRESS],
drivers/net/vxlan/vxlan_core.c
3471
if (tb[IFLA_MTU]) {
drivers/net/vxlan/vxlan_core.c
3472
u32 mtu = nla_get_u32(tb[IFLA_MTU]);
drivers/net/vxlan/vxlan_core.c
3475
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_MTU],
drivers/net/vxlan/vxlan_core.c
4036
static int vxlan_nl2flag(struct vxlan_config *conf, struct nlattr *tb[],
drivers/net/vxlan/vxlan_core.c
4043
if (!tb[attrtype])
drivers/net/vxlan/vxlan_core.c
4053
else if (nla_get_u8(tb[attrtype]))
drivers/net/vxlan/vxlan_core.c
4063
static int vxlan_nl2conf(struct nlattr *tb[], struct nlattr *data[],
drivers/net/vxlan/vxlan_core.c
4084
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_VXLAN_ID], "Cannot change VNI");
drivers/net/vxlan/vxlan_core.c
4092
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_VXLAN_GROUP], "New group address family does not match old group");
drivers/net/vxlan/vxlan_core.c
4100
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_VXLAN_GROUP6], "IPv6 support not enabled in the kernel");
drivers/net/vxlan/vxlan_core.c
4105
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_VXLAN_GROUP6], "New group address family does not match old group");
drivers/net/vxlan/vxlan_core.c
4115
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_VXLAN_LOCAL], "New local address family does not match old");
drivers/net/vxlan/vxlan_core.c
4123
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_VXLAN_LOCAL6], "IPv6 support not enabled in the kernel");
drivers/net/vxlan/vxlan_core.c
4128
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_VXLAN_LOCAL6], "New local address family does not match old");
drivers/net/vxlan/vxlan_core.c
4209
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_VXLAN_LIMIT],
drivers/net/vxlan/vxlan_core.c
4231
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_VXLAN_PORT_RANGE],
drivers/net/vxlan/vxlan_core.c
4239
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_VXLAN_PORT],
drivers/net/vxlan/vxlan_core.c
4248
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_VXLAN_UDP_CSUM],
drivers/net/vxlan/vxlan_core.c
4373
if (tb[IFLA_MTU]) {
drivers/net/vxlan/vxlan_core.c
4375
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_MTU],
drivers/net/vxlan/vxlan_core.c
4379
conf->mtu = nla_get_u32(tb[IFLA_MTU]);
drivers/net/vxlan/vxlan_core.c
4409
struct nlattr **tb = params->tb;
drivers/net/vxlan/vxlan_core.c
4413
err = vxlan_nl2conf(tb, data, dev, &conf, false, extack);
drivers/net/vxlan/vxlan_core.c
4420
static int vxlan_changelink(struct net_device *dev, struct nlattr *tb[],
drivers/net/vxlan/vxlan_core.c
4435
err = vxlan_nl2conf(tb, data, dev, &conf, true, extack);
drivers/net/vxlan/vxlan_core.c
4705
struct nlattr *tb[IFLA_MAX + 1];
drivers/net/vxlan/vxlan_core.c
4709
memset(&tb, 0, sizeof(tb));
drivers/net/vxlan/vxlan_core.c
4712
&vxlan_link_ops, tb, NULL);
drivers/net/vxlan/vxlan_mdb.c
1287
int vxlan_mdb_add(struct net_device *dev, struct nlattr *tb[], u16 nlmsg_flags,
drivers/net/vxlan/vxlan_mdb.c
1295
err = vxlan_mdb_config_init(&cfg, dev, tb, nlmsg_flags, extack);
drivers/net/vxlan/vxlan_mdb.c
1305
int vxlan_mdb_del(struct net_device *dev, struct nlattr *tb[],
drivers/net/vxlan/vxlan_mdb.c
1313
err = vxlan_mdb_config_init(&cfg, dev, tb, 0, extack);
drivers/net/vxlan/vxlan_mdb.c
1337
struct nlattr *tb[],
drivers/net/vxlan/vxlan_mdb.c
1340
struct br_mdb_entry *entry = nla_data(tb[MDBA_SET_ENTRY]);
drivers/net/vxlan/vxlan_mdb.c
1354
if (!tb[MDBA_SET_ENTRY_ATTRS])
drivers/net/vxlan/vxlan_mdb.c
1358
tb[MDBA_SET_ENTRY_ATTRS],
drivers/net/vxlan/vxlan_mdb.c
1444
int vxlan_mdb_del_bulk(struct net_device *dev, struct nlattr *tb[],
drivers/net/vxlan/vxlan_mdb.c
1453
err = vxlan_mdb_flush_desc_init(vxlan, &desc, tb, extack);
drivers/net/vxlan/vxlan_mdb.c
1469
static int vxlan_mdb_get_parse(struct net_device *dev, struct nlattr *tb[],
drivers/net/vxlan/vxlan_mdb.c
1473
struct br_mdb_entry *entry = nla_data(tb[MDBA_GET_ENTRY]);
drivers/net/vxlan/vxlan_mdb.c
1481
if (!tb[MDBA_GET_ENTRY_ATTRS]) {
drivers/net/vxlan/vxlan_mdb.c
1487
tb[MDBA_GET_ENTRY_ATTRS],
drivers/net/vxlan/vxlan_mdb.c
1574
int vxlan_mdb_get(struct net_device *dev, struct nlattr *tb[], u32 portid,
drivers/net/vxlan/vxlan_mdb.c
1585
err = vxlan_mdb_get_parse(dev, tb, &group, extack);
drivers/net/vxlan/vxlan_mdb.c
418
struct nlattr *tb[MDBE_SRCATTR_MAX + 1];
drivers/net/vxlan/vxlan_mdb.c
422
err = nla_parse_nested(tb, MDBE_SRCATTR_MAX, src_entry,
drivers/net/vxlan/vxlan_mdb.c
427
if (NL_REQ_ATTR_CHECK(extack, src_entry, tb, MDBE_SRCATTR_ADDRESS))
drivers/net/vxlan/vxlan_mdb.c
430
if (!vxlan_mdb_is_valid_source(tb[MDBE_SRCATTR_ADDRESS], proto,
drivers/net/vxlan/vxlan_mdb.c
438
err = vxlan_nla_get_addr(&src->addr, tb[MDBE_SRCATTR_ADDRESS]);
drivers/net/vxlan/vxlan_mdb.c
602
struct net_device *dev, struct nlattr *tb[],
drivers/net/vxlan/vxlan_mdb.c
606
struct br_mdb_entry *entry = nla_data(tb[MDBA_SET_ENTRY]);
drivers/net/vxlan/vxlan_mdb.c
649
if (NL_REQ_ATTR_CHECK(extack, NULL, tb, MDBA_SET_ENTRY_ATTRS)) {
drivers/net/vxlan/vxlan_mdb.c
654
return vxlan_mdb_config_attrs_init(cfg, entry, tb[MDBA_SET_ENTRY_ATTRS],
drivers/net/vxlan/vxlan_private.h
235
int vxlan_mdb_add(struct net_device *dev, struct nlattr *tb[], u16 nlmsg_flags,
drivers/net/vxlan/vxlan_private.h
237
int vxlan_mdb_del(struct net_device *dev, struct nlattr *tb[],
drivers/net/vxlan/vxlan_private.h
239
int vxlan_mdb_del_bulk(struct net_device *dev, struct nlattr *tb[],
drivers/net/vxlan/vxlan_private.h
241
int vxlan_mdb_get(struct net_device *dev, struct nlattr *tb[], u32 portid,
drivers/net/wireless/ath/ath10k/testmode.c
196
static int ath10k_tm_cmd_get_version(struct ath10k *ar, struct nlattr *tb[])
drivers/net/wireless/ath/ath10k/testmode.c
322
static int ath10k_tm_cmd_utf_start(struct ath10k *ar, struct nlattr *tb[])
drivers/net/wireless/ath/ath10k/testmode.c
456
static int ath10k_tm_cmd_utf_stop(struct ath10k *ar, struct nlattr *tb[])
drivers/net/wireless/ath/ath10k/testmode.c
480
static int ath10k_tm_cmd_wmi(struct ath10k *ar, struct nlattr *tb[])
drivers/net/wireless/ath/ath10k/testmode.c
494
if (!tb[ATH10K_TM_ATTR_DATA]) {
drivers/net/wireless/ath/ath10k/testmode.c
499
if (!tb[ATH10K_TM_ATTR_WMI_CMDID]) {
drivers/net/wireless/ath/ath10k/testmode.c
504
buf = nla_data(tb[ATH10K_TM_ATTR_DATA]);
drivers/net/wireless/ath/ath10k/testmode.c
505
buf_len = nla_len(tb[ATH10K_TM_ATTR_DATA]);
drivers/net/wireless/ath/ath10k/testmode.c
506
cmd_id = nla_get_u32(tb[ATH10K_TM_ATTR_WMI_CMDID]);
drivers/net/wireless/ath/ath10k/testmode.c
536
static int ath10k_tm_cmd_tlv(struct ath10k *ar, struct nlattr *tb[])
drivers/net/wireless/ath/ath10k/testmode.c
552
buf = nla_data(tb[ATH10K_TM_ATTR_DATA]);
drivers/net/wireless/ath/ath10k/testmode.c
553
buf_len = nla_len(tb[ATH10K_TM_ATTR_DATA]);
drivers/net/wireless/ath/ath10k/testmode.c
619
struct nlattr *tb[ATH10K_TM_ATTR_MAX + 1];
drivers/net/wireless/ath/ath10k/testmode.c
622
ret = nla_parse_deprecated(tb, ATH10K_TM_ATTR_MAX, data, len,
drivers/net/wireless/ath/ath10k/testmode.c
627
if (!tb[ATH10K_TM_ATTR_CMD])
drivers/net/wireless/ath/ath10k/testmode.c
632
switch (nla_get_u32(tb[ATH10K_TM_ATTR_CMD])) {
drivers/net/wireless/ath/ath10k/testmode.c
634
if (!tb[ATH10K_TM_ATTR_DATA])
drivers/net/wireless/ath/ath10k/testmode.c
635
return ath10k_tm_cmd_get_version(ar, tb);
drivers/net/wireless/ath/ath10k/testmode.c
637
return ath10k_tm_cmd_tlv(ar, tb);
drivers/net/wireless/ath/ath10k/testmode.c
639
return ath10k_tm_cmd_utf_start(ar, tb);
drivers/net/wireless/ath/ath10k/testmode.c
641
return ath10k_tm_cmd_utf_stop(ar, tb);
drivers/net/wireless/ath/ath10k/testmode.c
643
return ath10k_tm_cmd_wmi(ar, tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1005
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1009
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1010
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1011
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1016
ev = tb[WMI_TLV_TAG_STRUCT_CHAN_INFO_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1018
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1032
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1040
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1044
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1045
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1046
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1051
ev = tb[WMI_TLV_TAG_STRUCT_VDEV_START_RESPONSE_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1053
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1063
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1071
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1075
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1076
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1077
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1082
ev = tb[WMI_TLV_TAG_STRUCT_PEER_STA_KICKOUT_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1084
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1090
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1218
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1223
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1224
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1225
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1230
ev = tb[WMI_TLV_TAG_STRUCT_COMB_PHYERR_RX_HDR];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1231
phyerrs = tb[WMI_TLV_TAG_ARRAY_BYTE];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1234
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1244
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
127
const void **tb = data;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
130
tb[tag] = ptr;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
135
static int ath10k_wmi_tlv_parse(struct ath10k *ar, const void **tb,
drivers/net/wireless/ath/ath10k/wmi-tlv.c
139
(void *)tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1396
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1400
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1401
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1402
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1407
ev = tb[WMI_TLV_TAG_STRUCT_READY_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1409
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1418
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
146
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
149
tb = kzalloc_objs(*tb, WMI_TLV_TAG_MAX, gfp);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1497
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
150
if (!tb)
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1511
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1512
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1513
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1518
ev = tb[WMI_TLV_TAG_STRUCT_STATS_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1519
data = tb[WMI_TLV_TAG_ARRAY_BYTE];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1522
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
153
ret = ath10k_wmi_tlv_parse(ar, tb, ptr, len);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1546
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
155
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1569
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
159
return tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1590
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1628
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1636
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1640
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1641
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1642
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1647
ev = tb[WMI_TLV_TAG_STRUCT_ROAM_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1649
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1657
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1665
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1669
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1670
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1671
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1676
ev = tb[WMI_TLV_TAG_STRUCT_WOW_EVENT_INFO];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1678
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1687
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1695
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1699
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1700
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1701
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1706
ev = tb[WMI_TLV_TAG_STRUCT_ECHO_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1708
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
1714
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
173
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
179
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
180
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
181
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
186
ev = tb[WMI_TLV_TAG_STRUCT_OFFLOAD_BCN_TX_STATUS_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
188
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
213
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
267
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
274
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
275
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
276
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
281
ev = tb[WMI_TLV_TAG_STRUCT_PEER_STATS_INFO_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
282
data = tb[WMI_TLV_TAG_ARRAY_STRUCT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
285
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
303
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
318
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
324
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
325
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
326
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
331
ev = tb[WMI_TLV_TAG_STRUCT_DIAG_DATA_CONTAINER_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
332
data = tb[WMI_TLV_TAG_ARRAY_BYTE];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
334
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
374
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
381
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
385
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
386
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
387
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
392
data = tb[WMI_TLV_TAG_ARRAY_BYTE];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
394
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
402
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
409
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
414
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
415
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
416
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
421
ev = tb[WMI_TLV_TAG_STRUCT_P2P_NOA_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
422
noa = tb[WMI_TLV_TAG_STRUCT_P2P_NOA_INFO];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
425
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
436
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
443
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
448
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
449
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
450
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
455
ev = tb[WMI_TLV_TAG_STRUCT_TX_PAUSE_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
457
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
501
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
509
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
513
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
514
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
515
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
522
ev = tb[WMI_TLV_TAG_STRUCT_RFKILL_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
524
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
565
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
568
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
569
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
573
ev = tb[WMI_TLV_TAG_STRUCT_TDLS_PEER_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
575
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
608
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
614
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
815
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
819
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
820
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
821
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
826
ev = tb[WMI_TLV_TAG_STRUCT_SCAN_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
828
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
839
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
847
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
851
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
852
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
853
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
858
ev = tb[WMI_TLV_TAG_STRUCT_MGMT_TX_COMPL_EVENT];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
860
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
872
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
953
const void **tb;
drivers/net/wireless/ath/ath10k/wmi-tlv.c
959
tb = ath10k_wmi_tlv_parse_alloc(ar, skb->data, skb->len, GFP_ATOMIC);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
960
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath10k/wmi-tlv.c
961
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
966
ev = tb[WMI_TLV_TAG_STRUCT_MGMT_RX_HDR];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
967
frame = tb[WMI_TLV_TAG_ARRAY_BYTE];
drivers/net/wireless/ath/ath10k/wmi-tlv.c
970
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
987
kfree(tb);
drivers/net/wireless/ath/ath10k/wmi-tlv.c
997
kfree(tb);
drivers/net/wireless/ath/ath11k/testmode.c
196
const void **tb;
drivers/net/wireless/ath/ath11k/testmode.c
201
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/testmode.c
202
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/testmode.c
203
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/testmode.c
208
ev = tb[WMI_TAG_ARRAY_BYTE];
drivers/net/wireless/ath/ath11k/testmode.c
211
kfree(tb);
drivers/net/wireless/ath/ath11k/testmode.c
220
kfree(tb);
drivers/net/wireless/ath/ath11k/testmode.c
231
static int ath11k_tm_cmd_get_version(struct ath11k *ar, struct nlattr *tb[])
drivers/net/wireless/ath/ath11k/testmode.c
263
static int ath11k_tm_cmd_testmode_start(struct ath11k *ar, struct nlattr *tb[])
drivers/net/wireless/ath/ath11k/testmode.c
300
static int ath11k_tm_cmd_wmi(struct ath11k *ar, struct nlattr *tb[],
drivers/net/wireless/ath/ath11k/testmode.c
313
if (!tb[ATH_TM_ATTR_DATA]) {
drivers/net/wireless/ath/ath11k/testmode.c
318
if (!tb[ATH_TM_ATTR_WMI_CMDID]) {
drivers/net/wireless/ath/ath11k/testmode.c
323
buf = nla_data(tb[ATH_TM_ATTR_DATA]);
drivers/net/wireless/ath/ath11k/testmode.c
324
buf_len = nla_len(tb[ATH_TM_ATTR_DATA]);
drivers/net/wireless/ath/ath11k/testmode.c
331
cmd_id = nla_get_u32(tb[ATH_TM_ATTR_WMI_CMDID]);
drivers/net/wireless/ath/ath11k/testmode.c
390
static int ath11k_tm_cmd_wmi_ftm(struct ath11k *ar, struct nlattr *tb[])
drivers/net/wireless/ath/ath11k/testmode.c
412
if (!tb[ATH_TM_ATTR_DATA]) {
drivers/net/wireless/ath/ath11k/testmode.c
417
buf = nla_data(tb[ATH_TM_ATTR_DATA]);
drivers/net/wireless/ath/ath11k/testmode.c
418
buf_len = nla_len(tb[ATH_TM_ATTR_DATA]);
drivers/net/wireless/ath/ath11k/testmode.c
480
struct nlattr *tb[ATH_TM_ATTR_MAX + 1];
drivers/net/wireless/ath/ath11k/testmode.c
483
ret = nla_parse(tb, ATH_TM_ATTR_MAX, data, len, ath11k_tm_policy,
drivers/net/wireless/ath/ath11k/testmode.c
488
if (!tb[ATH_TM_ATTR_CMD])
drivers/net/wireless/ath/ath11k/testmode.c
491
switch (nla_get_u32(tb[ATH_TM_ATTR_CMD])) {
drivers/net/wireless/ath/ath11k/testmode.c
493
return ath11k_tm_cmd_get_version(ar, tb);
drivers/net/wireless/ath/ath11k/testmode.c
495
return ath11k_tm_cmd_wmi(ar, tb, vif);
drivers/net/wireless/ath/ath11k/testmode.c
497
return ath11k_tm_cmd_testmode_start(ar, tb);
drivers/net/wireless/ath/ath11k/testmode.c
499
return ath11k_tm_cmd_wmi_ftm(ar, tb);
drivers/net/wireless/ath/ath11k/wmi.c
231
const void **tb = data;
drivers/net/wireless/ath/ath11k/wmi.c
234
tb[tag] = ptr;
drivers/net/wireless/ath/ath11k/wmi.c
239
static int ath11k_wmi_tlv_parse(struct ath11k_base *ar, const void **tb,
drivers/net/wireless/ath/ath11k/wmi.c
243
(void *)tb);
drivers/net/wireless/ath/ath11k/wmi.c
249
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
252
tb = kzalloc_objs(*tb, WMI_TAG_MAX, gfp);
drivers/net/wireless/ath/ath11k/wmi.c
253
if (!tb)
drivers/net/wireless/ath/ath11k/wmi.c
256
ret = ath11k_wmi_tlv_parse(ab, tb, skb->data, skb->len);
drivers/net/wireless/ath/ath11k/wmi.c
258
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
262
return tb;
drivers/net/wireless/ath/ath11k/wmi.c
4096
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
4101
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
4102
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
4103
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
4112
ev = tb[WMI_TAG_OBSS_COLOR_COLLISION_EVT];
drivers/net/wireless/ath/ath11k/wmi.c
4142
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5178
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
5182
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
5183
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
5184
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5189
ev = tb[WMI_TAG_VDEV_START_RESPONSE_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
5192
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5209
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5273
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
5281
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
5282
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
5283
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5288
chan_list_event_hdr = tb[WMI_TAG_REG_CHAN_LIST_CC_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
5291
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5300
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5350
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5366
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5378
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5446
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
5457
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
5458
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
5459
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5464
ev = tb[WMI_TAG_REG_CHAN_LIST_CC_EXT_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
5467
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5499
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5509
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5537
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5544
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5658
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5697
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5720
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5742
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5802
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5809
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
5813
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
5814
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
5815
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5820
ev = tb[WMI_TAG_PEER_DELETE_RESP_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
5823
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5833
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5841
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
5845
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
5846
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
5847
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5852
ev = tb[WMI_TAG_VDEV_DELETE_RESP_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
5855
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5861
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5869
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
5873
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
5874
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
5875
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5880
ev = tb[WMI_TAG_OFFLOAD_BCN_TX_STATUS_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
5883
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5890
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5897
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
5901
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
5902
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
5903
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5908
ev = tb[WMI_TAG_VDEV_STOPPED_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
5911
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
5917
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6054
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
6058
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
6059
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
6060
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6065
ev = tb[WMI_TAG_MGMT_TX_COMPL_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
6068
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6077
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6230
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
6234
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
6235
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
6236
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6241
ev = tb[WMI_TAG_SCAN_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
6244
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6256
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6263
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
6267
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
6268
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
6269
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6274
ev = tb[WMI_TAG_PEER_STA_KICKOUT_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
6277
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6283
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6290
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
6294
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
6295
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
6296
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6301
ev = tb[WMI_TAG_ROAM_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
6304
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6312
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6338
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
6342
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
6343
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
6344
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6349
ev = tb[WMI_TAG_CHAN_INFO_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
6352
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6369
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6377
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
6381
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
6382
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
6383
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6388
ev = tb[WMI_TAG_PDEV_BSS_CHAN_INFO_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
6391
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6409
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6417
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
6421
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
6422
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
6423
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6428
ev = tb[WMI_TAG_VDEV_INSTALL_KEY_COMPLETE_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
6431
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6441
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6448
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
6452
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
6453
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
6454
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6459
ev = tb[WMI_TAG_PEER_ASSOC_CONF_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
6462
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
6469
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
7174
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
7177
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
7178
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
7179
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
7184
ev = tb[WMI_TAG_11D_NEW_COUNTRY_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
7186
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
7199
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
7482
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
7486
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
7487
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
7488
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
7493
ev = tb[WMI_TAG_PEER_STA_PS_STATECHANGE_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
7496
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
7572
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8319
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
8323
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
8324
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
8325
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8330
ev = tb[WMI_TAG_PDEV_CTL_FAILSAFE_CHECK_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
8333
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8348
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8383
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
8388
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
8389
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
8390
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8395
ev = tb[WMI_TAG_PDEV_CSA_SWITCH_COUNT_STATUS_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
8396
vdev_ids = tb[WMI_TAG_ARRAY_UINT32];
drivers/net/wireless/ath/ath11k/wmi.c
8400
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8411
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8417
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
8422
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
8423
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
8424
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8429
ev = tb[WMI_TAG_PDEV_DFS_RADAR_DETECTION_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
8433
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8464
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8472
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
8476
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
8477
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
8478
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8483
ev = tb[WMI_TAG_PDEV_TEMPERATURE_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
8486
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8506
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8512
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
8516
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
8517
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
8518
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8527
ev = tb[WMI_TAG_HOST_SWFDA_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
8530
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8538
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8544
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
8548
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
8549
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
8550
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8559
ev = tb[WMI_TAG_OFFLOAD_PRB_RSP_TX_STATUS_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
8563
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8572
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8670
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
8674
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
8675
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
8676
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8685
ev = tb[WMI_TAG_TWT_ADD_DIALOG_COMPLETE_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
8698
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8704
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
8711
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
8712
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
8713
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8718
ev = tb[WMI_TAG_GTK_OFFLOAD_STATUS_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
8721
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8751
kfree(tb);
drivers/net/wireless/ath/ath11k/wmi.c
8757
const void **tb;
drivers/net/wireless/ath/ath11k/wmi.c
8764
tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/wmi.c
8765
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath11k/wmi.c
8766
ath11k_warn(ab, "failed to parse tlv: %ld\n", PTR_ERR(tb));
drivers/net/wireless/ath/ath11k/wmi.c
8770
ev = tb[WMI_TAG_P2P_NOA_EVENT];
drivers/net/wireless/ath/ath11k/wmi.c
8771
noa = tb[WMI_TAG_P2P_NOA_INFO];
drivers/net/wireless/ath/ath11k/wmi.c
8803
kfree(tb);
drivers/net/wireless/ath/ath12k/testmode.c
179
static int ath12k_tm_cmd_get_version(struct ath12k *ar, struct nlattr *tb[])
drivers/net/wireless/ath/ath12k/testmode.c
207
static int ath12k_tm_cmd_process_ftm(struct ath12k *ar, struct nlattr *tb[])
drivers/net/wireless/ath/ath12k/testmode.c
223
if (!tb[ATH_TM_ATTR_DATA])
drivers/net/wireless/ath/ath12k/testmode.c
226
buf = nla_data(tb[ATH_TM_ATTR_DATA]);
drivers/net/wireless/ath/ath12k/testmode.c
227
buf_len = nla_len(tb[ATH_TM_ATTR_DATA]);
drivers/net/wireless/ath/ath12k/testmode.c
281
static int ath12k_tm_cmd_testmode_start(struct ath12k *ar, struct nlattr *tb[])
drivers/net/wireless/ath/ath12k/testmode.c
300
static int ath12k_tm_cmd_wmi(struct ath12k *ar, struct nlattr *tb[])
drivers/net/wireless/ath/ath12k/testmode.c
309
if (!tb[ATH_TM_ATTR_DATA])
drivers/net/wireless/ath/ath12k/testmode.c
312
if (!tb[ATH_TM_ATTR_WMI_CMDID])
drivers/net/wireless/ath/ath12k/testmode.c
315
buf = nla_data(tb[ATH_TM_ATTR_DATA]);
drivers/net/wireless/ath/ath12k/testmode.c
316
buf_len = nla_len(tb[ATH_TM_ATTR_DATA]);
drivers/net/wireless/ath/ath12k/testmode.c
323
cmd_id = nla_get_u32(tb[ATH_TM_ATTR_WMI_CMDID]);
drivers/net/wireless/ath/ath12k/testmode.c
359
struct nlattr *tb[ATH_TM_ATTR_MAX + 1];
drivers/net/wireless/ath/ath12k/testmode.c
366
ret = nla_parse(tb, ATH_TM_ATTR_MAX, data, len, ath12k_tm_policy,
drivers/net/wireless/ath/ath12k/testmode.c
371
if (!tb[ATH_TM_ATTR_CMD])
drivers/net/wireless/ath/ath12k/testmode.c
382
switch (nla_get_u32(tb[ATH_TM_ATTR_CMD])) {
drivers/net/wireless/ath/ath12k/testmode.c
384
return ath12k_tm_cmd_wmi(ar, tb);
drivers/net/wireless/ath/ath12k/testmode.c
386
return ath12k_tm_cmd_testmode_start(ar, tb);
drivers/net/wireless/ath/ath12k/testmode.c
388
return ath12k_tm_cmd_get_version(ar, tb);
drivers/net/wireless/ath/ath12k/testmode.c
391
return ath12k_tm_cmd_process_ftm(ar, tb);
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
711
ath12k_wifi7_dp_mon_hal_rx_parse_u_sig_tb(&usig->non_cmn.tb, ppdu_info);
drivers/net/wireless/ath/ath12k/wifi7/hal_rx.h
622
struct hal_mon_usig_tb tb;
drivers/net/wireless/ath/ath12k/wmi.c
352
const void **tb = data;
drivers/net/wireless/ath/ath12k/wmi.c
355
tb[tag] = ptr;
drivers/net/wireless/ath/ath12k/wmi.c
363
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
366
tb = this_cpu_ptr(ath12k_wmi_tb);
drivers/net/wireless/ath/ath12k/wmi.c
367
memset(tb, 0, WMI_TAG_MAX * sizeof(*tb));
drivers/net/wireless/ath/ath12k/wmi.c
370
ath12k_wmi_tlv_iter_parse, (void *)tb);
drivers/net/wireless/ath/ath12k/wmi.c
374
return tb;
drivers/net/wireless/ath/ath12k/wmi.c
4041
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
4044
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
4045
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
4047
PTR_ERR(tb));
drivers/net/wireless/ath/ath12k/wmi.c
4051
ev = tb[WMI_TAG_OBSS_COLOR_COLLISION_EVT];
drivers/net/wireless/ath/ath12k/wmi.c
5837
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
5841
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
5842
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
5843
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
5848
ev = tb[WMI_TAG_VDEV_START_RESPONSE_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
5922
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
5934
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
5935
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
5936
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
5941
ev = tb[WMI_TAG_REG_CHAN_LIST_CC_EXT_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
6218
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
6222
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
6223
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
6224
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
6229
ev = tb[WMI_TAG_PEER_DELETE_RESP_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
6248
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
6252
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
6253
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
6254
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
6259
ev = tb[WMI_TAG_VDEV_DELETE_RESP_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
6274
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
6278
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
6279
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
6280
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
6285
ev = tb[WMI_TAG_OFFLOAD_BCN_TX_STATUS_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
6300
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
6304
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
6305
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
6306
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
6311
ev = tb[WMI_TAG_VDEV_STOPPED_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
6453
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
6457
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
6458
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
6459
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
6464
ev = tb[WMI_TAG_MGMT_TX_COMPL_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
6634
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
6638
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
6639
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
6640
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
6645
ev = tb[WMI_TAG_SCAN_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
6665
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
6669
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
6670
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
6671
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
6676
ev = tb[WMI_TAG_PEER_STA_KICKOUT_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
6692
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
6696
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
6697
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
6698
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
6703
ev = tb[WMI_TAG_ROAM_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
6742
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
6746
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
6747
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
6748
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
6753
ev = tb[WMI_TAG_CHAN_INFO_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
6779
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
6783
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
6784
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
6785
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
6790
ev = tb[WMI_TAG_PDEV_BSS_CHAN_INFO_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
6817
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
6821
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
6822
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
6823
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
6828
ev = tb[WMI_TAG_VDEV_INSTALL_KEY_COMPLETE_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
6846
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
6850
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
6851
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
6852
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
6857
ev = tb[WMI_TAG_PEER_ASSOC_CONF_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
6880
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
6883
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
6884
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
6885
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
6890
ev = tb[WMI_TAG_11D_NEW_COUNTRY_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
8678
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
8682
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
8683
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
8684
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
8689
ev = tb[WMI_TAG_PDEV_CTL_FAILSAFE_CHECK_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
9095
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
9100
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
9101
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
9102
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
9107
ev = tb[WMI_TAG_PDEV_CSA_SWITCH_COUNT_STATUS_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
9108
vdev_ids = tb[WMI_TAG_ARRAY_UINT32];
drivers/net/wireless/ath/ath12k/wmi.c
9126
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
9132
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
9133
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
9134
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
9139
ev = tb[WMI_TAG_PDEV_DFS_RADAR_DETECTION_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
9187
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
9191
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
9193
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
9194
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
9199
ev = tb[WMI_TAG_ARRAY_BYTE];
drivers/net/wireless/ath/ath12k/wmi.c
9215
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
9219
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
9220
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
9221
ath12k_warn(ab, "failed to parse tlv: %ld\n", PTR_ERR(tb));
drivers/net/wireless/ath/ath12k/wmi.c
9225
ev = tb[WMI_TAG_PDEV_TEMPERATURE_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
9258
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
9260
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
9261
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
9263
PTR_ERR(tb));
drivers/net/wireless/ath/ath12k/wmi.c
9267
ev = tb[WMI_TAG_THERM_THROT_STATS_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
9292
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
9296
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
9297
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
9298
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
9305
ev = tb[WMI_TAG_HOST_SWFDA_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
9319
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
9323
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
9324
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
9325
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
9332
ev = tb[WMI_TAG_OFFLOAD_PRB_RSP_TX_STATUS_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
9348
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
9354
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
9355
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
9356
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
9361
ev = tb[WMI_TAG_P2P_NOA_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
9362
noa = tb[WMI_TAG_P2P_NOA_INFO];
drivers/net/wireless/ath/ath12k/wmi.c
9395
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
9398
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
9399
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
9400
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
9405
ev = tb[WMI_TAG_RFKILL_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
9431
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
9435
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
9436
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
9437
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
9443
ev = tb[WMI_TAG_TWT_ENABLE_COMPLETE_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
9457
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
9461
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
9462
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
9463
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
9469
ev = tb[WMI_TAG_TWT_DISABLE_COMPLETE_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
9547
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
9550
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
9551
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
9552
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
9557
ev = tb[WMI_TAG_GTK_OFFLOAD_STATUS_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
9592
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
9595
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
9596
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
9597
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
9603
ev = tb[WMI_TAG_MLO_SETUP_COMPLETE_EVENT];
drivers/net/wireless/ath/ath12k/wmi.c
9635
const void **tb;
drivers/net/wireless/ath/ath12k/wmi.c
9638
tb = ath12k_wmi_tlv_parse(ab, skb);
drivers/net/wireless/ath/ath12k/wmi.c
9639
if (IS_ERR(tb)) {
drivers/net/wireless/ath/ath12k/wmi.c
9640
ret = PTR_ERR(tb);
drivers/net/wireless/ath/ath12k/wmi.c
9645
ev = tb[WMI_TAG_MLO_TEARDOWN_COMPLETE];
drivers/net/wireless/ath/ath6kl/testmode.c
73
struct nlattr *tb[ATH6KL_TM_ATTR_MAX + 1];
drivers/net/wireless/ath/ath6kl/testmode.c
77
err = nla_parse_deprecated(tb, ATH6KL_TM_ATTR_MAX, data, len,
drivers/net/wireless/ath/ath6kl/testmode.c
82
if (!tb[ATH6KL_TM_ATTR_CMD])
drivers/net/wireless/ath/ath6kl/testmode.c
85
switch (nla_get_u32(tb[ATH6KL_TM_ATTR_CMD])) {
drivers/net/wireless/ath/ath6kl/testmode.c
87
if (!tb[ATH6KL_TM_ATTR_DATA])
drivers/net/wireless/ath/ath6kl/testmode.c
90
buf = nla_data(tb[ATH6KL_TM_ATTR_DATA]);
drivers/net/wireless/ath/ath6kl/testmode.c
91
buf_len = nla_len(tb[ATH6KL_TM_ATTR_DATA]);
drivers/net/wireless/ath/wcn36xx/testmode.c
130
struct nlattr *tb[WCN36XX_TM_ATTR_MAX + 1];
drivers/net/wireless/ath/wcn36xx/testmode.c
135
ret = nla_parse_deprecated(tb, WCN36XX_TM_ATTR_MAX, data, len,
drivers/net/wireless/ath/wcn36xx/testmode.c
140
if (!tb[WCN36XX_TM_ATTR_CMD])
drivers/net/wireless/ath/wcn36xx/testmode.c
143
attr = nla_get_u16(tb[WCN36XX_TM_ATTR_CMD]);
drivers/net/wireless/ath/wcn36xx/testmode.c
148
return wcn36xx_tm_cmd_ptt(wcn, vif, tb);
drivers/net/wireless/ath/wcn36xx/testmode.c
44
struct nlattr *tb[])
drivers/net/wireless/ath/wcn36xx/testmode.c
51
if (!tb[WCN36XX_TM_ATTR_DATA])
drivers/net/wireless/ath/wcn36xx/testmode.c
54
buf = nla_data(tb[WCN36XX_TM_ATTR_DATA]);
drivers/net/wireless/ath/wcn36xx/testmode.c
55
buf_len = nla_len(tb[WCN36XX_TM_ATTR_DATA]);
drivers/net/wireless/ath/wil6210/cfg80211.c
2876
struct nlattr *tb[QCA_ATTR_DMG_RF_SECTOR_MAX + 1];
drivers/net/wireless/ath/wil6210/cfg80211.c
2895
rc = nla_parse_deprecated(tb, QCA_ATTR_DMG_RF_SECTOR_MAX, data,
drivers/net/wireless/ath/wil6210/cfg80211.c
2902
if (!tb[QCA_ATTR_DMG_RF_SECTOR_INDEX] ||
drivers/net/wireless/ath/wil6210/cfg80211.c
2903
!tb[QCA_ATTR_DMG_RF_SECTOR_TYPE] ||
drivers/net/wireless/ath/wil6210/cfg80211.c
2904
!tb[QCA_ATTR_DMG_RF_MODULE_MASK]) {
drivers/net/wireless/ath/wil6210/cfg80211.c
2910
tb[QCA_ATTR_DMG_RF_SECTOR_INDEX]);
drivers/net/wireless/ath/wil6210/cfg80211.c
2916
sector_type = nla_get_u8(tb[QCA_ATTR_DMG_RF_SECTOR_TYPE]);
drivers/net/wireless/ath/wil6210/cfg80211.c
2923
tb[QCA_ATTR_DMG_RF_MODULE_MASK]);
drivers/net/wireless/ath/wil6210/cfg80211.c
2997
struct nlattr *tb[QCA_ATTR_DMG_RF_SECTOR_MAX + 1];
drivers/net/wireless/ath/wil6210/cfg80211.c
3015
rc = nla_parse_deprecated(tb, QCA_ATTR_DMG_RF_SECTOR_MAX, data,
drivers/net/wireless/ath/wil6210/cfg80211.c
3022
if (!tb[QCA_ATTR_DMG_RF_SECTOR_INDEX] ||
drivers/net/wireless/ath/wil6210/cfg80211.c
3023
!tb[QCA_ATTR_DMG_RF_SECTOR_TYPE] ||
drivers/net/wireless/ath/wil6210/cfg80211.c
3024
!tb[QCA_ATTR_DMG_RF_SECTOR_CFG]) {
drivers/net/wireless/ath/wil6210/cfg80211.c
3030
tb[QCA_ATTR_DMG_RF_SECTOR_INDEX]);
drivers/net/wireless/ath/wil6210/cfg80211.c
3036
sector_type = nla_get_u8(tb[QCA_ATTR_DMG_RF_SECTOR_TYPE]);
drivers/net/wireless/ath/wil6210/cfg80211.c
3046
nla_for_each_nested(nl_cfg, tb[QCA_ATTR_DMG_RF_SECTOR_CFG],
drivers/net/wireless/ath/wil6210/cfg80211.c
3109
struct nlattr *tb[QCA_ATTR_DMG_RF_SECTOR_MAX + 1];
drivers/net/wireless/ath/wil6210/cfg80211.c
3124
rc = nla_parse_deprecated(tb, QCA_ATTR_DMG_RF_SECTOR_MAX, data,
drivers/net/wireless/ath/wil6210/cfg80211.c
3131
if (!tb[QCA_ATTR_DMG_RF_SECTOR_TYPE]) {
drivers/net/wireless/ath/wil6210/cfg80211.c
3135
sector_type = nla_get_u8(tb[QCA_ATTR_DMG_RF_SECTOR_TYPE]);
drivers/net/wireless/ath/wil6210/cfg80211.c
3141
if (tb[QCA_ATTR_MAC_ADDR]) {
drivers/net/wireless/ath/wil6210/cfg80211.c
3142
ether_addr_copy(mac_addr, nla_data(tb[QCA_ATTR_MAC_ADDR]));
drivers/net/wireless/ath/wil6210/cfg80211.c
3224
struct nlattr *tb[QCA_ATTR_DMG_RF_SECTOR_MAX + 1];
drivers/net/wireless/ath/wil6210/cfg80211.c
3232
rc = nla_parse_deprecated(tb, QCA_ATTR_DMG_RF_SECTOR_MAX, data,
drivers/net/wireless/ath/wil6210/cfg80211.c
3239
if (!tb[QCA_ATTR_DMG_RF_SECTOR_INDEX] ||
drivers/net/wireless/ath/wil6210/cfg80211.c
3240
!tb[QCA_ATTR_DMG_RF_SECTOR_TYPE]) {
drivers/net/wireless/ath/wil6210/cfg80211.c
3246
tb[QCA_ATTR_DMG_RF_SECTOR_INDEX]);
drivers/net/wireless/ath/wil6210/cfg80211.c
3253
sector_type = nla_get_u8(tb[QCA_ATTR_DMG_RF_SECTOR_TYPE]);
drivers/net/wireless/ath/wil6210/cfg80211.c
3259
if (tb[QCA_ATTR_MAC_ADDR]) {
drivers/net/wireless/ath/wil6210/cfg80211.c
3260
ether_addr_copy(mac_addr, nla_data(tb[QCA_ATTR_MAC_ADDR]));
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
4535
const struct phytbl_info *tb;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
4583
tb = dot11lcnphytbl_rx_gain_info_extlna_2G_rev2;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
4585
tb = dot11lcnphytbl_rx_gain_info_2G_rev2;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
4589
tb = dot11lcnphytbl_rx_gain_info_extlna_5G_rev2;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
4591
tb = dot11lcnphytbl_rx_gain_info_5G_rev2;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
4595
wlc_lcnphy_write_table(pi, &tb[idx]);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
4601
tb = &dot11lcn_sw_ctrl_tbl_info_4313_bt_epa;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
4603
tb = &dot11lcn_sw_ctrl_tbl_info_4313_bt_epa_p250;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
4605
tb = &dot11lcn_sw_ctrl_tbl_info_4313_epa;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
4609
tb = &dot11lcn_sw_ctrl_tbl_info_4313_bt_ipa;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
4611
tb = &dot11lcn_sw_ctrl_tbl_info_4313;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
4613
wlc_lcnphy_write_table(pi, tb);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3865
struct il_tfd_tb *tb = &tfd->tbs[idx];
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3867
dma_addr_t addr = get_unaligned_le32(&tb->lo);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3870
((dma_addr_t) (le16_to_cpu(tb->hi_n_len) & 0xF) << 16) <<
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3879
struct il_tfd_tb *tb = &tfd->tbs[idx];
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3881
return le16_to_cpu(tb->hi_n_len) >> 4;
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3887
struct il_tfd_tb *tb = &tfd->tbs[idx];
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3890
put_unaligned_le32(addr, &tb->lo);
drivers/net/wireless/intel/iwlegacy/4965-mac.c
3894
tb->hi_n_len = cpu_to_le16(hi_n_len);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
879
struct iwl_tfd_tb *tb;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
889
tb = &tfd->tbs[idx];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
891
return le16_to_cpu(tb->hi_n_len) >> 4;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
606
struct iwl_tfh_tb *tb;
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
620
tb = &tfd->tbs[idx];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
629
put_unaligned_le64(addr, &tb->addr);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c
630
tb->tb_len = cpu_to_le16(len);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
147
struct iwl_tfd_tb *tb = &tfd->tbs[idx];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
150
put_unaligned_le32(addr, &tb->lo);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
153
tb->hi_n_len = cpu_to_le16(hi_n_len);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
261
struct iwl_tfd_tb *tb = &tfd->tbs[idx];
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
265
addr = get_unaligned_le32(&tb->lo);
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c
270
hi_len = le16_to_cpu(tb->hi_n_len) & 0xF;
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4147
struct nlattr *tb[MWIFIEX_TM_ATTR_MAX + 1];
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4154
err = nla_parse_deprecated(tb, MWIFIEX_TM_ATTR_MAX, data, len,
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4159
if (!tb[MWIFIEX_TM_ATTR_CMD])
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4162
switch (nla_get_u32(tb[MWIFIEX_TM_ATTR_CMD])) {
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4164
if (!tb[MWIFIEX_TM_ATTR_DATA])
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4171
hostcmd->len = nla_len(tb[MWIFIEX_TM_ATTR_DATA]);
drivers/net/wireless/marvell/mwifiex/cfg80211.c
4172
memcpy(hostcmd->cmd, nla_data(tb[MWIFIEX_TM_ATTR_DATA]),
drivers/net/wireless/mediatek/mt76/mt76.h
780
int (*set_params)(struct mt76_phy *phy, struct nlattr **tb,
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
296
mt7615_tm_set_params(struct mt76_phy *mphy, struct nlattr **tb,
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
314
if (tb[tm_change_map[i]])
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
692
mt7915_tm_set_params(struct mt76_phy *mphy, struct nlattr **tb,
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
713
if (tb[tm_change_map[i]])
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
114
struct nlattr *tb[NUM_MT76_TM_ATTRS];
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
123
err = nla_parse_deprecated(tb, MT76_TM_ATTR_MAX, data, len,
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
128
if (tb[MT76_TM_ATTR_DRV_DATA]) {
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
132
data = tb[MT76_TM_ATTR_DRV_DATA];
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
151
struct nlattr *tb[NUM_MT76_TM_ATTRS];
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
164
err = nla_parse_deprecated(tb, MT76_TM_ATTR_MAX, data, len,
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
169
if (tb[MT76_TM_ATTR_DRV_DATA]) {
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c
173
data = tb[MT76_TM_ATTR_DRV_DATA];
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
124
struct nlattr *tb[NUM_MT76_TM_ATTRS];
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
133
err = nla_parse_deprecated(tb, MT76_TM_ATTR_MAX, data, len,
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
138
if (tb[MT76_TM_ATTR_DRV_DATA]) {
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
142
data = tb[MT76_TM_ATTR_DRV_DATA];
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
161
struct nlattr *tb[NUM_MT76_TM_ATTRS];
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
174
err = nla_parse_deprecated(tb, MT76_TM_ATTR_MAX, data, len,
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
179
if (tb[MT76_TM_ATTR_DRV_DATA]) {
drivers/net/wireless/mediatek/mt76/mt7925/testmode.c
183
data = tb[MT76_TM_ATTR_DRV_DATA];
drivers/net/wireless/mediatek/mt76/testmode.c
413
struct nlattr *tb[NUM_MT76_TM_ATTRS];
drivers/net/wireless/mediatek/mt76/testmode.c
421
err = nla_parse_deprecated(tb, MT76_TM_ATTR_MAX, data, len,
drivers/net/wireless/mediatek/mt76/testmode.c
430
if (tb[MT76_TM_ATTR_RESET]) {
drivers/net/wireless/mediatek/mt76/testmode.c
437
if (tb[MT76_TM_ATTR_TX_COUNT])
drivers/net/wireless/mediatek/mt76/testmode.c
438
td->tx_count = nla_get_u32(tb[MT76_TM_ATTR_TX_COUNT]);
drivers/net/wireless/mediatek/mt76/testmode.c
440
if (tb[MT76_TM_ATTR_TX_RATE_IDX])
drivers/net/wireless/mediatek/mt76/testmode.c
441
td->tx_rate_idx = nla_get_u8(tb[MT76_TM_ATTR_TX_RATE_IDX]);
drivers/net/wireless/mediatek/mt76/testmode.c
443
if (mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_RATE_MODE], &td->tx_rate_mode,
drivers/net/wireless/mediatek/mt76/testmode.c
445
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_RATE_NSS], &td->tx_rate_nss,
drivers/net/wireless/mediatek/mt76/testmode.c
447
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_RATE_SGI], &td->tx_rate_sgi, 0, 2) ||
drivers/net/wireless/mediatek/mt76/testmode.c
448
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_RATE_LDPC], &td->tx_rate_ldpc, 0, 1) ||
drivers/net/wireless/mediatek/mt76/testmode.c
449
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_RATE_STBC], &td->tx_rate_stbc, 0, 1) ||
drivers/net/wireless/mediatek/mt76/testmode.c
450
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_LTF], &td->tx_ltf, 0, 2) ||
drivers/net/wireless/mediatek/mt76/testmode.c
451
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_ANTENNA],
drivers/net/wireless/mediatek/mt76/testmode.c
453
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_SPE_IDX], &td->tx_spe_idx, 0, 27) ||
drivers/net/wireless/mediatek/mt76/testmode.c
454
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_DUTY_CYCLE],
drivers/net/wireless/mediatek/mt76/testmode.c
456
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_POWER_CONTROL],
drivers/net/wireless/mediatek/mt76/testmode.c
460
if (tb[MT76_TM_ATTR_TX_LENGTH]) {
drivers/net/wireless/mediatek/mt76/testmode.c
461
u32 val = nla_get_u32(tb[MT76_TM_ATTR_TX_LENGTH]);
drivers/net/wireless/mediatek/mt76/testmode.c
470
if (tb[MT76_TM_ATTR_TX_IPG])
drivers/net/wireless/mediatek/mt76/testmode.c
471
td->tx_ipg = nla_get_u32(tb[MT76_TM_ATTR_TX_IPG]);
drivers/net/wireless/mediatek/mt76/testmode.c
473
if (tb[MT76_TM_ATTR_TX_TIME])
drivers/net/wireless/mediatek/mt76/testmode.c
474
td->tx_time = nla_get_u32(tb[MT76_TM_ATTR_TX_TIME]);
drivers/net/wireless/mediatek/mt76/testmode.c
476
if (tb[MT76_TM_ATTR_FREQ_OFFSET])
drivers/net/wireless/mediatek/mt76/testmode.c
477
td->freq_offset = nla_get_u32(tb[MT76_TM_ATTR_FREQ_OFFSET]);
drivers/net/wireless/mediatek/mt76/testmode.c
479
if (tb[MT76_TM_ATTR_STATE]) {
drivers/net/wireless/mediatek/mt76/testmode.c
480
state = nla_get_u32(tb[MT76_TM_ATTR_STATE]);
drivers/net/wireless/mediatek/mt76/testmode.c
487
if (tb[MT76_TM_ATTR_TX_POWER]) {
drivers/net/wireless/mediatek/mt76/testmode.c
492
nla_for_each_nested(cur, tb[MT76_TM_ATTR_TX_POWER], rem) {
drivers/net/wireless/mediatek/mt76/testmode.c
501
if (tb[MT76_TM_ATTR_MAC_ADDRS]) {
drivers/net/wireless/mediatek/mt76/testmode.c
506
nla_for_each_nested(cur, tb[MT76_TM_ATTR_MAC_ADDRS], rem) {
drivers/net/wireless/mediatek/mt76/testmode.c
516
err = dev->test_ops->set_params(phy, tb, state);
drivers/net/wireless/mediatek/mt76/testmode.c
521
for (i = MT76_TM_ATTR_STATE; i < ARRAY_SIZE(tb); i++)
drivers/net/wireless/mediatek/mt76/testmode.c
522
if (tb[i])
drivers/net/wireless/mediatek/mt76/testmode.c
526
if (tb[MT76_TM_ATTR_STATE])
drivers/net/wireless/mediatek/mt76/testmode.c
576
struct nlattr *tb[NUM_MT76_TM_ATTRS] = {};
drivers/net/wireless/mediatek/mt76/testmode.c
588
err = nla_parse_deprecated(tb, MT76_TM_ATTR_MAX, data, len,
drivers/net/wireless/mediatek/mt76/testmode.c
596
if (tb[MT76_TM_ATTR_STATS]) {
drivers/net/wireless/ralink/rt2x00/rt2x00usb.c
120
u8 *tb;
drivers/net/wireless/ralink/rt2x00/rt2x00usb.c
125
tb = (u8 *)buffer;
drivers/net/wireless/ralink/rt2x00/rt2x00usb.c
131
requesttype, off, tb,
drivers/net/wireless/ralink/rt2x00/rt2x00usb.c
134
tb += bsize;
drivers/net/wireless/ti/wlcore/testmode.c
137
static int wl1271_tm_cmd_interrogate(struct wl1271 *wl, struct nlattr *tb[])
drivers/net/wireless/ti/wlcore/testmode.c
146
if (!tb[WL1271_TM_ATTR_IE_ID])
drivers/net/wireless/ti/wlcore/testmode.c
149
ie_id = nla_get_u8(tb[WL1271_TM_ATTR_IE_ID]);
drivers/net/wireless/ti/wlcore/testmode.c
201
static int wl1271_tm_cmd_configure(struct wl1271 *wl, struct nlattr *tb[])
drivers/net/wireless/ti/wlcore/testmode.c
209
if (!tb[WL1271_TM_ATTR_DATA])
drivers/net/wireless/ti/wlcore/testmode.c
211
if (!tb[WL1271_TM_ATTR_IE_ID])
drivers/net/wireless/ti/wlcore/testmode.c
214
ie_id = nla_get_u8(tb[WL1271_TM_ATTR_IE_ID]);
drivers/net/wireless/ti/wlcore/testmode.c
215
buf = nla_data(tb[WL1271_TM_ATTR_DATA]);
drivers/net/wireless/ti/wlcore/testmode.c
216
buf_len = nla_len(tb[WL1271_TM_ATTR_DATA]);
drivers/net/wireless/ti/wlcore/testmode.c
233
static int wl1271_tm_detect_fem(struct wl1271 *wl, struct nlattr *tb[])
drivers/net/wireless/ti/wlcore/testmode.c
270
static int wl1271_tm_cmd_set_plt_mode(struct wl1271 *wl, struct nlattr *tb[])
drivers/net/wireless/ti/wlcore/testmode.c
277
if (!tb[WL1271_TM_ATTR_PLT_MODE])
drivers/net/wireless/ti/wlcore/testmode.c
280
val = nla_get_u32(tb[WL1271_TM_ATTR_PLT_MODE]);
drivers/net/wireless/ti/wlcore/testmode.c
291
ret = wl1271_tm_detect_fem(wl, tb);
drivers/net/wireless/ti/wlcore/testmode.c
301
static int wl12xx_tm_cmd_get_mac(struct wl1271 *wl, struct nlattr *tb[])
drivers/net/wireless/ti/wlcore/testmode.c
351
struct nlattr *tb[WL1271_TM_ATTR_MAX + 1];
drivers/net/wireless/ti/wlcore/testmode.c
355
err = nla_parse_deprecated(tb, WL1271_TM_ATTR_MAX, data, len,
drivers/net/wireless/ti/wlcore/testmode.c
360
if (!tb[WL1271_TM_ATTR_CMD_ID])
drivers/net/wireless/ti/wlcore/testmode.c
363
nla_cmd = nla_get_u32(tb[WL1271_TM_ATTR_CMD_ID]);
drivers/net/wireless/ti/wlcore/testmode.c
372
return wl1271_tm_cmd_test(wl, tb);
drivers/net/wireless/ti/wlcore/testmode.c
374
return wl1271_tm_cmd_interrogate(wl, tb);
drivers/net/wireless/ti/wlcore/testmode.c
376
return wl1271_tm_cmd_configure(wl, tb);
drivers/net/wireless/ti/wlcore/testmode.c
378
return wl1271_tm_cmd_set_plt_mode(wl, tb);
drivers/net/wireless/ti/wlcore/testmode.c
380
return wl12xx_tm_cmd_get_mac(wl, tb);
drivers/net/wireless/ti/wlcore/testmode.c
58
static int wl1271_tm_cmd_test(struct wl1271 *wl, struct nlattr *tb[])
drivers/net/wireless/ti/wlcore/testmode.c
67
if (!tb[WL1271_TM_ATTR_DATA])
drivers/net/wireless/ti/wlcore/testmode.c
70
buf = nla_data(tb[WL1271_TM_ATTR_DATA]);
drivers/net/wireless/ti/wlcore/testmode.c
71
buf_len = nla_len(tb[WL1271_TM_ATTR_DATA]);
drivers/net/wireless/ti/wlcore/testmode.c
73
if (tb[WL1271_TM_ATTR_ANSWER])
drivers/net/wireless/ti/wlcore/testmode.c
74
answer = nla_get_u8(tb[WL1271_TM_ATTR_ANSWER]);
drivers/net/wireless/ti/wlcore/vendor_cmd.c
108
struct nlattr *tb[NUM_WLCORE_VENDOR_ATTR];
drivers/net/wireless/ti/wlcore/vendor_cmd.c
116
ret = nla_parse_deprecated(tb, MAX_WLCORE_VENDOR_ATTR, data, data_len,
drivers/net/wireless/ti/wlcore/vendor_cmd.c
121
if (!tb[WLCORE_VENDOR_ATTR_GROUP_ID] ||
drivers/net/wireless/ti/wlcore/vendor_cmd.c
122
!tb[WLCORE_VENDOR_ATTR_GROUP_KEY])
drivers/net/wireless/ti/wlcore/vendor_cmd.c
137
nla_get_u32(tb[WLCORE_VENDOR_ATTR_GROUP_ID]),
drivers/net/wireless/ti/wlcore/vendor_cmd.c
138
nla_len(tb[WLCORE_VENDOR_ATTR_GROUP_KEY]),
drivers/net/wireless/ti/wlcore/vendor_cmd.c
139
nla_data(tb[WLCORE_VENDOR_ATTR_GROUP_KEY]));
drivers/net/wireless/ti/wlcore/vendor_cmd.c
33
struct nlattr *tb[NUM_WLCORE_VENDOR_ATTR];
drivers/net/wireless/ti/wlcore/vendor_cmd.c
41
ret = nla_parse_deprecated(tb, MAX_WLCORE_VENDOR_ATTR, data, data_len,
drivers/net/wireless/ti/wlcore/vendor_cmd.c
46
if (!tb[WLCORE_VENDOR_ATTR_GROUP_ID])
drivers/net/wireless/ti/wlcore/vendor_cmd.c
61
nla_get_u32(tb[WLCORE_VENDOR_ATTR_GROUP_ID]));
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3034
struct nlattr *tb[HWSIM_TM_ATTR_MAX + 1];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3038
err = nla_parse_deprecated(tb, HWSIM_TM_ATTR_MAX, data, len,
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3043
if (!tb[HWSIM_TM_ATTR_CMD])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3046
switch (nla_get_u32(tb[HWSIM_TM_ATTR_CMD])) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3048
if (!tb[HWSIM_TM_ATTR_PS])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3050
ps = nla_get_u32(tb[HWSIM_TM_ATTR_PS]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3897
struct nlattr *tb[HWSIM_RATE_INFO_ATTR_MAX + 1];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3900
ret = nla_parse_nested(tb, HWSIM_RATE_INFO_ATTR_MAX,
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3905
if (tb[HWSIM_RATE_INFO_ATTR_FLAGS])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3906
rate_info->flags = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_FLAGS]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3908
if (tb[HWSIM_RATE_INFO_ATTR_MCS])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3909
rate_info->mcs = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_MCS]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3911
if (tb[HWSIM_RATE_INFO_ATTR_LEGACY])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3912
rate_info->legacy = nla_get_u16(tb[HWSIM_RATE_INFO_ATTR_LEGACY]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3914
if (tb[HWSIM_RATE_INFO_ATTR_NSS])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3915
rate_info->nss = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_NSS]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3917
if (tb[HWSIM_RATE_INFO_ATTR_BW])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3918
rate_info->bw = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_BW]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3920
if (tb[HWSIM_RATE_INFO_ATTR_HE_GI])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3921
rate_info->he_gi = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_HE_GI]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3923
if (tb[HWSIM_RATE_INFO_ATTR_HE_DCM])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3924
rate_info->he_dcm = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_HE_DCM]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3926
if (tb[HWSIM_RATE_INFO_ATTR_HE_RU_ALLOC])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3928
nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_HE_RU_ALLOC]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3930
if (tb[HWSIM_RATE_INFO_ATTR_N_BOUNDED_CH])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3931
rate_info->n_bonded_ch = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_N_BOUNDED_CH]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3933
if (tb[HWSIM_RATE_INFO_ATTR_EHT_GI])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3934
rate_info->eht_gi = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_EHT_GI]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3936
if (tb[HWSIM_RATE_INFO_ATTR_EHT_RU_ALLOC])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3937
rate_info->eht_ru_alloc = nla_get_u8(tb[HWSIM_RATE_INFO_ATTR_EHT_RU_ALLOC]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3946
struct nlattr *tb[NL80211_PMSR_FTM_RESP_ATTR_MAX + 1];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3949
ret = nla_parse_nested(tb, NL80211_PMSR_FTM_RESP_ATTR_MAX,
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3954
if (tb[NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3955
result->failure_reason = nla_get_u32(tb[NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3957
if (tb[NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3958
result->burst_index = nla_get_u16(tb[NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3960
if (tb[NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3963
nla_get_u32(tb[NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3966
if (tb[NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3969
nla_get_u32(tb[NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3972
if (tb[NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3974
nla_get_u8(tb[NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3976
if (tb[NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3977
result->num_bursts_exp = nla_get_u8(tb[NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3979
if (tb[NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3980
result->burst_duration = nla_get_u8(tb[NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3982
if (tb[NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3983
result->ftms_per_burst = nla_get_u8(tb[NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3985
if (tb[NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3987
result->rssi_avg = nla_get_s32(tb[NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3989
if (tb[NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3992
nla_get_s32(tb[NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3995
if (tb[NL80211_PMSR_FTM_RESP_ATTR_TX_RATE]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
3997
ret = mac80211_hwsim_parse_rate_info(tb[NL80211_PMSR_FTM_RESP_ATTR_TX_RATE],
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4003
if (tb[NL80211_PMSR_FTM_RESP_ATTR_RX_RATE]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4005
ret = mac80211_hwsim_parse_rate_info(tb[NL80211_PMSR_FTM_RESP_ATTR_RX_RATE],
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4011
if (tb[NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4014
nla_get_u64(tb[NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4016
if (tb[NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4019
nla_get_u64(tb[NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4021
if (tb[NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4024
nla_get_u64(tb[NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4026
if (tb[NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4029
nla_get_u64(tb[NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4031
if (tb[NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4034
nla_get_u64(tb[NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4036
if (tb[NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4039
nla_get_u64(tb[NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4042
if (tb[NL80211_PMSR_FTM_RESP_ATTR_LCI]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4043
result->lci = nla_data(tb[NL80211_PMSR_FTM_RESP_ATTR_LCI]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4044
result->lci_len = nla_len(tb[NL80211_PMSR_FTM_RESP_ATTR_LCI]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4047
if (tb[NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4048
result->civicloc = nla_data(tb[NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4049
result->civicloc_len = nla_len(tb[NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4052
if (tb[NL80211_PMSR_FTM_RESP_ATTR_TX_LTF_REPETITION_COUNT]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4055
nla_get_u32(tb[NL80211_PMSR_FTM_RESP_ATTR_TX_LTF_REPETITION_COUNT]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4058
if (tb[NL80211_PMSR_FTM_RESP_ATTR_RX_LTF_REPETITION_COUNT]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4061
nla_get_u32(tb[NL80211_PMSR_FTM_RESP_ATTR_RX_LTF_REPETITION_COUNT]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4064
if (tb[NL80211_PMSR_FTM_RESP_ATTR_MAX_TIME_BETWEEN_MEASUREMENTS]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4067
nla_get_u32(tb[NL80211_PMSR_FTM_RESP_ATTR_MAX_TIME_BETWEEN_MEASUREMENTS]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4070
if (tb[NL80211_PMSR_FTM_RESP_ATTR_MIN_TIME_BETWEEN_MEASUREMENTS]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4073
nla_get_u32(tb[NL80211_PMSR_FTM_RESP_ATTR_MIN_TIME_BETWEEN_MEASUREMENTS]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4076
if (tb[NL80211_PMSR_FTM_RESP_ATTR_NUM_TX_SPATIAL_STREAMS]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4079
nla_get_u8(tb[NL80211_PMSR_FTM_RESP_ATTR_NUM_TX_SPATIAL_STREAMS]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4082
if (tb[NL80211_PMSR_FTM_RESP_ATTR_NUM_RX_SPATIAL_STREAMS]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4085
nla_get_u8(tb[NL80211_PMSR_FTM_RESP_ATTR_NUM_RX_SPATIAL_STREAMS]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4088
if (tb[NL80211_PMSR_FTM_RESP_ATTR_NOMINAL_TIME]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4091
nla_get_u32(tb[NL80211_PMSR_FTM_RESP_ATTR_NOMINAL_TIME]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4094
if (tb[NL80211_PMSR_FTM_RESP_ATTR_AVAILABILITY_WINDOW]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4097
nla_get_u32(tb[NL80211_PMSR_FTM_RESP_ATTR_AVAILABILITY_WINDOW]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4100
if (tb[NL80211_PMSR_FTM_RESP_ATTR_CHANNEL_WIDTH]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4103
nla_get_u32(tb[NL80211_PMSR_FTM_RESP_ATTR_CHANNEL_WIDTH]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4106
if (tb[NL80211_PMSR_FTM_RESP_ATTR_PREAMBLE]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4109
nla_get_u32(tb[NL80211_PMSR_FTM_RESP_ATTR_PREAMBLE]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4113
nla_get_flag(tb[NL80211_PMSR_FTM_RESP_ATTR_IS_DELAYED_LMR]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4122
struct nlattr *tb[NL80211_PMSR_RESP_ATTR_MAX + 1];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4127
ret = nla_parse_nested(tb, NL80211_PMSR_RESP_ATTR_MAX, resp, hwsim_pmsr_resp_policy,
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4132
if (tb[NL80211_PMSR_RESP_ATTR_STATUS])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4133
result->status = nla_get_u32(tb[NL80211_PMSR_RESP_ATTR_STATUS]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4135
if (tb[NL80211_PMSR_RESP_ATTR_HOST_TIME])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4136
result->host_time = nla_get_u64(tb[NL80211_PMSR_RESP_ATTR_HOST_TIME]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4138
if (tb[NL80211_PMSR_RESP_ATTR_AP_TSF]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4140
result->ap_tsf = nla_get_u64(tb[NL80211_PMSR_RESP_ATTR_AP_TSF]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4143
result->final = !!tb[NL80211_PMSR_RESP_ATTR_FINAL];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4145
if (!tb[NL80211_PMSR_RESP_ATTR_DATA])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4148
nla_for_each_nested(pmsr, tb[NL80211_PMSR_RESP_ATTR_DATA], rem) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4169
struct nlattr *tb[NL80211_PMSR_PEER_ATTR_MAX + 1];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4175
ret = nla_parse_nested(tb, NL80211_PMSR_PEER_ATTR_MAX, peer,
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4180
if (tb[NL80211_PMSR_PEER_ATTR_ADDR])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4181
memcpy(result->addr, nla_data(tb[NL80211_PMSR_PEER_ATTR_ADDR]),
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4184
if (tb[NL80211_PMSR_PEER_ATTR_RESP]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
4185
ret = mac80211_hwsim_parse_pmsr_resp(tb[NL80211_PMSR_PEER_ATTR_RESP], result, info);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
613
struct nlattr *tb[QCA_WLAN_VENDOR_ATTR_MAX + 1];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
617
err = nla_parse_deprecated(tb, QCA_WLAN_VENDOR_ATTR_MAX, data,
drivers/net/wireless/virtual/mac80211_hwsim_main.c
621
if (!tb[QCA_WLAN_VENDOR_ATTR_TEST])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
623
val = nla_get_u32(tb[QCA_WLAN_VENDOR_ATTR_TEST]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6606
struct nlattr *tb[NL80211_PMSR_FTM_CAPA_ATTR_MAX + 1];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6609
ret = nla_parse_nested(tb, NL80211_PMSR_FTM_CAPA_ATTR_MAX, ftm_capa, hwsim_ftm_capa_policy,
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6617
if (tb[NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6618
out->ftm.preambles = nla_get_u32(tb[NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6619
if (tb[NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6620
out->ftm.bandwidths = nla_get_u32(tb[NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6621
if (tb[NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6623
nla_get_u8(tb[NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6624
if (tb[NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6626
nla_get_u8(tb[NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6627
out->ftm.asap = !!tb[NL80211_PMSR_FTM_CAPA_ATTR_ASAP];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6628
out->ftm.non_asap = !!tb[NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6629
out->ftm.request_lci = !!tb[NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6630
out->ftm.request_civicloc = !!tb[NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6631
out->ftm.trigger_based = !!tb[NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6632
out->ftm.non_trigger_based = !!tb[NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6634
if (tb[NL80211_PMSR_FTM_CAPA_ATTR_MAX_NUM_TX_ANTENNAS])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6636
nla_get_u8(tb[NL80211_PMSR_FTM_CAPA_ATTR_MAX_NUM_TX_ANTENNAS]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6638
if (tb[NL80211_PMSR_FTM_CAPA_ATTR_MAX_NUM_RX_ANTENNAS])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6640
nla_get_u8(tb[NL80211_PMSR_FTM_CAPA_ATTR_MAX_NUM_RX_ANTENNAS]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6642
if (tb[NL80211_PMSR_FTM_CAPA_ATTR_MIN_INTERVAL_EDCA])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6644
nla_get_u32(tb[NL80211_PMSR_FTM_CAPA_ATTR_MIN_INTERVAL_EDCA]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6646
if (tb[NL80211_PMSR_FTM_CAPA_ATTR_MIN_INTERVAL_NTB])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6648
nla_get_u32(tb[NL80211_PMSR_FTM_CAPA_ATTR_MIN_INTERVAL_NTB]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6650
if (tb[NL80211_PMSR_FTM_CAPA_ATTR_PD_PREAMBLES])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6652
nla_get_u32(tb[NL80211_PMSR_FTM_CAPA_ATTR_PD_PREAMBLES]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6654
if (tb[NL80211_PMSR_FTM_CAPA_ATTR_PD_BANDWIDTHS])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6656
nla_get_u32(tb[NL80211_PMSR_FTM_CAPA_ATTR_PD_BANDWIDTHS]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6658
if (tb[NL80211_PMSR_FTM_CAPA_ATTR_ISTA_CAPS]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6662
tb[NL80211_PMSR_FTM_CAPA_ATTR_ISTA_CAPS],
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6676
if (tb[NL80211_PMSR_FTM_CAPA_ATTR_RSTA_CAPS]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6680
tb[NL80211_PMSR_FTM_CAPA_ATTR_RSTA_CAPS],
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6694
if (tb[NL80211_PMSR_FTM_CAPA_ATTR_TYPE_CAPS]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6698
tb[NL80211_PMSR_FTM_CAPA_ATTR_TYPE_CAPS],
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6708
!!tb[NL80211_PMSR_FTM_CAPA_ATTR_CONCURRENT_ISTA_RSTA_SUPPORT];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6716
struct nlattr *tb[NL80211_PMSR_ATTR_MAX + 1];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6721
ret = nla_parse_nested(tb, NL80211_PMSR_ATTR_MAX, pmsr_capa, hwsim_pmsr_capa_policy, NULL);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6727
if (tb[NL80211_PMSR_ATTR_MAX_PEERS])
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6728
out->max_peers = nla_get_u32(tb[NL80211_PMSR_ATTR_MAX_PEERS]);
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6729
out->report_ap_tsf = !!tb[NL80211_PMSR_ATTR_REPORT_AP_TSF];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6730
out->randomize_mac_addr = !!tb[NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6732
if (!tb[NL80211_PMSR_ATTR_TYPE_CAPA]) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6733
NL_SET_ERR_MSG_ATTR(info->extack, tb[NL80211_PMSR_ATTR_TYPE_CAPA],
drivers/net/wireless/virtual/mac80211_hwsim_main.c
6738
nla_for_each_nested(nla, tb[NL80211_PMSR_ATTR_TYPE_CAPA], size) {
drivers/net/wireless/virtual/mac80211_hwsim_main.c
7247
struct nlattr *tb[HWSIM_ATTR_MAX + 1];
drivers/net/wireless/virtual/mac80211_hwsim_main.c
7257
err = genlmsg_parse(nlh, &hwsim_genl_family, tb, HWSIM_ATTR_MAX,
drivers/net/wireless/virtual/mac80211_hwsim_main.c
7264
info.attrs = tb;
drivers/net/wireless/virtual/virt_wifi.c
532
struct nlattr **tb = params->tb;
drivers/net/wireless/virtual/virt_wifi.c
535
if (!tb[IFLA_LINK])
drivers/net/wireless/virtual/virt_wifi.c
542
nla_get_u32(tb[IFLA_LINK]));
drivers/net/wireless/virtual/virt_wifi.c
546
if (!tb[IFLA_MTU])
drivers/net/wwan/wwan_core.c
1088
static int wwan_rtnl_validate(struct nlattr *tb[], struct nlattr *data[],
drivers/net/wwan/wwan_core.c
1094
if (!tb[IFLA_PARENT_DEV_NAME])
drivers/net/wwan/wwan_core.c
1105
static struct net_device *wwan_rtnl_alloc(struct nlattr *tb[],
drivers/net/wwan/wwan_core.c
1111
const char *devname = nla_data(tb[IFLA_PARENT_DEV_NAME]);
drivers/net/wwan/wwan_core.c
1235
struct nlattr *tb[IFLA_MAX + 1], *linkinfo[IFLA_INFO_MAX + 1];
drivers/net/wwan/wwan_core.c
1239
.tb = tb,
drivers/net/wwan/wwan_core.c
1259
tb[IFLA_LINKINFO] = nla_nest_start(msg, IFLA_LINKINFO);
drivers/net/wwan/wwan_core.c
1260
if (!tb[IFLA_LINKINFO])
drivers/net/wwan/wwan_core.c
1268
nla_nest_end(msg, tb[IFLA_LINKINFO]);
drivers/net/wwan/wwan_core.c
1273
nlmsg_parse_deprecated(nlh, 0, tb, IFLA_MAX, NULL, NULL);
drivers/net/wwan/wwan_core.c
1274
nla_parse_nested_deprecated(linkinfo, IFLA_INFO_MAX, tb[IFLA_LINKINFO],
drivers/net/wwan/wwan_core.c
1282
&wwan_rtnl_link_ops, tb, NULL);
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
1035
const struct mtk_drive_desc *tb;
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
1038
tb = &mtk_drive[desc->drv_n];
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
1044
if ((arg >= tb->min && arg <= tb->max) && !(arg % tb->step)) {
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
1045
arg = (arg / tb->step - 1) * tb->scal;
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
1064
const struct mtk_drive_desc *tb;
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
1067
tb = &mtk_drive[desc->drv_n];
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
1080
*val = (((val2 << 1) + val1) / tb->scal + 1) * tb->step;
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
1090
const struct mtk_drive_desc *tb;
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
1093
tb = &mtk_drive[desc->drv_n];
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
1095
if ((arg >= tb->min && arg <= tb->max) && !(arg % tb->step)) {
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
1096
arg = (arg / tb->step - 1) * tb->scal;
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
1111
const struct mtk_drive_desc *tb;
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
1114
tb = &mtk_drive[desc->drv_n];
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c
1120
*val = ((val1 & 0x7) / tb->scal + 1) * tb->step;
drivers/scsi/hpsa.c
7400
static void print_cfg_table(struct device *dev, struct CfgTable __iomem *tb)
drivers/scsi/hpsa.c
7409
temp_name[i] = readb(&(tb->Signature[i]));
drivers/scsi/hpsa.c
7412
dev_info(dev, " Spec Number = %d\n", readl(&(tb->SpecValence)));
drivers/scsi/hpsa.c
7414
readl(&(tb->TransportSupport)));
drivers/scsi/hpsa.c
7416
readl(&(tb->TransportActive)));
drivers/scsi/hpsa.c
7418
readl(&(tb->HostWrite.TransportRequest)));
drivers/scsi/hpsa.c
7420
readl(&(tb->HostWrite.CoalIntDelay)));
drivers/scsi/hpsa.c
7422
readl(&(tb->HostWrite.CoalIntCount)));
drivers/scsi/hpsa.c
7424
readl(&(tb->CmdsOutMax)));
drivers/scsi/hpsa.c
7425
dev_info(dev, " Bus Types = 0x%x\n", readl(&(tb->BusTypes)));
drivers/scsi/hpsa.c
7427
temp_name[i] = readb(&(tb->ServerName[i]));
drivers/scsi/hpsa.c
7431
readl(&(tb->HeartBeat)));
drivers/scsi/mesh.c
202
u32 tb;
drivers/scsi/mesh.c
206
asm ("mftb %0" : "=r" (tb) : );
drivers/scsi/mesh.c
208
tb = 0;
drivers/scsi/mesh.c
210
return tb;
drivers/scsi/mesh.c
221
tlp->tb = readtb();
drivers/scsi/mesh.c
255
printk("tb=%10u ", lp->tb);
drivers/scsi/mesh.c
280
printk("tb=%10u ", lp->tb);
drivers/scsi/mesh.c
95
u32 tb;
drivers/scsi/st.c
3974
struct st_buffer *tb;
drivers/scsi/st.c
3976
tb = kzalloc_obj(struct st_buffer);
drivers/scsi/st.c
3977
if (!tb) {
drivers/scsi/st.c
3981
tb->frp_segs = 0;
drivers/scsi/st.c
3982
tb->use_sg = max_sg;
drivers/scsi/st.c
3983
tb->buffer_size = 0;
drivers/scsi/st.c
3985
tb->reserved_pages = kzalloc_objs(struct page *, max_sg);
drivers/scsi/st.c
3986
if (!tb->reserved_pages) {
drivers/scsi/st.c
3987
kfree(tb);
drivers/scsi/st.c
3991
return tb;
drivers/target/target_core_configfs.c
3429
struct target_backend *tb = hba->backend;
drivers/target/target_core_configfs.c
3441
config_group_init_type_name(&dev->dev_group, name, &tb->tb_dev_cit);
drivers/target/target_core_configfs.c
3444
&tb->tb_dev_action_cit);
drivers/target/target_core_configfs.c
3448
&tb->tb_dev_attrib_cit);
drivers/target/target_core_configfs.c
3452
&tb->tb_dev_pr_cit);
drivers/target/target_core_configfs.c
3456
&tb->tb_dev_wwn_cit);
drivers/target/target_core_configfs.c
3461
"alua", &tb->tb_dev_alua_tg_pt_gps_cit);
drivers/target/target_core_configfs.c
3466
"statistics", &tb->tb_dev_stat_cit);
drivers/target/target_core_configfs.c
3712
void target_setup_backend_cits(struct target_backend *tb)
drivers/target/target_core_configfs.c
3714
target_core_setup_dev_cit(tb);
drivers/target/target_core_configfs.c
3715
target_core_setup_dev_action_cit(tb);
drivers/target/target_core_configfs.c
3716
target_core_setup_dev_attrib_cit(tb);
drivers/target/target_core_configfs.c
3717
target_core_setup_dev_pr_cit(tb);
drivers/target/target_core_configfs.c
3718
target_core_setup_dev_wwn_cit(tb);
drivers/target/target_core_configfs.c
3719
target_core_setup_dev_alua_tg_pt_gps_cit(tb);
drivers/target/target_core_configfs.c
3720
target_core_setup_dev_stat_cit(tb);
drivers/target/target_core_configfs.c
44
static void target_core_setup_##_name##_cit(struct target_backend *tb) \
drivers/target/target_core_configfs.c
46
struct config_item_type *cit = &tb->tb_##_name##_cit; \
drivers/target/target_core_configfs.c
51
cit->ct_owner = tb->ops->owner; \
drivers/target/target_core_configfs.c
56
static void target_core_setup_##_name##_cit(struct target_backend *tb) \
drivers/target/target_core_configfs.c
58
struct config_item_type *cit = &tb->tb_##_name##_cit; \
drivers/target/target_core_configfs.c
62
cit->ct_attrs = tb->ops->tb_##_name##_attrs; \
drivers/target/target_core_configfs.c
63
cit->ct_owner = tb->ops->owner; \
drivers/target/target_core_hba.c
102
if (tb->ops->owner && !try_module_get(tb->ops->owner))
drivers/target/target_core_hba.c
103
tb = NULL;
drivers/target/target_core_hba.c
105
return tb;
drivers/target/target_core_hba.c
40
struct target_backend *tb, *old;
drivers/target/target_core_hba.c
42
tb = kzalloc_obj(*tb);
drivers/target/target_core_hba.c
43
if (!tb)
drivers/target/target_core_hba.c
45
tb->ops = ops;
drivers/target/target_core_hba.c
52
kfree(tb);
drivers/target/target_core_hba.c
56
target_setup_backend_cits(tb);
drivers/target/target_core_hba.c
57
list_add_tail(&tb->list, &backend_list);
drivers/target/target_core_hba.c
68
struct target_backend *tb;
drivers/target/target_core_hba.c
71
list_for_each_entry(tb, &backend_list, list) {
drivers/target/target_core_hba.c
72
if (tb->ops == ops) {
drivers/target/target_core_hba.c
73
list_del(&tb->list);
drivers/target/target_core_hba.c
82
kfree(tb);
drivers/target/target_core_hba.c
92
struct target_backend *tb;
drivers/target/target_core_hba.c
95
list_for_each_entry(tb, &backend_list, list) {
drivers/target/target_core_hba.c
96
if (!strcmp(tb->ops->name, name))
drivers/thunderbolt/acpi.c
305
struct tb_nhi *nhi = sw->tb->nhi;
drivers/thunderbolt/debugfs.c
1012
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
1020
scoped_cond_guard(mutex_intr, return -ERESTARTSYS, &tb->lock) {
drivers/thunderbolt/debugfs.c
1033
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
1035
scoped_cond_guard(mutex_intr, return -ERESTARTSYS, &tb->lock) {
drivers/thunderbolt/debugfs.c
1052
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
1060
scoped_cond_guard(mutex_intr, return -ERESTARTSYS, &tb->lock) {
drivers/thunderbolt/debugfs.c
1071
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
1073
scoped_cond_guard(mutex_intr, return -ERESTARTSYS, &tb->lock) {
drivers/thunderbolt/debugfs.c
1087
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
1097
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/debugfs.c
1116
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
1126
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
1129
if (mutex_lock_interruptible(&tb->lock))
drivers/thunderbolt/debugfs.c
1146
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
1233
struct tb *tb = sw->tb;
drivers/thunderbolt/debugfs.c
1241
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/debugfs.c
1312
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
1328
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
1330
if (mutex_lock_interruptible(&tb->lock))
drivers/thunderbolt/debugfs.c
1343
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
1419
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
1421
if (mutex_lock_interruptible(&tb->lock))
drivers/thunderbolt/debugfs.c
1470
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
1481
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
1491
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/debugfs.c
1503
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
1513
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
1515
if (mutex_lock_interruptible(&tb->lock))
drivers/thunderbolt/debugfs.c
1527
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
1538
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
1548
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/debugfs.c
1569
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
1579
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
1581
if (mutex_lock_interruptible(&tb->lock))
drivers/thunderbolt/debugfs.c
1596
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
1608
struct tb *tb = port->sw->tb;
drivers/thunderbolt/debugfs.c
1618
scoped_cond_guard(mutex_intr, ret = -ERESTARTSYS, &tb->lock) {
drivers/thunderbolt/debugfs.c
1635
struct tb *tb = port->sw->tb;
drivers/thunderbolt/debugfs.c
1637
scoped_guard(mutex_intr, &tb->lock) {
drivers/thunderbolt/debugfs.c
1901
struct tb *tb = port->sw->tb;
drivers/thunderbolt/debugfs.c
1911
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/debugfs.c
1932
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
2109
struct tb *tb = sw->tb;
drivers/thunderbolt/debugfs.c
2114
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/debugfs.c
2128
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
2213
struct tb *tb = sw->tb;
drivers/thunderbolt/debugfs.c
2218
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/debugfs.c
2232
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
226
struct tb *tb = sw->tb;
drivers/thunderbolt/debugfs.c
2265
struct tb *tb = sw->tb;
drivers/thunderbolt/debugfs.c
2270
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/debugfs.c
2293
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
2328
struct tb *tb = sw->tb;
drivers/thunderbolt/debugfs.c
2333
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/debugfs.c
2346
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
236
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/debugfs.c
2390
struct tb *tb = sw->tb;
drivers/thunderbolt/debugfs.c
2395
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/debugfs.c
2403
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
2505
struct tb *tb = rt->tb;
drivers/thunderbolt/debugfs.c
2510
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/debugfs.c
2518
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
263
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
387
struct tb *tb = sw->tb;
drivers/thunderbolt/debugfs.c
397
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/debugfs.c
405
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
420
struct tb *tb = rt->tb;
drivers/thunderbolt/debugfs.c
430
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/debugfs.c
438
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
621
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
626
if (mutex_lock_interruptible(&tb->lock))
drivers/thunderbolt/debugfs.c
657
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
684
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
687
if (mutex_lock_interruptible(&tb->lock))
drivers/thunderbolt/debugfs.c
781
mutex_unlock(&tb->lock);
drivers/thunderbolt/debugfs.c
815
struct tb *tb = port->sw->tb;
drivers/thunderbolt/debugfs.c
837
scoped_cond_guard(mutex_intr, return -ERESTARTSYS, &tb->lock) {
drivers/thunderbolt/debugfs.c
857
struct tb *tb = port->sw->tb;
drivers/thunderbolt/debugfs.c
859
scoped_cond_guard(mutex_intr, return -ERESTARTSYS, &tb->lock) {
drivers/thunderbolt/debugfs.c
890
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
899
scoped_cond_guard(mutex_intr, return -ERESTARTSYS, &tb->lock) {
drivers/thunderbolt/debugfs.c
921
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
923
scoped_cond_guard(mutex_intr, return -ERESTARTSYS, &tb->lock) {
drivers/thunderbolt/debugfs.c
941
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
963
scoped_cond_guard(mutex_intr, return -ERESTARTSYS, &tb->lock) {
drivers/thunderbolt/debugfs.c
980
struct tb *tb = margining->port->sw->tb;
drivers/thunderbolt/debugfs.c
982
scoped_cond_guard(mutex_intr, return -ERESTARTSYS, &tb->lock) {
drivers/thunderbolt/dma_port.c
181
ret = dma_port_read(sw->tb->ctl, &type, tb_route(sw), ports[i],
drivers/thunderbolt/dma_port.c
242
ret = dma_port_read(sw->tb->ctl, &in, tb_route(sw), dma->port,
drivers/thunderbolt/dma_port.c
278
ret = dma_port_write(sw->tb->ctl, &in, tb_route(sw), dma->port,
drivers/thunderbolt/dma_port.c
287
ret = dma_port_read(sw->tb->ctl, &out, tb_route(sw), dma->port,
drivers/thunderbolt/dma_port.c
313
return dma_port_read(sw->tb->ctl, buf, tb_route(sw), dma->port,
drivers/thunderbolt/dma_port.c
326
ret = dma_port_write(sw->tb->ctl, buf, tb_route(sw), dma->port,
drivers/thunderbolt/dma_port.c
426
ret = dma_port_read(sw->tb->ctl, &out, tb_route(sw), dma->port,
drivers/thunderbolt/dma_test.c
150
ring = tb_ring_alloc_tx(xd->tb->nhi, -1, DMA_TEST_TX_RING_SIZE,
drivers/thunderbolt/dma_test.c
176
ring = tb_ring_alloc_rx(xd->tb->nhi, -1, DMA_TEST_RX_RING_SIZE,
drivers/thunderbolt/domain.c
124
struct tb *tb = container_of(dev, struct tb, dev);
drivers/thunderbolt/domain.c
129
uuids = kzalloc_objs(uuid_t, tb->nboot_acl);
drivers/thunderbolt/domain.c
133
pm_runtime_get_sync(&tb->dev);
drivers/thunderbolt/domain.c
135
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/domain.c
139
ret = tb->cm_ops->get_boot_acl(tb, uuids, tb->nboot_acl);
drivers/thunderbolt/domain.c
141
mutex_unlock(&tb->lock);
drivers/thunderbolt/domain.c
144
mutex_unlock(&tb->lock);
drivers/thunderbolt/domain.c
146
for (ret = 0, i = 0; i < tb->nboot_acl; i++) {
drivers/thunderbolt/domain.c
150
ret += sysfs_emit_at(buf, ret, "%s", i < tb->nboot_acl - 1 ? "," : "\n");
drivers/thunderbolt/domain.c
154
pm_runtime_mark_last_busy(&tb->dev);
drivers/thunderbolt/domain.c
155
pm_runtime_put_autosuspend(&tb->dev);
drivers/thunderbolt/domain.c
164
struct tb *tb = container_of(dev, struct tb, dev);
drivers/thunderbolt/domain.c
175
if (count > (UUID_STRING_LEN + 1) * tb->nboot_acl + 1)
drivers/thunderbolt/domain.c
177
if (count < tb->nboot_acl - 1)
drivers/thunderbolt/domain.c
184
acl = kzalloc_objs(uuid_t, tb->nboot_acl);
drivers/thunderbolt/domain.c
191
while ((s = strsep(&uuid_str, ",")) != NULL && i < tb->nboot_acl) {
drivers/thunderbolt/domain.c
207
if (s || i < tb->nboot_acl) {
drivers/thunderbolt/domain.c
212
pm_runtime_get_sync(&tb->dev);
drivers/thunderbolt/domain.c
214
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/domain.c
218
ret = tb->cm_ops->set_boot_acl(tb, acl, tb->nboot_acl);
drivers/thunderbolt/domain.c
221
tb_domain_event(tb, NULL);
drivers/thunderbolt/domain.c
223
mutex_unlock(&tb->lock);
drivers/thunderbolt/domain.c
226
pm_runtime_mark_last_busy(&tb->dev);
drivers/thunderbolt/domain.c
227
pm_runtime_put_autosuspend(&tb->dev);
drivers/thunderbolt/domain.c
241
const struct tb *tb = container_of(dev, struct tb, dev);
drivers/thunderbolt/domain.c
245
if (tb->security_level == TB_SECURITY_USER ||
drivers/thunderbolt/domain.c
246
tb->security_level == TB_SECURITY_SECURE)
drivers/thunderbolt/domain.c
247
deauthorization = !!tb->cm_ops->disapprove_switch;
drivers/thunderbolt/domain.c
257
struct tb *tb = container_of(dev, struct tb, dev);
drivers/thunderbolt/domain.c
259
return sysfs_emit(buf, "%d\n", tb->nhi->iommu_dma_protection);
drivers/thunderbolt/domain.c
266
struct tb *tb = container_of(dev, struct tb, dev);
drivers/thunderbolt/domain.c
269
if (tb->security_level < ARRAY_SIZE(tb_security_names))
drivers/thunderbolt/domain.c
270
name = tb_security_names[tb->security_level];
drivers/thunderbolt/domain.c
288
struct tb *tb = container_of(dev, struct tb, dev);
drivers/thunderbolt/domain.c
291
if (tb->nboot_acl &&
drivers/thunderbolt/domain.c
292
tb->cm_ops->get_boot_acl &&
drivers/thunderbolt/domain.c
293
tb->cm_ops->set_boot_acl)
drivers/thunderbolt/domain.c
321
struct tb *tb = container_of(dev, struct tb, dev);
drivers/thunderbolt/domain.c
322
struct tb_nhi *nhi = tb->nhi;
drivers/thunderbolt/domain.c
324
tb_ctl_free(tb->ctl);
drivers/thunderbolt/domain.c
325
destroy_workqueue(tb->wq);
drivers/thunderbolt/domain.c
326
ida_free(&tb_domain_ida, tb->index);
drivers/thunderbolt/domain.c
327
mutex_destroy(&tb->lock);
drivers/thunderbolt/domain.c
328
kfree(tb);
drivers/thunderbolt/domain.c
341
struct tb *tb = data;
drivers/thunderbolt/domain.c
343
if (!tb->cm_ops->handle_event) {
drivers/thunderbolt/domain.c
344
tb_warn(tb, "domain does not have event handler\n");
drivers/thunderbolt/domain.c
352
return tb_xdomain_handle_request(tb, type, buf, size);
drivers/thunderbolt/domain.c
356
tb->cm_ops->handle_event(tb, type, buf, size);
drivers/thunderbolt/domain.c
377
struct tb *tb_domain_alloc(struct tb_nhi *nhi, int timeout_msec, size_t privsize)
drivers/thunderbolt/domain.c
379
struct tb *tb;
drivers/thunderbolt/domain.c
389
tb = kzalloc(sizeof(*tb) + privsize, GFP_KERNEL);
drivers/thunderbolt/domain.c
390
if (!tb)
drivers/thunderbolt/domain.c
393
tb->nhi = nhi;
drivers/thunderbolt/domain.c
394
mutex_init(&tb->lock);
drivers/thunderbolt/domain.c
396
tb->index = ida_alloc(&tb_domain_ida, GFP_KERNEL);
drivers/thunderbolt/domain.c
397
if (tb->index < 0)
drivers/thunderbolt/domain.c
400
tb->wq = alloc_ordered_workqueue("thunderbolt%d", 0, tb->index);
drivers/thunderbolt/domain.c
401
if (!tb->wq)
drivers/thunderbolt/domain.c
404
tb->ctl = tb_ctl_alloc(nhi, tb->index, timeout_msec, tb_domain_event_cb, tb);
drivers/thunderbolt/domain.c
405
if (!tb->ctl)
drivers/thunderbolt/domain.c
408
tb->dev.parent = nhi->dev;
drivers/thunderbolt/domain.c
409
tb->dev.bus = &tb_bus_type;
drivers/thunderbolt/domain.c
410
tb->dev.type = &tb_domain_type;
drivers/thunderbolt/domain.c
411
tb->dev.groups = domain_attr_groups;
drivers/thunderbolt/domain.c
412
dev_set_name(&tb->dev, "domain%d", tb->index);
drivers/thunderbolt/domain.c
413
device_initialize(&tb->dev);
drivers/thunderbolt/domain.c
415
return tb;
drivers/thunderbolt/domain.c
418
destroy_workqueue(tb->wq);
drivers/thunderbolt/domain.c
420
ida_free(&tb_domain_ida, tb->index);
drivers/thunderbolt/domain.c
422
kfree(tb);
drivers/thunderbolt/domain.c
439
int tb_domain_add(struct tb *tb, bool reset)
drivers/thunderbolt/domain.c
443
if (WARN_ON(!tb->cm_ops))
drivers/thunderbolt/domain.c
446
mutex_lock(&tb->lock);
drivers/thunderbolt/domain.c
451
tb_ctl_start(tb->ctl);
drivers/thunderbolt/domain.c
453
if (tb->cm_ops->driver_ready) {
drivers/thunderbolt/domain.c
454
ret = tb->cm_ops->driver_ready(tb);
drivers/thunderbolt/domain.c
459
tb_dbg(tb, "security level set to %s\n",
drivers/thunderbolt/domain.c
460
tb_security_names[tb->security_level]);
drivers/thunderbolt/domain.c
462
ret = device_add(&tb->dev);
drivers/thunderbolt/domain.c
467
if (tb->cm_ops->start) {
drivers/thunderbolt/domain.c
468
ret = tb->cm_ops->start(tb, reset);
drivers/thunderbolt/domain.c
474
mutex_unlock(&tb->lock);
drivers/thunderbolt/domain.c
476
device_init_wakeup(&tb->dev, true);
drivers/thunderbolt/domain.c
478
pm_runtime_no_callbacks(&tb->dev);
drivers/thunderbolt/domain.c
479
pm_runtime_set_active(&tb->dev);
drivers/thunderbolt/domain.c
480
pm_runtime_enable(&tb->dev);
drivers/thunderbolt/domain.c
481
pm_runtime_set_autosuspend_delay(&tb->dev, TB_AUTOSUSPEND_DELAY);
drivers/thunderbolt/domain.c
482
pm_runtime_mark_last_busy(&tb->dev);
drivers/thunderbolt/domain.c
483
pm_runtime_use_autosuspend(&tb->dev);
drivers/thunderbolt/domain.c
488
device_del(&tb->dev);
drivers/thunderbolt/domain.c
490
tb_ctl_stop(tb->ctl);
drivers/thunderbolt/domain.c
491
mutex_unlock(&tb->lock);
drivers/thunderbolt/domain.c
503
void tb_domain_remove(struct tb *tb)
drivers/thunderbolt/domain.c
505
mutex_lock(&tb->lock);
drivers/thunderbolt/domain.c
506
if (tb->cm_ops->stop)
drivers/thunderbolt/domain.c
507
tb->cm_ops->stop(tb);
drivers/thunderbolt/domain.c
509
tb_ctl_stop(tb->ctl);
drivers/thunderbolt/domain.c
510
mutex_unlock(&tb->lock);
drivers/thunderbolt/domain.c
512
flush_workqueue(tb->wq);
drivers/thunderbolt/domain.c
514
if (tb->cm_ops->deinit)
drivers/thunderbolt/domain.c
515
tb->cm_ops->deinit(tb);
drivers/thunderbolt/domain.c
517
device_unregister(&tb->dev);
drivers/thunderbolt/domain.c
528
int tb_domain_suspend_noirq(struct tb *tb)
drivers/thunderbolt/domain.c
537
mutex_lock(&tb->lock);
drivers/thunderbolt/domain.c
538
if (tb->cm_ops->suspend_noirq)
drivers/thunderbolt/domain.c
539
ret = tb->cm_ops->suspend_noirq(tb);
drivers/thunderbolt/domain.c
541
tb_ctl_stop(tb->ctl);
drivers/thunderbolt/domain.c
542
mutex_unlock(&tb->lock);
drivers/thunderbolt/domain.c
556
int tb_domain_resume_noirq(struct tb *tb)
drivers/thunderbolt/domain.c
560
mutex_lock(&tb->lock);
drivers/thunderbolt/domain.c
561
tb_ctl_start(tb->ctl);
drivers/thunderbolt/domain.c
562
if (tb->cm_ops->resume_noirq)
drivers/thunderbolt/domain.c
563
ret = tb->cm_ops->resume_noirq(tb);
drivers/thunderbolt/domain.c
564
mutex_unlock(&tb->lock);
drivers/thunderbolt/domain.c
569
int tb_domain_suspend(struct tb *tb)
drivers/thunderbolt/domain.c
571
return tb->cm_ops->suspend ? tb->cm_ops->suspend(tb) : 0;
drivers/thunderbolt/domain.c
574
int tb_domain_freeze_noirq(struct tb *tb)
drivers/thunderbolt/domain.c
578
mutex_lock(&tb->lock);
drivers/thunderbolt/domain.c
579
if (tb->cm_ops->freeze_noirq)
drivers/thunderbolt/domain.c
580
ret = tb->cm_ops->freeze_noirq(tb);
drivers/thunderbolt/domain.c
582
tb_ctl_stop(tb->ctl);
drivers/thunderbolt/domain.c
583
mutex_unlock(&tb->lock);
drivers/thunderbolt/domain.c
588
int tb_domain_thaw_noirq(struct tb *tb)
drivers/thunderbolt/domain.c
592
mutex_lock(&tb->lock);
drivers/thunderbolt/domain.c
593
tb_ctl_start(tb->ctl);
drivers/thunderbolt/domain.c
594
if (tb->cm_ops->thaw_noirq)
drivers/thunderbolt/domain.c
595
ret = tb->cm_ops->thaw_noirq(tb);
drivers/thunderbolt/domain.c
596
mutex_unlock(&tb->lock);
drivers/thunderbolt/domain.c
601
void tb_domain_complete(struct tb *tb)
drivers/thunderbolt/domain.c
603
if (tb->cm_ops->complete)
drivers/thunderbolt/domain.c
604
tb->cm_ops->complete(tb);
drivers/thunderbolt/domain.c
607
int tb_domain_runtime_suspend(struct tb *tb)
drivers/thunderbolt/domain.c
609
if (tb->cm_ops->runtime_suspend) {
drivers/thunderbolt/domain.c
610
int ret = tb->cm_ops->runtime_suspend(tb);
drivers/thunderbolt/domain.c
614
tb_ctl_stop(tb->ctl);
drivers/thunderbolt/domain.c
618
int tb_domain_runtime_resume(struct tb *tb)
drivers/thunderbolt/domain.c
620
tb_ctl_start(tb->ctl);
drivers/thunderbolt/domain.c
621
if (tb->cm_ops->runtime_resume) {
drivers/thunderbolt/domain.c
622
int ret = tb->cm_ops->runtime_resume(tb);
drivers/thunderbolt/domain.c
638
int tb_domain_disapprove_switch(struct tb *tb, struct tb_switch *sw)
drivers/thunderbolt/domain.c
640
if (!tb->cm_ops->disapprove_switch)
drivers/thunderbolt/domain.c
643
return tb->cm_ops->disapprove_switch(tb, sw);
drivers/thunderbolt/domain.c
657
int tb_domain_approve_switch(struct tb *tb, struct tb_switch *sw)
drivers/thunderbolt/domain.c
661
if (!tb->cm_ops->approve_switch)
drivers/thunderbolt/domain.c
669
return tb->cm_ops->approve_switch(tb, sw);
drivers/thunderbolt/domain.c
683
int tb_domain_approve_switch_key(struct tb *tb, struct tb_switch *sw)
drivers/thunderbolt/domain.c
688
if (!tb->cm_ops->approve_switch || !tb->cm_ops->add_switch_key)
drivers/thunderbolt/domain.c
696
ret = tb->cm_ops->add_switch_key(tb, sw);
drivers/thunderbolt/domain.c
700
return tb->cm_ops->approve_switch(tb, sw);
drivers/thunderbolt/domain.c
715
int tb_domain_challenge_switch_key(struct tb *tb, struct tb_switch *sw)
drivers/thunderbolt/domain.c
723
if (!tb->cm_ops->approve_switch || !tb->cm_ops->challenge_switch_key)
drivers/thunderbolt/domain.c
732
ret = tb->cm_ops->challenge_switch_key(tb, sw, challenge, response);
drivers/thunderbolt/domain.c
744
return tb->cm_ops->approve_switch(tb, sw);
drivers/thunderbolt/domain.c
756
int tb_domain_disconnect_pcie_paths(struct tb *tb)
drivers/thunderbolt/domain.c
758
if (!tb->cm_ops->disconnect_pcie_paths)
drivers/thunderbolt/domain.c
761
return tb->cm_ops->disconnect_pcie_paths(tb);
drivers/thunderbolt/domain.c
782
int tb_domain_approve_xdomain_paths(struct tb *tb, struct tb_xdomain *xd,
drivers/thunderbolt/domain.c
786
if (!tb->cm_ops->approve_xdomain_paths)
drivers/thunderbolt/domain.c
789
return tb->cm_ops->approve_xdomain_paths(tb, xd, transmit_path,
drivers/thunderbolt/domain.c
811
int tb_domain_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd,
drivers/thunderbolt/domain.c
815
if (!tb->cm_ops->disconnect_xdomain_paths)
drivers/thunderbolt/domain.c
818
return tb->cm_ops->disconnect_xdomain_paths(tb, xd, transmit_path,
drivers/thunderbolt/domain.c
825
struct tb *tb = data;
drivers/thunderbolt/domain.c
829
if (xd && xd->tb == tb)
drivers/thunderbolt/domain.c
845
int tb_domain_disconnect_all_paths(struct tb *tb)
drivers/thunderbolt/domain.c
849
ret = tb_domain_disconnect_pcie_paths(tb);
drivers/thunderbolt/domain.c
853
return bus_for_each_dev(&tb_bus_type, NULL, tb, disconnect_xdomain);
drivers/thunderbolt/domain.c
857
const struct tb *tb;
drivers/thunderbolt/domain.c
867
if (xd && xd->tb == ctx->tb && xd->is_unplugged) {
drivers/thunderbolt/domain.c
874
int tb_domain_unregister_unplugged_xdomains(struct tb *tb)
drivers/thunderbolt/domain.c
878
ctx.tb = tb_domain_get(tb);
drivers/thunderbolt/domain.c
881
tb_domain_put(tb);
drivers/thunderbolt/eeprom.c
468
struct device *dev = sw->tb->nhi->dev;
drivers/thunderbolt/icm.c
1000
sw = tb_switch_find_by_route(tb, route);
drivers/thunderbolt/icm.c
1006
sw = tb_switch_find_by_link_depth(tb, link, depth);
drivers/thunderbolt/icm.c
1008
tb_warn(tb, "no switch exists at %u.%u, ignoring\n", link,
drivers/thunderbolt/icm.c
1019
icm_fr_xdomain_disconnected(struct tb *tb, const struct icm_pkg_header *hdr)
drivers/thunderbolt/icm.c
1030
xd = tb_xdomain_find_by_uuid(tb, &pkg->remote_uuid);
drivers/thunderbolt/icm.c
1037
static int icm_tr_cio_reset(struct tb *tb)
drivers/thunderbolt/icm.c
1039
return pcie2cio_write(tb_priv(tb), TB_CFG_SWITCH, 0, 0x777, BIT(1));
drivers/thunderbolt/icm.c
1043
icm_tr_driver_ready(struct tb *tb, enum tb_security_level *security_level,
drivers/thunderbolt/icm.c
1053
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
106
bool (*is_supported)(struct tb *tb);
drivers/thunderbolt/icm.c
107
int (*cio_reset)(struct tb *tb);
drivers/thunderbolt/icm.c
1072
static int icm_tr_approve_switch(struct tb *tb, struct tb_switch *sw)
drivers/thunderbolt/icm.c
108
int (*get_mode)(struct tb *tb);
drivers/thunderbolt/icm.c
1086
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
109
int (*get_route)(struct tb *tb, u8 link, u8 depth, u64 *route);
drivers/thunderbolt/icm.c
1092
tb_warn(tb, "PCIe tunnel creation failed\n");
drivers/thunderbolt/icm.c
1099
static int icm_tr_add_switch_key(struct tb *tb, struct tb_switch *sw)
drivers/thunderbolt/icm.c
110
void (*save_devices)(struct tb *tb);
drivers/thunderbolt/icm.c
111
int (*driver_ready)(struct tb *tb,
drivers/thunderbolt/icm.c
1114
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
1120
tb_warn(tb, "Adding key to switch failed\n");
drivers/thunderbolt/icm.c
1127
static int icm_tr_challenge_switch_key(struct tb *tb, struct tb_switch *sw,
drivers/thunderbolt/icm.c
114
void (*set_uuid)(struct tb *tb);
drivers/thunderbolt/icm.c
1143
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
115
void (*device_connected)(struct tb *tb,
drivers/thunderbolt/icm.c
1158
static int icm_tr_approve_xdomain_paths(struct tb *tb, struct tb_xdomain *xd,
drivers/thunderbolt/icm.c
1167
tb_warn(tb, "only one tunnel is supported by the firmware\n");
drivers/thunderbolt/icm.c
117
void (*device_disconnected)(struct tb *tb,
drivers/thunderbolt/icm.c
1182
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
119
void (*xdomain_connected)(struct tb *tb,
drivers/thunderbolt/icm.c
1194
static int icm_tr_xdomain_tear_down(struct tb *tb, struct tb_xdomain *xd,
drivers/thunderbolt/icm.c
1209
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
121
void (*xdomain_disconnected)(struct tb *tb,
drivers/thunderbolt/icm.c
1220
static int icm_tr_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd,
drivers/thunderbolt/icm.c
1226
ret = icm_tr_xdomain_tear_down(tb, xd, 1);
drivers/thunderbolt/icm.c
123
void (*rtd3_veto)(struct tb *tb, const struct icm_pkg_header *hdr);
drivers/thunderbolt/icm.c
1231
ret = icm_tr_xdomain_tear_down(tb, xd, 2);
drivers/thunderbolt/icm.c
1240
__icm_tr_device_connected(struct tb *tb, const struct icm_pkg_header *hdr,
drivers/thunderbolt/icm.c
1251
icm_postpone_rescan(tb);
drivers/thunderbolt/icm.c
1270
tb_info(tb, "switch at %llx was rejected by ICM firmware because topology limit exceeded\n",
drivers/thunderbolt/icm.c
1275
sw = tb_switch_find_by_uuid(tb, &pkg->ep_uuid);
drivers/thunderbolt/icm.c
129
struct tb *tb;
drivers/thunderbolt/icm.c
1290
sw = tb_switch_find_by_route(tb, route);
drivers/thunderbolt/icm.c
1297
xd = tb_xdomain_find_by_route(tb, route);
drivers/thunderbolt/icm.c
1303
parent_sw = tb_switch_find_by_route(tb, get_parent_route(route));
drivers/thunderbolt/icm.c
1305
tb_err(tb, "failed to find parent switch for %llx\n", route);
drivers/thunderbolt/icm.c
1336
icm_tr_device_connected(struct tb *tb, const struct icm_pkg_header *hdr)
drivers/thunderbolt/icm.c
1338
__icm_tr_device_connected(tb, hdr, false);
drivers/thunderbolt/icm.c
1342
icm_tr_device_disconnected(struct tb *tb, const struct icm_pkg_header *hdr)
drivers/thunderbolt/icm.c
1351
sw = tb_switch_find_by_route(tb, route);
drivers/thunderbolt/icm.c
1353
tb_warn(tb, "no switch exists at %llx, ignoring\n", route);
drivers/thunderbolt/icm.c
1367
icm_tr_xdomain_connected(struct tb *tb, const struct icm_pkg_header *hdr)
drivers/thunderbolt/icm.c
1375
if (!tb->root_switch)
drivers/thunderbolt/icm.c
1380
xd = tb_xdomain_find_by_uuid(tb, &pkg->remote_uuid);
drivers/thunderbolt/icm.c
1393
xd = tb_xdomain_find_by_route(tb, route);
drivers/thunderbolt/icm.c
1404
sw = tb_switch_find_by_route(tb, route);
drivers/thunderbolt/icm.c
1410
sw = tb_switch_find_by_route(tb, get_parent_route(route));
drivers/thunderbolt/icm.c
1412
tb_warn(tb, "no switch exists at %llx, ignoring\n", route);
drivers/thunderbolt/icm.c
1421
icm_tr_xdomain_disconnected(struct tb *tb, const struct icm_pkg_header *hdr)
drivers/thunderbolt/icm.c
1430
xd = tb_xdomain_find_by_route(tb, route);
drivers/thunderbolt/icm.c
1467
static bool icm_ar_is_supported(struct tb *tb)
drivers/thunderbolt/icm.c
1469
struct pci_dev *pdev = to_pci_dev(tb->nhi->dev);
drivers/thunderbolt/icm.c
1471
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
1478
if (icm_firmware_running(tb->nhi))
drivers/thunderbolt/icm.c
1504
static int icm_ar_cio_reset(struct tb *tb)
drivers/thunderbolt/icm.c
1506
return pcie2cio_write(tb_priv(tb), TB_CFG_SWITCH, 0, 0x50, BIT(9));
drivers/thunderbolt/icm.c
1509
static int icm_ar_get_mode(struct tb *tb)
drivers/thunderbolt/icm.c
1511
struct tb_nhi *nhi = tb->nhi;
drivers/thunderbolt/icm.c
1531
icm_ar_driver_ready(struct tb *tb, enum tb_security_level *security_level,
drivers/thunderbolt/icm.c
1541
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
1557
static int icm_ar_get_route(struct tb *tb, u8 link, u8 depth, u64 *route)
drivers/thunderbolt/icm.c
1567
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
1579
static int icm_ar_get_boot_acl(struct tb *tb, uuid_t *uuids, size_t nuuids)
drivers/thunderbolt/icm.c
1588
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
1616
static int icm_ar_set_boot_acl(struct tb *tb, const uuid_t *uuids,
drivers/thunderbolt/icm.c
1649
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
1661
icm_icl_driver_ready(struct tb *tb, enum tb_security_level *security_level,
drivers/thunderbolt/icm.c
1671
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
1687
static void icm_icl_set_uuid(struct tb *tb)
drivers/thunderbolt/icm.c
1689
struct pci_dev *pdev = to_pci_dev(tb->nhi->dev);
drivers/thunderbolt/icm.c
1697
tb->root_switch->uuid = kmemdup(uuid, sizeof(uuid), GFP_KERNEL);
drivers/thunderbolt/icm.c
1701
icm_icl_device_connected(struct tb *tb, const struct icm_pkg_header *hdr)
drivers/thunderbolt/icm.c
1703
__icm_tr_device_connected(tb, hdr, true);
drivers/thunderbolt/icm.c
1706
static void icm_icl_rtd3_veto(struct tb *tb, const struct icm_pkg_header *hdr)
drivers/thunderbolt/icm.c
1711
tb_dbg(tb, "ICM rtd3 veto=0x%08x\n", pkg->veto_reason);
drivers/thunderbolt/icm.c
1714
icm_veto_begin(tb);
drivers/thunderbolt/icm.c
1716
icm_veto_end(tb);
drivers/thunderbolt/icm.c
1719
static bool icm_tgl_is_supported(struct tb *tb)
drivers/thunderbolt/icm.c
1726
val = ioread32(tb->nhi->iobase + REG_FW_STS);
drivers/thunderbolt/icm.c
1738
struct tb *tb = n->tb;
drivers/thunderbolt/icm.c
1739
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
1741
mutex_lock(&tb->lock);
drivers/thunderbolt/icm.c
1748
if (tb->root_switch) {
drivers/thunderbolt/icm.c
1751
icm->device_connected(tb, n->pkg);
drivers/thunderbolt/icm.c
1754
icm->device_disconnected(tb, n->pkg);
drivers/thunderbolt/icm.c
1758
icm->xdomain_connected(tb, n->pkg);
drivers/thunderbolt/icm.c
1762
icm->xdomain_disconnected(tb, n->pkg);
drivers/thunderbolt/icm.c
1765
icm_dp_event(tb);
drivers/thunderbolt/icm.c
1768
icm->rtd3_veto(tb, n->pkg);
drivers/thunderbolt/icm.c
1773
mutex_unlock(&tb->lock);
drivers/thunderbolt/icm.c
1778
tb_domain_unregister_unplugged_xdomains(tb);
drivers/thunderbolt/icm.c
1781
static void icm_handle_event(struct tb *tb, enum tb_cfg_pkg_type type,
drivers/thunderbolt/icm.c
1797
n->tb = tb;
drivers/thunderbolt/icm.c
1799
queue_work(tb->wq, &n->work);
drivers/thunderbolt/icm.c
1803
__icm_driver_ready(struct tb *tb, enum tb_security_level *security_level,
drivers/thunderbolt/icm.c
1806
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
1810
ret = icm->driver_ready(tb, security_level, proto_version, nboot_acl,
drivers/thunderbolt/icm.c
1813
tb_err(tb, "failed to send driver ready to ICM\n");
drivers/thunderbolt/icm.c
1825
res = tb_cfg_read_raw(tb->ctl, &tmp, 0, 0, TB_CFG_SWITCH,
drivers/thunderbolt/icm.c
1833
tb_err(tb, "failed to read root switch config space, giving up\n");
drivers/thunderbolt/icm.c
1837
static int icm_firmware_reset(struct tb *tb, struct tb_nhi *nhi)
drivers/thunderbolt/icm.c
1839
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
184
static inline struct tb *icm_to_tb(struct icm *icm)
drivers/thunderbolt/icm.c
1857
return icm->cio_reset(tb);
drivers/thunderbolt/icm.c
186
return ((void *)icm - sizeof(struct tb));
drivers/thunderbolt/icm.c
1860
static int icm_firmware_start(struct tb *tb, struct tb_nhi *nhi)
drivers/thunderbolt/icm.c
1872
ret = icm_firmware_reset(tb, nhi);
drivers/thunderbolt/icm.c
1889
static int icm_reset_phy_port(struct tb *tb, int phy_port)
drivers/thunderbolt/icm.c
1891
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
1957
static int icm_firmware_init(struct tb *tb)
drivers/thunderbolt/icm.c
1959
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
1960
struct tb_nhi *nhi = tb->nhi;
drivers/thunderbolt/icm.c
1963
ret = icm_firmware_start(tb, nhi);
drivers/thunderbolt/icm.c
1970
ret = icm->get_mode(tb);
drivers/thunderbolt/icm.c
1986
tb_err(tb, "ICM firmware is in wrong mode: %u\n", ret);
drivers/thunderbolt/icm.c
1995
ret = icm_reset_phy_port(tb, 0);
drivers/thunderbolt/icm.c
1998
ret = icm_reset_phy_port(tb, 1);
drivers/thunderbolt/icm.c
2005
static int icm_driver_ready(struct tb *tb)
drivers/thunderbolt/icm.c
2007
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
2010
ret = icm_firmware_init(tb);
drivers/thunderbolt/icm.c
2015
tb_info(tb, "Thunderbolt host controller is in safe mode.\n");
drivers/thunderbolt/icm.c
2016
tb_info(tb, "You need to update NVM firmware of the controller before it can be used.\n");
drivers/thunderbolt/icm.c
2017
tb_info(tb, "Use fwupd tool to apply update. Check Documentation/admin-guide/thunderbolt.rst for details.\n");
drivers/thunderbolt/icm.c
2021
ret = __icm_driver_ready(tb, &tb->security_level, &icm->proto_version,
drivers/thunderbolt/icm.c
2022
&tb->nboot_acl, &icm->rpm);
drivers/thunderbolt/icm.c
2030
if (tb->nboot_acl > icm->max_boot_acl)
drivers/thunderbolt/icm.c
2031
tb->nboot_acl = 0;
drivers/thunderbolt/icm.c
2034
tb_dbg(tb, "USB4 proxy operations supported\n");
drivers/thunderbolt/icm.c
2039
static int icm_suspend(struct tb *tb)
drivers/thunderbolt/icm.c
2041
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
2044
icm->save_devices(tb);
drivers/thunderbolt/icm.c
2046
nhi_mailbox_cmd(tb->nhi, NHI_MAILBOX_DRV_UNLOADS, 0);
drivers/thunderbolt/icm.c
2123
struct tb *tb = icm_to_tb(icm);
drivers/thunderbolt/icm.c
2125
mutex_lock(&tb->lock);
drivers/thunderbolt/icm.c
2126
if (tb->root_switch)
drivers/thunderbolt/icm.c
2127
icm_free_unplugged_children(tb->root_switch);
drivers/thunderbolt/icm.c
2128
mutex_unlock(&tb->lock);
drivers/thunderbolt/icm.c
2130
tb_domain_unregister_unplugged_xdomains(tb);
drivers/thunderbolt/icm.c
2133
static void icm_complete(struct tb *tb)
drivers/thunderbolt/icm.c
2135
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
2137
if (tb->nhi->going_away)
drivers/thunderbolt/icm.c
2146
icm_veto_end(tb);
drivers/thunderbolt/icm.c
2147
icm_unplug_children(tb->root_switch);
drivers/thunderbolt/icm.c
2153
__icm_driver_ready(tb, NULL, NULL, NULL, NULL);
drivers/thunderbolt/icm.c
2160
queue_delayed_work(tb->wq, &icm->rescan_work, msecs_to_jiffies(500));
drivers/thunderbolt/icm.c
2163
static int icm_runtime_suspend(struct tb *tb)
drivers/thunderbolt/icm.c
2165
nhi_mailbox_cmd(tb->nhi, NHI_MAILBOX_DRV_UNLOADS, 0);
drivers/thunderbolt/icm.c
2187
static int icm_runtime_resume(struct tb *tb)
drivers/thunderbolt/icm.c
2193
icm_complete(tb);
drivers/thunderbolt/icm.c
2197
static int icm_start(struct tb *tb, bool not_used)
drivers/thunderbolt/icm.c
2199
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
2203
tb->root_switch = tb_switch_alloc_safe_mode(tb, &tb->dev, 0);
drivers/thunderbolt/icm.c
2205
tb->root_switch = tb_switch_alloc(tb, &tb->dev, 0);
drivers/thunderbolt/icm.c
2206
if (IS_ERR(tb->root_switch))
drivers/thunderbolt/icm.c
2207
return PTR_ERR(tb->root_switch);
drivers/thunderbolt/icm.c
2209
tb->root_switch->no_nvm_upgrade = !icm->can_upgrade_nvm;
drivers/thunderbolt/icm.c
2210
tb->root_switch->rpm = icm->rpm;
drivers/thunderbolt/icm.c
2213
icm->set_uuid(tb);
drivers/thunderbolt/icm.c
2215
ret = tb_switch_add(tb->root_switch);
drivers/thunderbolt/icm.c
2217
tb_switch_put(tb->root_switch);
drivers/thunderbolt/icm.c
2218
tb->root_switch = NULL;
drivers/thunderbolt/icm.c
2224
static void icm_stop(struct tb *tb)
drivers/thunderbolt/icm.c
2226
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
2229
tb_switch_remove(tb->root_switch);
drivers/thunderbolt/icm.c
2230
tb->root_switch = NULL;
drivers/thunderbolt/icm.c
2231
nhi_mailbox_cmd(tb->nhi, NHI_MAILBOX_DRV_UNLOADS, 0);
drivers/thunderbolt/icm.c
2236
static int icm_disconnect_pcie_paths(struct tb *tb)
drivers/thunderbolt/icm.c
2238
return nhi_mailbox_cmd(tb->nhi, NHI_MAILBOX_DISCONNECT_PCIE_PATHS, 0);
drivers/thunderbolt/icm.c
2245
struct tb *tb = icm_to_tb(icm);
drivers/thunderbolt/icm.c
2247
tb_dbg(tb, "NVM_AUTH response for %llx flags %#x status %#x\n",
drivers/thunderbolt/icm.c
2251
mutex_lock(&tb->lock);
drivers/thunderbolt/icm.c
2255
mutex_unlock(&tb->lock);
drivers/thunderbolt/icm.c
2258
static int icm_usb4_switch_nvm_authenticate(struct tb *tb, u64 route)
drivers/thunderbolt/icm.c
2261
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
2291
tb_dbg(tb, "NVM_AUTH request for %llx\n", route);
drivers/thunderbolt/icm.c
2294
ret = tb_cfg_request(tb->ctl, req, icm_usb4_switch_nvm_auth_complete,
drivers/thunderbolt/icm.c
2314
struct tb *tb = sw->tb;
drivers/thunderbolt/icm.c
2315
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
2331
return icm_usb4_switch_nvm_authenticate(tb, route);
drivers/thunderbolt/icm.c
2350
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
2374
struct tb *tb = sw->tb;
drivers/thunderbolt/icm.c
2375
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
2386
tb_dbg(tb, "NVM_AUTH found for %llx flags %#x status %#x\n",
drivers/thunderbolt/icm.c
2479
struct tb *icm_probe(struct tb_nhi *nhi)
drivers/thunderbolt/icm.c
2483
struct tb *tb;
drivers/thunderbolt/icm.c
2485
tb = tb_domain_alloc(nhi, ICM_TIMEOUT, sizeof(struct icm));
drivers/thunderbolt/icm.c
2486
if (!tb)
drivers/thunderbolt/icm.c
2489
icm = tb_priv(tb);
drivers/thunderbolt/icm.c
2505
tb->cm_ops = &icm_fr_ops;
drivers/thunderbolt/icm.c
2531
tb->cm_ops = &icm_ar_ops;
drivers/thunderbolt/icm.c
2546
tb->cm_ops = &icm_tr_ops;
drivers/thunderbolt/icm.c
2559
tb->cm_ops = &icm_icl_ops;
drivers/thunderbolt/icm.c
2581
tb->cm_ops = &icm_icl_ops;
drivers/thunderbolt/icm.c
2594
tb->cm_ops = &icm_tr_ops;
drivers/thunderbolt/icm.c
2598
if (!icm->is_supported || !icm->is_supported(tb)) {
drivers/thunderbolt/icm.c
2600
tb_domain_put(tb);
drivers/thunderbolt/icm.c
2604
tb_dbg(tb, "using firmware connection manager\n");
drivers/thunderbolt/icm.c
2606
return tb;
drivers/thunderbolt/icm.c
299
static int icm_request(struct tb *tb, const void *request, size_t request_size,
drivers/thunderbolt/icm.c
303
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
324
res = tb_cfg_request_sync(tb->ctl, req, timeout_msec);
drivers/thunderbolt/icm.c
343
static void icm_postpone_rescan(struct tb *tb)
drivers/thunderbolt/icm.c
345
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
348
mod_delayed_work(tb->wq, &icm->rescan_work,
drivers/thunderbolt/icm.c
352
static void icm_veto_begin(struct tb *tb)
drivers/thunderbolt/icm.c
354
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
359
pm_runtime_get(&tb->dev);
drivers/thunderbolt/icm.c
363
static void icm_veto_end(struct tb *tb)
drivers/thunderbolt/icm.c
365
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
370
pm_runtime_mark_last_busy(&tb->dev);
drivers/thunderbolt/icm.c
371
pm_runtime_put_autosuspend(&tb->dev);
drivers/thunderbolt/icm.c
386
struct tb *tb = xd->tb;
drivers/thunderbolt/icm.c
388
nhi_port = tb_switch_find_port(tb->root_switch, TB_TYPE_NHI);
drivers/thunderbolt/icm.c
392
tb_tunnel_event(tb, TB_TUNNEL_ACTIVATED, TB_TUNNEL_DMA,
drivers/thunderbolt/icm.c
395
tb_tunnel_event(tb, TB_TUNNEL_DEACTIVATED, TB_TUNNEL_DMA,
drivers/thunderbolt/icm.c
399
static void icm_dp_event(struct tb *tb)
drivers/thunderbolt/icm.c
401
tb_tunnel_event(tb, TB_TUNNEL_CHANGED, TB_TUNNEL_DP, NULL, NULL);
drivers/thunderbolt/icm.c
404
static bool icm_fr_is_supported(struct tb *tb)
drivers/thunderbolt/icm.c
420
static int icm_fr_get_route(struct tb *tb, u8 link, u8 depth, u64 *route)
drivers/thunderbolt/icm.c
434
ret = icm_request(tb, &request, sizeof(request), switches,
drivers/thunderbolt/icm.c
471
static void icm_fr_save_devices(struct tb *tb)
drivers/thunderbolt/icm.c
473
nhi_mailbox_cmd(tb->nhi, NHI_MAILBOX_SAVE_DEVS, 0);
drivers/thunderbolt/icm.c
477
icm_fr_driver_ready(struct tb *tb, enum tb_security_level *security_level,
drivers/thunderbolt/icm.c
487
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
498
static int icm_fr_approve_switch(struct tb *tb, struct tb_switch *sw)
drivers/thunderbolt/icm.c
512
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
518
tb_warn(tb, "PCIe tunnel creation failed\n");
drivers/thunderbolt/icm.c
525
static int icm_fr_add_switch_key(struct tb *tb, struct tb_switch *sw)
drivers/thunderbolt/icm.c
539
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
545
tb_warn(tb, "Adding key to switch failed\n");
drivers/thunderbolt/icm.c
552
static int icm_fr_challenge_switch_key(struct tb *tb, struct tb_switch *sw,
drivers/thunderbolt/icm.c
567
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
582
static int icm_fr_approve_xdomain_paths(struct tb *tb, struct tb_xdomain *xd,
drivers/thunderbolt/icm.c
591
tb_warn(tb, "only one tunnel is supported by the firmware\n");
drivers/thunderbolt/icm.c
606
ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply),
drivers/thunderbolt/icm.c
618
static int icm_fr_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd,
drivers/thunderbolt/icm.c
631
nhi_mailbox_cmd(tb->nhi, cmd, 1);
drivers/thunderbolt/icm.c
633
nhi_mailbox_cmd(tb->nhi, cmd, 2);
drivers/thunderbolt/icm.c
642
struct tb *tb = parent_sw->tb;
drivers/thunderbolt/icm.c
645
sw = tb_switch_alloc(tb, &parent_sw->dev, route);
drivers/thunderbolt/icm.c
647
tb_warn(tb, "failed to allocate switch at %llx\n", route);
drivers/thunderbolt/icm.c
717
xd = tb_xdomain_alloc(sw->tb, &sw->dev, route, local_uuid, remote_uuid);
drivers/thunderbolt/icm.c
751
icm_fr_device_connected(struct tb *tb, const struct icm_pkg_header *hdr)
drivers/thunderbolt/icm.c
758
struct icm *icm = tb_priv(tb);
drivers/thunderbolt/icm.c
765
icm_postpone_rescan(tb);
drivers/thunderbolt/icm.c
778
tb_info(tb, "switch at %u.%u was rejected by ICM firmware because topology limit exceeded\n",
drivers/thunderbolt/icm.c
783
sw = tb_switch_find_by_uuid(tb, &pkg->ep_uuid);
drivers/thunderbolt/icm.c
805
ret = icm->get_route(tb, link, depth, &route);
drivers/thunderbolt/icm.c
807
tb_err(tb, "failed to update route string for switch at %u.%u\n",
drivers/thunderbolt/icm.c
837
sw = tb_switch_find_by_link_depth(tb, link, depth);
drivers/thunderbolt/icm.c
843
sw = tb_switch_find_by_link_depth(tb, dual_link, depth);
drivers/thunderbolt/icm.c
851
xd = tb_xdomain_find_by_link_depth(tb, link, depth);
drivers/thunderbolt/icm.c
857
parent_sw = tb_switch_find_by_link_depth(tb, link, depth - 1);
drivers/thunderbolt/icm.c
859
tb_err(tb, "failed to find parent switch for %u.%u\n",
drivers/thunderbolt/icm.c
864
ret = icm->get_route(tb, link, depth, &route);
drivers/thunderbolt/icm.c
866
tb_err(tb, "failed to find route string for switch at %u.%u\n",
drivers/thunderbolt/icm.c
899
icm_fr_device_disconnected(struct tb *tb, const struct icm_pkg_header *hdr)
drivers/thunderbolt/icm.c
911
tb_warn(tb, "invalid topology %u.%u, ignoring\n", link, depth);
drivers/thunderbolt/icm.c
915
sw = tb_switch_find_by_link_depth(tb, link, depth);
drivers/thunderbolt/icm.c
917
tb_warn(tb, "no switch exists at %u.%u, ignoring\n", link,
drivers/thunderbolt/icm.c
933
icm_fr_xdomain_connected(struct tb *tb, const struct icm_pkg_header *hdr)
drivers/thunderbolt/icm.c
947
tb_warn(tb, "invalid topology %u.%u, ignoring\n", link, depth);
drivers/thunderbolt/icm.c
953
xd = tb_xdomain_find_by_uuid(tb, &pkg->remote_uuid);
drivers/thunderbolt/icm.c
981
xd = tb_xdomain_find_by_link_depth(tb, link, depth);
drivers/thunderbolt/icm.c
987
xd = tb_xdomain_find_by_link_depth(tb, dual_link,
drivers/thunderbolt/nhi.c
1001
struct tb *tb = dev_get_drvdata(dev);
drivers/thunderbolt/nhi.c
1003
return tb_domain_freeze_noirq(tb);
drivers/thunderbolt/nhi.c
1008
struct tb *tb = dev_get_drvdata(dev);
drivers/thunderbolt/nhi.c
1010
return tb_domain_thaw_noirq(tb);
drivers/thunderbolt/nhi.c
1037
struct tb *tb = dev_get_drvdata(dev);
drivers/thunderbolt/nhi.c
1038
struct tb_nhi *nhi = tb->nhi;
drivers/thunderbolt/nhi.c
1054
return tb_domain_resume_noirq(tb);
drivers/thunderbolt/nhi.c
1059
struct tb *tb = dev_get_drvdata(dev);
drivers/thunderbolt/nhi.c
1061
return tb_domain_suspend(tb);
drivers/thunderbolt/nhi.c
1066
struct tb *tb = dev_get_drvdata(dev);
drivers/thunderbolt/nhi.c
1076
tb_domain_complete(tb);
drivers/thunderbolt/nhi.c
1081
struct tb *tb = dev_get_drvdata(dev);
drivers/thunderbolt/nhi.c
1082
struct tb_nhi *nhi = tb->nhi;
drivers/thunderbolt/nhi.c
1085
ret = tb_domain_runtime_suspend(tb);
drivers/thunderbolt/nhi.c
1090
ret = nhi->ops->runtime_suspend(tb->nhi);
drivers/thunderbolt/nhi.c
1099
struct tb *tb = dev_get_drvdata(dev);
drivers/thunderbolt/nhi.c
1100
struct tb_nhi *nhi = tb->nhi;
drivers/thunderbolt/nhi.c
1109
return tb_domain_runtime_resume(tb);
drivers/thunderbolt/nhi.c
1163
static struct tb *nhi_select_cm(struct tb_nhi *nhi)
drivers/thunderbolt/nhi.c
1165
struct tb *tb;
drivers/thunderbolt/nhi.c
1179
tb = icm_probe(nhi);
drivers/thunderbolt/nhi.c
1180
if (!tb)
drivers/thunderbolt/nhi.c
1181
tb = tb_probe(nhi);
drivers/thunderbolt/nhi.c
1183
return tb;
drivers/thunderbolt/nhi.c
1189
struct tb *tb;
drivers/thunderbolt/nhi.c
1229
tb = nhi_select_cm(nhi);
drivers/thunderbolt/nhi.c
1230
if (!tb)
drivers/thunderbolt/nhi.c
1238
res = tb_domain_add(tb, host_reset);
drivers/thunderbolt/nhi.c
1244
tb_domain_put(tb);
drivers/thunderbolt/nhi.c
1249
dev_set_drvdata(dev, tb);
drivers/thunderbolt/nhi.c
977
struct tb *tb = dev_get_drvdata(dev);
drivers/thunderbolt/nhi.c
978
struct tb_nhi *nhi = tb->nhi;
drivers/thunderbolt/nhi.c
981
ret = tb_domain_suspend_noirq(tb);
drivers/thunderbolt/nhi.c
986
ret = nhi->ops->suspend_noirq(tb->nhi, wakeup);
drivers/thunderbolt/path.c
160
path->tb = src->sw->tb;
drivers/thunderbolt/path.c
164
tb_dbg(path->tb, "discovering %s path starting from %llx:%u\n",
drivers/thunderbolt/path.c
205
tb_dbg(path->tb, "path discovery complete\n");
drivers/thunderbolt/path.c
233
struct tb_path *tb_path_alloc(struct tb *tb, struct tb_port *src, int src_hopid,
drivers/thunderbolt/path.c
329
path->tb = tb;
drivers/thunderbolt/path.c
469
tb_WARN(path->tb, "trying to deactivate an inactive path\n");
drivers/thunderbolt/path.c
472
tb_dbg(path->tb,
drivers/thunderbolt/path.c
497
tb_WARN(path->tb, "trying to activate already activated path\n");
drivers/thunderbolt/path.c
501
tb_dbg(path->tb,
drivers/thunderbolt/path.c
585
tb_dbg(path->tb, "%s path activation complete\n", path->name);
drivers/thunderbolt/path.c
588
tb_warn(path->tb, "%s path activation failed: %d\n", path->name, res);
drivers/thunderbolt/pci.c
275
struct tb *tb = dev_get_drvdata(nhi->dev);
drivers/thunderbolt/pci.c
278
ret = device_for_each_child(&tb->root_switch->dev, NULL,
drivers/thunderbolt/pci.c
376
struct tb *tb = dev_get_drvdata(nhi->dev);
drivers/thunderbolt/pci.c
382
if (tb_switch_is_icm(tb->root_switch)) {
drivers/thunderbolt/pci.c
399
struct tb *tb = dev_get_drvdata(nhi->dev);
drivers/thunderbolt/pci.c
405
if (!tb_switch_is_icm(tb->root_switch))
drivers/thunderbolt/pci.c
484
struct tb *tb = pci_get_drvdata(pdev);
drivers/thunderbolt/pci.c
485
struct tb_nhi *nhi = tb->nhi;
drivers/thunderbolt/pci.c
491
tb_domain_remove(tb);
drivers/thunderbolt/retimer.c
184
if (!mutex_trylock(&rt->tb->lock))
drivers/thunderbolt/retimer.c
192
mutex_unlock(&rt->tb->lock);
drivers/thunderbolt/retimer.c
259
if (!mutex_trylock(&rt->tb->lock)) {
drivers/thunderbolt/retimer.c
306
mutex_unlock(&rt->tb->lock);
drivers/thunderbolt/retimer.c
323
if (!mutex_trylock(&rt->tb->lock))
drivers/thunderbolt/retimer.c
331
mutex_unlock(&rt->tb->lock);
drivers/thunderbolt/retimer.c
422
rt->tb = port->sw->tb;
drivers/thunderbolt/retimer.c
48
if (!mutex_trylock(&rt->tb->lock)) {
drivers/thunderbolt/retimer.c
54
mutex_unlock(&rt->tb->lock);
drivers/thunderbolt/retimer.c
69
if (!mutex_trylock(&rt->tb->lock))
drivers/thunderbolt/retimer.c
73
mutex_unlock(&rt->tb->lock);
drivers/thunderbolt/stream.c
554
ring = tb_ring_alloc_tx(xd->tb->nhi, -1, sdev->ring_size,
drivers/thunderbolt/stream.c
568
ring = tb_ring_alloc_rx(xd->tb->nhi, -1, sdev->ring_size,
drivers/thunderbolt/switch.c
139
ret = tb_domain_disconnect_all_paths(sw->tb);
drivers/thunderbolt/switch.c
1563
static void tb_dump_switch(const struct tb *tb, const struct tb_switch *sw)
drivers/thunderbolt/switch.c
1567
tb_dbg(tb, " %s Switch: %x:%x (Revision: %d, TB Version: %d)\n",
drivers/thunderbolt/switch.c
1570
tb_dbg(tb, " Max Port Number: %d\n", regs->max_port_number);
drivers/thunderbolt/switch.c
1571
tb_dbg(tb, " Config:\n");
drivers/thunderbolt/switch.c
1572
tb_dbg(tb,
drivers/thunderbolt/switch.c
1577
tb_dbg(tb, " unknown1: %#x unknown4: %#x\n",
drivers/thunderbolt/switch.c
1636
res = tb_cfg_reset(sw->tb->ctl, tb_route(sw));
drivers/thunderbolt/switch.c
1808
ret = tb_domain_disapprove_switch(sw->tb, sw);
drivers/thunderbolt/switch.c
1825
if (!mutex_trylock(&sw->tb->lock))
drivers/thunderbolt/switch.c
1843
ret = tb_domain_approve_switch_key(sw->tb, sw);
drivers/thunderbolt/switch.c
1845
ret = tb_domain_approve_switch(sw->tb, sw);
drivers/thunderbolt/switch.c
1851
ret = tb_domain_challenge_switch_key(sw->tb, sw);
drivers/thunderbolt/switch.c
1869
mutex_unlock(&sw->tb->lock);
drivers/thunderbolt/switch.c
1938
if (!mutex_trylock(&sw->tb->lock))
drivers/thunderbolt/switch.c
1946
mutex_unlock(&sw->tb->lock);
drivers/thunderbolt/switch.c
1963
if (!mutex_trylock(&sw->tb->lock))
drivers/thunderbolt/switch.c
1979
mutex_unlock(&sw->tb->lock);
drivers/thunderbolt/switch.c
2069
if (!mutex_trylock(&sw->tb->lock)) {
drivers/thunderbolt/switch.c
2119
mutex_unlock(&sw->tb->lock);
drivers/thunderbolt/switch.c
2159
if (!mutex_trylock(&sw->tb->lock))
drivers/thunderbolt/switch.c
2169
mutex_unlock(&sw->tb->lock);
drivers/thunderbolt/switch.c
2229
if (sw->tb->security_level == TB_SECURITY_NOPCIE ||
drivers/thunderbolt/switch.c
2230
sw->tb->security_level == TB_SECURITY_DPONLY)
drivers/thunderbolt/switch.c
2246
sw->tb->security_level == TB_SECURITY_SECURE &&
drivers/thunderbolt/switch.c
2350
const struct tb_cm_ops *cm_ops = sw->tb->cm_ops;
drivers/thunderbolt/switch.c
2361
const struct tb_cm_ops *cm_ops = sw->tb->cm_ops;
drivers/thunderbolt/switch.c
237
struct tb_nhi *nhi = sw->tb->nhi;
drivers/thunderbolt/switch.c
2430
(sw->tb->root_switch && tb_switch_is_usb4(sw->tb->root_switch)))
drivers/thunderbolt/switch.c
2451
struct tb_switch *tb_switch_alloc(struct tb *tb, struct device *parent,
drivers/thunderbolt/switch.c
2469
upstream_port = tb_cfg_get_upstream_port(tb->ctl, route);
drivers/thunderbolt/switch.c
2477
sw->tb = tb;
drivers/thunderbolt/switch.c
2478
ret = tb_cfg_read(tb->ctl, &sw->config, route, 0, TB_CFG_SWITCH, 0, 5);
drivers/thunderbolt/switch.c
2484
tb_dbg(tb, "current switch config:\n");
drivers/thunderbolt/switch.c
2485
tb_dump_switch(tb, sw);
drivers/thunderbolt/switch.c
2544
dev_set_name(&sw->dev, "%u-%llx", tb->index, tb_route(sw));
drivers/thunderbolt/switch.c
2570
tb_switch_alloc_safe_mode(struct tb *tb, struct device *parent, u64 route)
drivers/thunderbolt/switch.c
2578
sw->tb = tb;
drivers/thunderbolt/switch.c
2589
dev_set_name(&sw->dev, "%u-%llx", tb->index, tb_route(sw));
drivers/thunderbolt/switch.c
2607
struct tb *tb = sw->tb;
drivers/thunderbolt/switch.c
2613
tb_dbg(tb, "%s Switch at %#llx (depth: %d, up port: %d)\n",
drivers/thunderbolt/switch.c
2724
struct tb_nhi *nhi = sw->tb->nhi;
drivers/thunderbolt/switch.c
292
if (!mutex_trylock(&sw->tb->lock)) {
drivers/thunderbolt/switch.c
298
mutex_unlock(&sw->tb->lock);
drivers/thunderbolt/switch.c
313
if (!mutex_trylock(&sw->tb->lock))
drivers/thunderbolt/switch.c
323
mutex_unlock(&sw->tb->lock);
drivers/thunderbolt/switch.c
3475
if (sw == sw->tb->root_switch) {
drivers/thunderbolt/switch.c
3544
err = tb_cfg_get_upstream_port(sw->tb->ctl, tb_route(sw));
drivers/thunderbolt/switch.c
3618
err = tb_cfg_get_upstream_port(sw->tb->ctl,
drivers/thunderbolt/switch.c
3752
struct tb *tb;
drivers/thunderbolt/switch.c
3766
if (sw->tb != lookup->tb)
drivers/thunderbolt/switch.c
3795
struct tb_switch *tb_switch_find_by_link_depth(struct tb *tb, u8 link, u8 depth)
drivers/thunderbolt/switch.c
3801
lookup.tb = tb;
drivers/thunderbolt/switch.c
3822
struct tb_switch *tb_switch_find_by_uuid(struct tb *tb, const uuid_t *uuid)
drivers/thunderbolt/switch.c
3828
lookup.tb = tb;
drivers/thunderbolt/switch.c
3848
struct tb_switch *tb_switch_find_by_route(struct tb *tb, u64 route)
drivers/thunderbolt/switch.c
3854
return tb_switch_get(tb->root_switch);
drivers/thunderbolt/switch.c
3857
lookup.tb = tb;
drivers/thunderbolt/switch.c
442
static void tb_dump_port(struct tb *tb, const struct tb_port *port)
drivers/thunderbolt/switch.c
446
tb_dbg(tb,
drivers/thunderbolt/switch.c
451
tb_dbg(tb, " Max hop id (in/out): %d/%d\n",
drivers/thunderbolt/switch.c
453
tb_dbg(tb, " Max counters: %d\n", regs->max_counters);
drivers/thunderbolt/switch.c
454
tb_dbg(tb, " NFC Credits: %#x\n", regs->nfc_credits);
drivers/thunderbolt/switch.c
455
tb_dbg(tb, " Credits (total/control): %u/%u\n", port->total_credits,
drivers/thunderbolt/switch.c
714
tb_dbg(port->sw->tb, " Port %d: not implemented\n",
drivers/thunderbolt/switch.c
759
tb_dump_port(port->sw->tb, port);
drivers/thunderbolt/tb.c
1006
ret = tb_tunnel_usb3(sw->tb, sw);
drivers/thunderbolt/tb.c
101
ev->tb = tb_domain_get(tb);
drivers/thunderbolt/tb.c
1039
static int tb_configure_asym(struct tb *tb, struct tb_port *src_port,
drivers/thunderbolt/tb.c
106
queue_delayed_work(tb->wq, &ev->work, 0);
drivers/thunderbolt/tb.c
1063
ret = tb_consumed_dp_bandwidth(tb, src_port, dst_port, up,
drivers/thunderbolt/tb.c
113
struct tb_cm *tcm = tb_priv(sw->tb);
drivers/thunderbolt/tb.c
1147
static int tb_configure_sym(struct tb *tb, struct tb_port *src_port,
drivers/thunderbolt/tb.c
1175
ret = tb_consumed_dp_bandwidth(tb, src_port, dst_port, up,
drivers/thunderbolt/tb.c
1235
struct tb *tb = sw->tb;
drivers/thunderbolt/tb.c
1262
host_port = tb_port_at(tb_route(sw), tb->root_switch);
drivers/thunderbolt/tb.c
1263
tb_configure_sym(tb, host_port, up, false);
drivers/thunderbolt/tb.c
1291
struct tb_cm *tcm = tb_priv(port->sw->tb);
drivers/thunderbolt/tb.c
1302
tb_queue_hotplug(port->sw->tb, tb_route(port->sw), port->port,
drivers/thunderbolt/tb.c
1325
sw = tb_switch_alloc(port->sw->tb, &port->sw->dev,
drivers/thunderbolt/tb.c
140
struct tb_cm *tcm = tb_priv(sw->tb);
drivers/thunderbolt/tb.c
1418
if (tcm->hotplug_active && tb_tunnel_usb3(sw->tb, sw))
drivers/thunderbolt/tb.c
1435
struct tb *tb = group->tb;
drivers/thunderbolt/tb.c
1439
tb_dbg(tb, "re-calculating bandwidth estimation for group %u\n",
drivers/thunderbolt/tb.c
1451
tunnel = tb_find_tunnel(tb, TB_TUNNEL_DP, in, NULL);
drivers/thunderbolt/tb.c
1464
ret = tb_release_unused_usb3_bandwidth(tb,
drivers/thunderbolt/tb.c
1474
ret = tb_available_bandwidth(tb, in, out, &estimated_up,
drivers/thunderbolt/tb.c
1509
tb_reclaim_usb3_bandwidth(tb, first_tunnel->src_port,
drivers/thunderbolt/tb.c
1512
tb_dbg(tb, "bandwidth estimation for group %u done\n", group->index);
drivers/thunderbolt/tb.c
1515
static void tb_recalc_estimated_bandwidth(struct tb *tb)
drivers/thunderbolt/tb.c
1517
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
1520
tb_dbg(tb, "bandwidth consumption changed, re-calculating estimated bandwidth\n");
drivers/thunderbolt/tb.c
1529
tb_dbg(tb, "bandwidth re-calculation done\n");
drivers/thunderbolt/tb.c
1535
tb_dbg(group->tb, "group %d released total %d Mb/s\n", group->index,
drivers/thunderbolt/tb.c
1562
tunnel = tb_find_tunnel(group->tb, TB_TUNNEL_DP, in, NULL);
drivers/thunderbolt/tb.c
1564
tb_configure_sym(group->tb, in, tunnel->dst_port, true);
drivers/thunderbolt/tb.c
157
static void tb_discover_dp_resource(struct tb *tb, struct tb_port *port)
drivers/thunderbolt/tb.c
1571
struct tb *tb = group->tb;
drivers/thunderbolt/tb.c
1573
mutex_lock(&tb->lock);
drivers/thunderbolt/tb.c
1575
tb_recalc_estimated_bandwidth(tb);
drivers/thunderbolt/tb.c
1577
mutex_unlock(&tb->lock);
drivers/thunderbolt/tb.c
1587
group->tb = tcm_to_tb(tcm);
drivers/thunderbolt/tb.c
159
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
1694
static void tb_discover_tunnels(struct tb *tb)
drivers/thunderbolt/tb.c
1696
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
1699
tb_switch_discover_tunnels(tb->root_switch, &tcm->tunnel_list, true);
drivers/thunderbolt/tb.c
172
static void tb_discover_dp_resources(struct tb *tb)
drivers/thunderbolt/tb.c
1725
struct tb *tb;
drivers/thunderbolt/tb.c
1733
tb = tunnel->tb;
drivers/thunderbolt/tb.c
174
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
1749
tb_configure_sym(tb, src_port, dst_port, true);
drivers/thunderbolt/tb.c
1758
tb_reclaim_usb3_bandwidth(tb, src_port, dst_port);
drivers/thunderbolt/tb.c
1775
static void tb_free_invalid_tunnels(struct tb *tb)
drivers/thunderbolt/tb.c
1777
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
179
tb_discover_dp_resource(tb, tunnel->dst_port);
drivers/thunderbolt/tb.c
186
struct tb_cm *tcm = tb_priv(sw->tb);
drivers/thunderbolt/tb.c
1863
static struct tb_port *tb_find_dp_out(struct tb *tb, struct tb_port *in)
drivers/thunderbolt/tb.c
1866
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
1869
tb_port_at(tb_route(in->sw), tb->root_switch) : NULL;
drivers/thunderbolt/tb.c
1895
p = tb_port_at(tb_route(port->sw), tb->root_switch);
drivers/thunderbolt/tb.c
1910
struct tb *tb = data;
drivers/thunderbolt/tb.c
1912
mutex_lock(&tb->lock);
drivers/thunderbolt/tb.c
1926
tb_reclaim_usb3_bandwidth(tb, in, out);
drivers/thunderbolt/tb.c
1931
tb_configure_asym(tb, in, out, consumed_up,
drivers/thunderbolt/tb.c
1937
tb_recalc_estimated_bandwidth(tb);
drivers/thunderbolt/tb.c
1964
tb_dp_resource_unavailable(tb, in, "DPRX negotiation failed");
drivers/thunderbolt/tb.c
1966
mutex_unlock(&tb->lock);
drivers/thunderbolt/tb.c
1968
tb_domain_put(tb);
drivers/thunderbolt/tb.c
1971
static void tb_tunnel_one_dp(struct tb *tb, struct tb_port *in,
drivers/thunderbolt/tb.c
1975
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
2012
ret = tb_release_unused_usb3_bandwidth(tb, in, out);
drivers/thunderbolt/tb.c
2014
tb_warn(tb, "failed to release unused bandwidth\n");
drivers/thunderbolt/tb.c
2018
ret = tb_available_bandwidth(tb, in, out, &available_up, &available_down,
drivers/thunderbolt/tb.c
2021
tb_tunnel_event(tb, TB_TUNNEL_NO_BANDWIDTH, TB_TUNNEL_DP, in, out);
drivers/thunderbolt/tb.c
2025
tb_dbg(tb, "available bandwidth for new DP tunnel %u/%u Mb/s\n",
drivers/thunderbolt/tb.c
2028
tunnel = tb_tunnel_alloc_dp(tb, in, out, link_nr, available_up,
drivers/thunderbolt/tb.c
2030
tb_domain_get(tb));
drivers/thunderbolt/tb.c
2050
tb_reclaim_usb3_bandwidth(tb, in, out);
drivers/thunderbolt/tb.c
2051
tb_domain_put(tb);
drivers/thunderbolt/tb.c
2063
static void tb_tunnel_dp(struct tb *tb)
drivers/thunderbolt/tb.c
2065
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
2069
tb_dbg(tb, "DP tunneling disabled, not creating tunnel\n");
drivers/thunderbolt/tb.c
2077
tb_dbg(tb, "looking for DP IN <-> DP OUT pairs:\n");
drivers/thunderbolt/tb.c
2093
out = tb_find_dp_out(tb, port);
drivers/thunderbolt/tb.c
2095
tb_tunnel_one_dp(tb, in, out);
drivers/thunderbolt/tb.c
2101
tb_dbg(tb, "no suitable DP IN adapter available, not tunneling\n");
drivers/thunderbolt/tb.c
2178
static void tb_dp_resource_unavailable(struct tb *tb, struct tb_port *port,
drivers/thunderbolt/tb.c
2194
tunnel = tb_find_tunnel(tb, TB_TUNNEL_DP, in, out);
drivers/thunderbolt/tb.c
2205
tb_recalc_estimated_bandwidth(tb);
drivers/thunderbolt/tb.c
2206
tb_tunnel_dp(tb);
drivers/thunderbolt/tb.c
2209
static void tb_dp_resource_available(struct tb *tb, struct tb_port *port)
drivers/thunderbolt/tb.c
2211
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
2228
tb_tunnel_dp(tb);
drivers/thunderbolt/tb.c
2231
static void tb_disconnect_and_release_dp(struct tb *tb)
drivers/thunderbolt/tb.c
2233
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
2254
static int tb_disconnect_pci(struct tb *tb, struct tb_switch *sw)
drivers/thunderbolt/tb.c
2263
tunnel = tb_find_tunnel(tb, TB_TUNNEL_PCI, NULL, up);
drivers/thunderbolt/tb.c
2275
static int tb_tunnel_pci(struct tb *tb, struct tb_switch *sw)
drivers/thunderbolt/tb.c
2278
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
2294
tunnel = tb_tunnel_alloc_pci(tb, up, down);
drivers/thunderbolt/tb.c
2319
static int tb_approve_xdomain_paths(struct tb *tb, struct tb_xdomain *xd,
drivers/thunderbolt/tb.c
2323
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
2331
nhi_port = tb_switch_find_port(tb->root_switch, TB_TYPE_NHI);
drivers/thunderbolt/tb.c
2333
mutex_lock(&tb->lock);
drivers/thunderbolt/tb.c
2341
tunnel = tb_tunnel_alloc_dma(tb, nhi_port, dst_port, transmit_path,
drivers/thunderbolt/tb.c
2356
mutex_unlock(&tb->lock);
drivers/thunderbolt/tb.c
2363
mutex_unlock(&tb->lock);
drivers/thunderbolt/tb.c
2368
static void __tb_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd,
drivers/thunderbolt/tb.c
2372
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
2379
nhi_port = tb_switch_find_port(tb->root_switch, TB_TYPE_NHI);
drivers/thunderbolt/tb.c
2400
static int tb_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd,
drivers/thunderbolt/tb.c
2405
mutex_lock(&tb->lock);
drivers/thunderbolt/tb.c
2406
__tb_disconnect_xdomain_paths(tb, xd, transmit_path,
drivers/thunderbolt/tb.c
2409
mutex_unlock(&tb->lock);
drivers/thunderbolt/tb.c
2424
struct tb *tb = ev->tb;
drivers/thunderbolt/tb.c
2425
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
2430
pm_runtime_get_sync(&tb->dev);
drivers/thunderbolt/tb.c
2432
mutex_lock(&tb->lock);
drivers/thunderbolt/tb.c
2436
sw = tb_switch_find_by_route(tb, ev->route);
drivers/thunderbolt/tb.c
2438
tb_warn(tb,
drivers/thunderbolt/tb.c
2444
tb_warn(tb,
drivers/thunderbolt/tb.c
2451
tb_dbg(tb, "hotplug event for upstream port %llx:%x (unplug: %d)\n",
drivers/thunderbolt/tb.c
2464
tb_free_invalid_tunnels(tb);
drivers/thunderbolt/tb.c
2475
tb_recalc_estimated_bandwidth(tb);
drivers/thunderbolt/tb.c
2476
tb_tunnel_dp(tb);
drivers/thunderbolt/tb.c
2491
__tb_disconnect_xdomain_paths(tb, xd, -1, -1, -1, -1);
drivers/thunderbolt/tb.c
2495
tb_dp_resource_unavailable(tb, port, "adapter unplug");
drivers/thunderbolt/tb.c
2515
tb_dp_resource_available(tb, port);
drivers/thunderbolt/tb.c
2525
mutex_unlock(&tb->lock);
drivers/thunderbolt/tb.c
2527
tb_domain_unregister_unplugged_xdomains(tb);
drivers/thunderbolt/tb.c
2529
pm_runtime_mark_last_busy(&tb->dev);
drivers/thunderbolt/tb.c
2530
pm_runtime_put_autosuspend(&tb->dev);
drivers/thunderbolt/tb.c
2533
tb_domain_put(tb);
drivers/thunderbolt/tb.c
2545
struct tb *tb = tunnel->tb;
drivers/thunderbolt/tb.c
2633
tb_dbg(tb, "group %d reserved %d total %d Mb/s\n",
drivers/thunderbolt/tb.c
2661
ret = tb_release_unused_usb3_bandwidth(tb, in, out);
drivers/thunderbolt/tb.c
2670
ret = tb_available_bandwidth(tb, in, out, &available_up, &available_down,
drivers/thunderbolt/tb.c
2688
ret = tb_configure_asym(tb, in, out, *requested_up,
drivers/thunderbolt/tb.c
2691
tb_configure_sym(tb, in, out, true);
drivers/thunderbolt/tb.c
2699
tb_configure_sym(tb, in, out, true);
drivers/thunderbolt/tb.c
2711
tb_dbg(tb, "group %d released %d total %d Mb/s\n",
drivers/thunderbolt/tb.c
2719
tb_reclaim_usb3_bandwidth(tb, in, out);
drivers/thunderbolt/tb.c
2730
tb_tunnel_event(tb, TB_TUNNEL_NO_BANDWIDTH, TB_TUNNEL_DP, in, out);
drivers/thunderbolt/tb.c
2741
struct tb *tb = ev->tb;
drivers/thunderbolt/tb.c
2742
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
2746
pm_runtime_get_sync(&tb->dev);
drivers/thunderbolt/tb.c
2748
mutex_lock(&tb->lock);
drivers/thunderbolt/tb.c
2752
sw = tb_switch_find_by_route(tb, ev->route);
drivers/thunderbolt/tb.c
2754
tb_warn(tb, "bandwidth request from non-existent router %llx\n",
drivers/thunderbolt/tb.c
2767
tunnel = tb_find_tunnel(tb, TB_TUNNEL_DP, in, NULL);
drivers/thunderbolt/tb.c
2798
tb_recalc_estimated_bandwidth(tb);
drivers/thunderbolt/tb.c
2833
tb_queue_dp_bandwidth_request(tb, ev->route,
drivers/thunderbolt/tb.c
2851
tb_recalc_estimated_bandwidth(tb);
drivers/thunderbolt/tb.c
2853
tb_dbg(tb, "checking if more DP tunnels can be established now\n");
drivers/thunderbolt/tb.c
2854
tb_tunnel_dp(tb);
drivers/thunderbolt/tb.c
2860
mutex_unlock(&tb->lock);
drivers/thunderbolt/tb.c
2862
pm_runtime_mark_last_busy(&tb->dev);
drivers/thunderbolt/tb.c
2863
pm_runtime_put_autosuspend(&tb->dev);
drivers/thunderbolt/tb.c
2868
static void tb_queue_dp_bandwidth_request(struct tb *tb, u64 route, u8 port,
drivers/thunderbolt/tb.c
2877
ev->tb = tb;
drivers/thunderbolt/tb.c
2882
queue_delayed_work(tb->wq, &ev->work, delay);
drivers/thunderbolt/tb.c
2885
static void tb_handle_notification(struct tb *tb, u64 route,
drivers/thunderbolt/tb.c
2893
if (tb_cfg_ack_notification(tb->ctl, route, error))
drivers/thunderbolt/tb.c
2894
tb_warn(tb, "could not ack notification on %llx\n",
drivers/thunderbolt/tb.c
2899
if (tb_cfg_ack_notification(tb->ctl, route, error))
drivers/thunderbolt/tb.c
2900
tb_warn(tb, "could not ack notification on %llx\n",
drivers/thunderbolt/tb.c
2902
tb_queue_dp_bandwidth_request(tb, route, error->port, 0, 0);
drivers/thunderbolt/tb.c
2916
static void tb_handle_event(struct tb *tb, enum tb_cfg_pkg_type type,
drivers/thunderbolt/tb.c
2924
tb_handle_notification(tb, route, (const struct cfg_error_pkg *)buf);
drivers/thunderbolt/tb.c
2929
tb_warn(tb, "unexpected event %#x, ignoring\n", type);
drivers/thunderbolt/tb.c
2933
if (tb_cfg_ack_plug(tb->ctl, route, pkg->port, pkg->unplug)) {
drivers/thunderbolt/tb.c
2934
tb_warn(tb, "could not ack plug event on %llx:%x\n", route,
drivers/thunderbolt/tb.c
2938
tb_queue_hotplug(tb, route, pkg->port, pkg->unplug);
drivers/thunderbolt/tb.c
2941
static void tb_stop(struct tb *tb)
drivers/thunderbolt/tb.c
2943
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
2959
tb_switch_remove(tb->root_switch);
drivers/thunderbolt/tb.c
2960
tb->root_switch = NULL;
drivers/thunderbolt/tb.c
2964
static void tb_deinit(struct tb *tb)
drivers/thunderbolt/tb.c
2966
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
297
sw = tunnel->tb->root_switch;
drivers/thunderbolt/tb.c
2995
static int tb_start(struct tb *tb, bool reset)
drivers/thunderbolt/tb.c
2997
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
3001
tb->root_switch = tb_switch_alloc(tb, &tb->dev, 0);
drivers/thunderbolt/tb.c
3002
if (IS_ERR(tb->root_switch))
drivers/thunderbolt/tb.c
3003
return dev_err_probe(tb->nhi->dev, PTR_ERR(tb->root_switch),
drivers/thunderbolt/tb.c
3014
tb->root_switch->no_nvm_upgrade = !tb_switch_is_usb4(tb->root_switch);
drivers/thunderbolt/tb.c
3016
tb->root_switch->rpm = tb_switch_is_usb4(tb->root_switch);
drivers/thunderbolt/tb.c
3018
ret = tb_switch_configure(tb->root_switch);
drivers/thunderbolt/tb.c
3020
tb_switch_put(tb->root_switch);
drivers/thunderbolt/tb.c
3021
return dev_err_probe(tb->nhi->dev, ret, "failed to configure host router\n");
drivers/thunderbolt/tb.c
3025
ret = tb_switch_add(tb->root_switch);
drivers/thunderbolt/tb.c
3027
tb_switch_put(tb->root_switch);
drivers/thunderbolt/tb.c
3028
return dev_err_probe(tb->nhi->dev, ret, "failed to add host router\n");
drivers/thunderbolt/tb.c
3035
tb_switch_tmu_configure(tb->root_switch, TB_SWITCH_TMU_MODE_LOWRES);
drivers/thunderbolt/tb.c
3037
tb_switch_tmu_enable(tb->root_switch);
drivers/thunderbolt/tb.c
3045
if (reset && tb_switch_is_usb4(tb->root_switch)) {
drivers/thunderbolt/tb.c
3047
if (usb4_switch_version(tb->root_switch) == 1)
drivers/thunderbolt/tb.c
3048
tb_switch_reset(tb->root_switch);
drivers/thunderbolt/tb.c
3053
tb_scan_switch(tb->root_switch);
drivers/thunderbolt/tb.c
3055
tb_discover_tunnels(tb);
drivers/thunderbolt/tb.c
3057
tb_discover_dp_resources(tb);
drivers/thunderbolt/tb.c
3064
tb_create_usb3_tunnels(tb->root_switch);
drivers/thunderbolt/tb.c
3066
tb_add_dp_resources(tb->root_switch);
drivers/thunderbolt/tb.c
3067
tb_switch_enter_redrive(tb->root_switch);
drivers/thunderbolt/tb.c
3069
device_for_each_child(&tb->root_switch->dev, NULL,
drivers/thunderbolt/tb.c
3077
static int tb_suspend_noirq(struct tb *tb)
drivers/thunderbolt/tb.c
3079
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
3081
tb_dbg(tb, "suspending...\n");
drivers/thunderbolt/tb.c
3082
tb_disconnect_and_release_dp(tb);
drivers/thunderbolt/tb.c
3083
tb_switch_exit_redrive(tb->root_switch);
drivers/thunderbolt/tb.c
3084
tb_switch_suspend(tb->root_switch, false);
drivers/thunderbolt/tb.c
3086
tb_dbg(tb, "suspend finished\n");
drivers/thunderbolt/tb.c
313
static bool tb_tmu_hifi_uni_required(struct tb *tb)
drivers/thunderbolt/tb.c
3141
static int tb_resume_noirq(struct tb *tb)
drivers/thunderbolt/tb.c
3143
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
3148
tb_dbg(tb, "resuming...\n");
drivers/thunderbolt/tb.c
315
return device_for_each_child(&tb->dev, NULL,
drivers/thunderbolt/tb.c
3154
if (!tb_switch_is_usb4(tb->root_switch))
drivers/thunderbolt/tb.c
3155
tb_switch_reset(tb->root_switch);
drivers/thunderbolt/tb.c
3157
tb_switch_resume(tb->root_switch, false);
drivers/thunderbolt/tb.c
3158
tb_free_invalid_tunnels(tb);
drivers/thunderbolt/tb.c
3159
tb_free_unplugged_children(tb->root_switch);
drivers/thunderbolt/tb.c
3160
tb_free_unplugged_xdomains(tb->root_switch);
drivers/thunderbolt/tb.c
3161
tb_restore_children(tb->root_switch);
drivers/thunderbolt/tb.c
3169
tb_switch_discover_tunnels(tb->root_switch, &tunnels, false);
drivers/thunderbolt/tb.c
3192
tb_dbg(tb, "tunnels restarted, sleeping for 100ms\n");
drivers/thunderbolt/tb.c
3195
tb_switch_enter_redrive(tb->root_switch);
drivers/thunderbolt/tb.c
3198
tb_dbg(tb, "resume finished\n");
drivers/thunderbolt/tb.c
3203
static int tb_freeze_noirq(struct tb *tb)
drivers/thunderbolt/tb.c
3205
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
3211
static int tb_thaw_noirq(struct tb *tb)
drivers/thunderbolt/tb.c
3213
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
3219
static void tb_complete(struct tb *tb)
drivers/thunderbolt/tb.c
3226
if (tb_domain_unregister_unplugged_xdomains(tb)) {
drivers/thunderbolt/tb.c
3227
scoped_guard(mutex, &tb->lock)
drivers/thunderbolt/tb.c
3228
tb_scan_switch(tb->root_switch);
drivers/thunderbolt/tb.c
3232
static int tb_runtime_suspend(struct tb *tb)
drivers/thunderbolt/tb.c
3234
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
3236
mutex_lock(&tb->lock);
drivers/thunderbolt/tb.c
3241
tb_disconnect_and_release_dp(tb);
drivers/thunderbolt/tb.c
3242
tb_switch_exit_redrive(tb->root_switch);
drivers/thunderbolt/tb.c
3243
tb_switch_suspend(tb->root_switch, true);
drivers/thunderbolt/tb.c
3245
mutex_unlock(&tb->lock);
drivers/thunderbolt/tb.c
3253
struct tb *tb = tcm_to_tb(tcm);
drivers/thunderbolt/tb.c
3255
mutex_lock(&tb->lock);
drivers/thunderbolt/tb.c
3256
if (tb->root_switch)
drivers/thunderbolt/tb.c
3257
tb_free_unplugged_children(tb->root_switch);
drivers/thunderbolt/tb.c
3258
mutex_unlock(&tb->lock);
drivers/thunderbolt/tb.c
3260
tb_free_unplugged_xdomains(tb->root_switch);
drivers/thunderbolt/tb.c
3263
static int tb_runtime_resume(struct tb *tb)
drivers/thunderbolt/tb.c
3265
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
3268
mutex_lock(&tb->lock);
drivers/thunderbolt/tb.c
3269
tb_switch_resume(tb->root_switch, true);
drivers/thunderbolt/tb.c
3270
tb_free_invalid_tunnels(tb);
drivers/thunderbolt/tb.c
3271
tb_restore_children(tb->root_switch);
drivers/thunderbolt/tb.c
3274
tb_switch_enter_redrive(tb->root_switch);
drivers/thunderbolt/tb.c
3276
mutex_unlock(&tb->lock);
drivers/thunderbolt/tb.c
3283
queue_delayed_work(tb->wq, &tcm->remove_work, msecs_to_jiffies(50));
drivers/thunderbolt/tb.c
3374
struct tb *tb_probe(struct tb_nhi *nhi)
drivers/thunderbolt/tb.c
3377
struct tb *tb;
drivers/thunderbolt/tb.c
3379
tb = tb_domain_alloc(nhi, TB_TIMEOUT, sizeof(*tcm));
drivers/thunderbolt/tb.c
3380
if (!tb)
drivers/thunderbolt/tb.c
3384
tb->security_level = TB_SECURITY_USER;
drivers/thunderbolt/tb.c
3386
tb->security_level = TB_SECURITY_NOPCIE;
drivers/thunderbolt/tb.c
3388
tb->cm_ops = &tb_cm_ops;
drivers/thunderbolt/tb.c
3390
tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
3396
tb_dbg(tb, "using software connection manager\n");
drivers/thunderbolt/tb.c
3404
tb_warn(tb, "device links to tunneled native ports are missing!\n");
drivers/thunderbolt/tb.c
3406
return tb;
drivers/thunderbolt/tb.c
344
if (tb_tmu_hifi_uni_required(sw->tb))
drivers/thunderbolt/tb.c
380
struct tb *tb = sw->tb;
drivers/thunderbolt/tb.c
388
tunnel = tb_tunnel_discover_dp(tb, port, alloc_hopids);
drivers/thunderbolt/tb.c
393
tunnel = tb_tunnel_discover_pci(tb, port, alloc_hopids);
drivers/thunderbolt/tb.c
397
tunnel = tb_tunnel_discover_usb3(tb, port, alloc_hopids);
drivers/thunderbolt/tb.c
434
struct tb *tb = sw->tb;
drivers/thunderbolt/tb.c
442
xd = tb_xdomain_find_by_route(tb, route);
drivers/thunderbolt/tb.c
448
xd = tb_xdomain_alloc(tb, &sw->dev, route, tb->root_switch->uuid,
drivers/thunderbolt/tb.c
490
static struct tb_tunnel *tb_find_tunnel(struct tb *tb, enum tb_tunnel_type type,
drivers/thunderbolt/tb.c
494
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
508
static struct tb_tunnel *tb_find_first_usb3_tunnel(struct tb *tb,
drivers/thunderbolt/tb.c
522
if (sw == tb->root_switch)
drivers/thunderbolt/tb.c
526
port = tb_port_at(tb_route(sw), tb->root_switch);
drivers/thunderbolt/tb.c
528
usb3_down = usb4_switch_map_usb3_down(tb->root_switch, port);
drivers/thunderbolt/tb.c
532
return tb_find_tunnel(tb, TB_TUNNEL_USB3, usb3_down, NULL);
drivers/thunderbolt/tb.c
551
static int tb_consumed_usb3_pcie_bandwidth(struct tb *tb,
drivers/thunderbolt/tb.c
563
tunnel = tb_find_first_usb3_tunnel(tb, src_port, dst_port);
drivers/thunderbolt/tb.c
605
static int tb_consumed_dp_bandwidth(struct tb *tb,
drivers/thunderbolt/tb.c
613
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
707
static int tb_maximum_bandwidth(struct tb *tb, struct tb_port *src_port,
drivers/thunderbolt/tb.c
72
static inline struct tb *tcm_to_tb(struct tb_cm *tcm)
drivers/thunderbolt/tb.c
74
return ((void *)tcm - sizeof(struct tb));
drivers/thunderbolt/tb.c
79
struct tb *tb;
drivers/thunderbolt/tb.c
815
static int tb_available_bandwidth(struct tb *tb, struct tb_port *src_port,
drivers/thunderbolt/tb.c
832
ret = tb_maximum_bandwidth(tb, src_port, dst_port, port,
drivers/thunderbolt/tb.c
837
ret = tb_consumed_usb3_pcie_bandwidth(tb, src_port, dst_port,
drivers/thunderbolt/tb.c
845
ret = tb_consumed_dp_bandwidth(tb, src_port, dst_port, port,
drivers/thunderbolt/tb.c
866
static int tb_release_unused_usb3_bandwidth(struct tb *tb,
drivers/thunderbolt/tb.c
872
tunnel = tb_find_first_usb3_tunnel(tb, src_port, dst_port);
drivers/thunderbolt/tb.c
876
static void tb_reclaim_usb3_bandwidth(struct tb *tb, struct tb_port *src_port,
drivers/thunderbolt/tb.c
88
static void tb_dp_resource_unavailable(struct tb *tb, struct tb_port *port,
drivers/thunderbolt/tb.c
882
tunnel = tb_find_first_usb3_tunnel(tb, src_port, dst_port);
drivers/thunderbolt/tb.c
892
ret = tb_available_bandwidth(tb, tunnel->src_port, tunnel->dst_port,
drivers/thunderbolt/tb.c
90
static void tb_queue_dp_bandwidth_request(struct tb *tb, u64 route, u8 port,
drivers/thunderbolt/tb.c
905
static int tb_tunnel_usb3(struct tb *tb, struct tb_switch *sw)
drivers/thunderbolt/tb.c
910
struct tb_cm *tcm = tb_priv(tb);
drivers/thunderbolt/tb.c
914
tb_dbg(tb, "USB3 tunneling disabled, not creating tunnel\n");
drivers/thunderbolt/tb.c
93
static void tb_queue_hotplug(struct tb *tb, u64 route, u8 port, bool unplug)
drivers/thunderbolt/tb.c
946
ret = tb_release_unused_usb3_bandwidth(tb, down, up);
drivers/thunderbolt/tb.c
951
ret = tb_available_bandwidth(tb, down, up, &available_up, &available_down,
drivers/thunderbolt/tb.c
965
tb_tunnel_event(tb, TB_TUNNEL_LOW_BANDWIDTH, TB_TUNNEL_USB3,
drivers/thunderbolt/tb.c
968
tunnel = tb_tunnel_alloc_usb3(tb, up, down, available_up,
drivers/thunderbolt/tb.c
984
tb_reclaim_usb3_bandwidth(tb, down, up);
drivers/thunderbolt/tb.c
992
tb_reclaim_usb3_bandwidth(tb, down, up);
drivers/thunderbolt/tb.h
1195
struct tb_path *tb_path_alloc(struct tb *tb, struct tb_port *src, int src_hopid,
drivers/thunderbolt/tb.h
1260
bool tb_xdomain_handle_request(struct tb *tb, enum tb_cfg_pkg_type type,
drivers/thunderbolt/tb.h
1262
struct tb_xdomain *tb_xdomain_alloc(struct tb *tb, struct device *parent,
drivers/thunderbolt/tb.h
1268
struct tb_xdomain *tb_xdomain_find_by_link_depth(struct tb *tb, u8 link,
drivers/thunderbolt/tb.h
177
struct tb *tb;
drivers/thunderbolt/tb.h
239
struct tb *tb;
drivers/thunderbolt/tb.h
341
struct tb *tb;
drivers/thunderbolt/tb.h
431
struct tb *tb;
drivers/thunderbolt/tb.h
508
int (*driver_ready)(struct tb *tb);
drivers/thunderbolt/tb.h
509
int (*start)(struct tb *tb, bool reset);
drivers/thunderbolt/tb.h
510
void (*stop)(struct tb *tb);
drivers/thunderbolt/tb.h
511
void (*deinit)(struct tb *tb);
drivers/thunderbolt/tb.h
512
int (*suspend_noirq)(struct tb *tb);
drivers/thunderbolt/tb.h
513
int (*resume_noirq)(struct tb *tb);
drivers/thunderbolt/tb.h
514
int (*suspend)(struct tb *tb);
drivers/thunderbolt/tb.h
515
int (*freeze_noirq)(struct tb *tb);
drivers/thunderbolt/tb.h
516
int (*thaw_noirq)(struct tb *tb);
drivers/thunderbolt/tb.h
517
void (*complete)(struct tb *tb);
drivers/thunderbolt/tb.h
518
int (*runtime_suspend)(struct tb *tb);
drivers/thunderbolt/tb.h
519
int (*runtime_resume)(struct tb *tb);
drivers/thunderbolt/tb.h
522
void (*handle_event)(struct tb *tb, enum tb_cfg_pkg_type,
drivers/thunderbolt/tb.h
524
int (*get_boot_acl)(struct tb *tb, uuid_t *uuids, size_t nuuids);
drivers/thunderbolt/tb.h
525
int (*set_boot_acl)(struct tb *tb, const uuid_t *uuids, size_t nuuids);
drivers/thunderbolt/tb.h
526
int (*disapprove_switch)(struct tb *tb, struct tb_switch *sw);
drivers/thunderbolt/tb.h
527
int (*approve_switch)(struct tb *tb, struct tb_switch *sw);
drivers/thunderbolt/tb.h
528
int (*add_switch_key)(struct tb *tb, struct tb_switch *sw);
drivers/thunderbolt/tb.h
529
int (*challenge_switch_key)(struct tb *tb, struct tb_switch *sw,
drivers/thunderbolt/tb.h
531
int (*disconnect_pcie_paths)(struct tb *tb);
drivers/thunderbolt/tb.h
532
int (*approve_xdomain_paths)(struct tb *tb, struct tb_xdomain *xd,
drivers/thunderbolt/tb.h
535
int (*disconnect_xdomain_paths)(struct tb *tb, struct tb_xdomain *xd,
drivers/thunderbolt/tb.h
545
static inline void *tb_priv(struct tb *tb)
drivers/thunderbolt/tb.h
547
return (void *)tb->privdata;
drivers/thunderbolt/tb.h
677
return tb_cfg_read(sw->tb->ctl,
drivers/thunderbolt/tb.h
691
return tb_cfg_write(sw->tb->ctl,
drivers/thunderbolt/tb.h
705
return tb_cfg_read(port->sw->tb->ctl,
drivers/thunderbolt/tb.h
719
return tb_cfg_write(port->sw->tb->ctl,
drivers/thunderbolt/tb.h
728
#define tb_err(tb, fmt, arg...) dev_err((tb)->nhi->dev, fmt, ## arg)
drivers/thunderbolt/tb.h
729
#define tb_WARN(tb, fmt, arg...) dev_WARN((tb)->nhi->dev, fmt, ## arg)
drivers/thunderbolt/tb.h
730
#define tb_warn(tb, fmt, arg...) dev_warn((tb)->nhi->dev, fmt, ## arg)
drivers/thunderbolt/tb.h
731
#define tb_info(tb, fmt, arg...) dev_info((tb)->nhi->dev, fmt, ## arg)
drivers/thunderbolt/tb.h
732
#define tb_dbg(tb, fmt, arg...) dev_dbg((tb)->nhi->dev, fmt, ## arg)
drivers/thunderbolt/tb.h
737
level(__sw->tb, "%llx: " fmt, \
drivers/thunderbolt/tb.h
748
level(__port->sw->tb, "%llx:%u: " fmt, \
drivers/thunderbolt/tb.h
760
struct tb *icm_probe(struct tb_nhi *nhi);
drivers/thunderbolt/tb.h
761
struct tb *tb_probe(struct tb_nhi *nhi);
drivers/thunderbolt/tb.h
773
struct tb *tb_domain_alloc(struct tb_nhi *nhi, int timeout_msec, size_t privsize);
drivers/thunderbolt/tb.h
774
int tb_domain_add(struct tb *tb, bool reset);
drivers/thunderbolt/tb.h
775
void tb_domain_remove(struct tb *tb);
drivers/thunderbolt/tb.h
776
int tb_domain_suspend_noirq(struct tb *tb);
drivers/thunderbolt/tb.h
777
int tb_domain_resume_noirq(struct tb *tb);
drivers/thunderbolt/tb.h
778
int tb_domain_suspend(struct tb *tb);
drivers/thunderbolt/tb.h
779
int tb_domain_freeze_noirq(struct tb *tb);
drivers/thunderbolt/tb.h
780
int tb_domain_thaw_noirq(struct tb *tb);
drivers/thunderbolt/tb.h
781
void tb_domain_complete(struct tb *tb);
drivers/thunderbolt/tb.h
782
int tb_domain_runtime_suspend(struct tb *tb);
drivers/thunderbolt/tb.h
783
int tb_domain_runtime_resume(struct tb *tb);
drivers/thunderbolt/tb.h
784
int tb_domain_disapprove_switch(struct tb *tb, struct tb_switch *sw);
drivers/thunderbolt/tb.h
785
int tb_domain_approve_switch(struct tb *tb, struct tb_switch *sw);
drivers/thunderbolt/tb.h
786
int tb_domain_approve_switch_key(struct tb *tb, struct tb_switch *sw);
drivers/thunderbolt/tb.h
787
int tb_domain_challenge_switch_key(struct tb *tb, struct tb_switch *sw);
drivers/thunderbolt/tb.h
788
int tb_domain_disconnect_pcie_paths(struct tb *tb);
drivers/thunderbolt/tb.h
789
int tb_domain_approve_xdomain_paths(struct tb *tb, struct tb_xdomain *xd,
drivers/thunderbolt/tb.h
792
int tb_domain_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd,
drivers/thunderbolt/tb.h
795
int tb_domain_disconnect_all_paths(struct tb *tb);
drivers/thunderbolt/tb.h
796
int tb_domain_unregister_unplugged_xdomains(struct tb *tb);
drivers/thunderbolt/tb.h
798
static inline struct tb *tb_domain_get(struct tb *tb)
drivers/thunderbolt/tb.h
800
if (tb)
drivers/thunderbolt/tb.h
801
get_device(&tb->dev);
drivers/thunderbolt/tb.h
802
return tb;
drivers/thunderbolt/tb.h
805
static inline void tb_domain_put(struct tb *tb)
drivers/thunderbolt/tb.h
807
put_device(&tb->dev);
drivers/thunderbolt/tb.h
818
static inline void tb_domain_event(struct tb *tb, char *envp[])
drivers/thunderbolt/tb.h
820
kobject_uevent_env(&tb->dev.kobj, KOBJ_CHANGE, envp);
drivers/thunderbolt/tb.h
846
struct tb_switch *tb_switch_alloc(struct tb *tb, struct device *parent,
drivers/thunderbolt/tb.h
848
struct tb_switch *tb_switch_alloc_safe_mode(struct tb *tb,
drivers/thunderbolt/tb.h
862
struct tb_switch *tb_switch_find_by_link_depth(struct tb *tb, u8 link,
drivers/thunderbolt/tb.h
864
struct tb_switch *tb_switch_find_by_uuid(struct tb *tb, const uuid_t *uuid);
drivers/thunderbolt/tb.h
865
struct tb_switch *tb_switch_find_by_route(struct tb *tb, u64 route);
drivers/thunderbolt/tmu.c
451
struct tb_switch *root_switch = sw->tb->root_switch;
drivers/thunderbolt/tunnel.c
1020
struct tb *tb = in->sw->tb;
drivers/thunderbolt/tunnel.c
1035
ret = usb4_dp_port_set_cm_id(in, tb->index);
drivers/thunderbolt/tunnel.c
1091
struct tb *tb = tunnel->tb;
drivers/thunderbolt/tunnel.c
1094
mutex_lock(&tb->lock);
drivers/thunderbolt/tunnel.c
1098
queue_delayed_work(tb->wq, &tunnel->dprx_work,
drivers/thunderbolt/tunnel.c
1100
mutex_unlock(&tb->lock);
drivers/thunderbolt/tunnel.c
1106
mutex_unlock(&tb->lock);
drivers/thunderbolt/tunnel.c
1126
queue_delayed_work(tunnel->tb->wq, &tunnel->dprx_work, 0);
drivers/thunderbolt/tunnel.c
1589
struct tb_tunnel *tb_tunnel_discover_dp(struct tb *tb, struct tb_port *in,
drivers/thunderbolt/tunnel.c
1599
tunnel = tb_tunnel_alloc(tb, 3, TB_TUNNEL_DP);
drivers/thunderbolt/tunnel.c
1690
struct tb_tunnel *tb_tunnel_alloc_dp(struct tb *tb, struct tb_port *in,
drivers/thunderbolt/tunnel.c
1704
tunnel = tb_tunnel_alloc(tb, 3, TB_TUNNEL_DP);
drivers/thunderbolt/tunnel.c
1726
path = tb_path_alloc(tb, in, TB_DP_VIDEO_HOPID, out, TB_DP_VIDEO_HOPID,
drivers/thunderbolt/tunnel.c
1733
path = tb_path_alloc(tb, in, TB_DP_AUX_TX_HOPID, out,
drivers/thunderbolt/tunnel.c
1740
path = tb_path_alloc(tb, out, TB_DP_AUX_RX_HOPID, in,
drivers/thunderbolt/tunnel.c
178
static struct tb_tunnel *tb_tunnel_alloc(struct tb *tb, size_t npaths,
drivers/thunderbolt/tunnel.c
190
tunnel->tb = tb;
drivers/thunderbolt/tunnel.c
1903
struct tb_tunnel *tb_tunnel_alloc_dma(struct tb *tb, struct tb_port *nhi,
drivers/thunderbolt/tunnel.c
1925
tunnel = tb_tunnel_alloc(tb, npaths, TB_TUNNEL_DMA);
drivers/thunderbolt/tunnel.c
1936
path = tb_path_alloc(tb, dst, receive_path, nhi, receive_ring, 0,
drivers/thunderbolt/tunnel.c
1948
path = tb_path_alloc(tb, nhi, transmit_ring, dst, transmit_path, 0,
drivers/thunderbolt/tunnel.c
2205
struct tb_tunnel *tb_tunnel_discover_usb3(struct tb *tb, struct tb_port *down,
drivers/thunderbolt/tunnel.c
2214
tunnel = tb_tunnel_alloc(tb, 2, TB_TUNNEL_USB3);
drivers/thunderbolt/tunnel.c
2310
struct tb_tunnel *tb_tunnel_alloc_usb3(struct tb *tb, struct tb_port *up,
drivers/thunderbolt/tunnel.c
2333
tunnel = tb_tunnel_alloc(tb, 2, TB_TUNNEL_USB3);
drivers/thunderbolt/tunnel.c
2343
path = tb_path_alloc(tb, down, TB_USB3_HOPID, up, TB_USB3_HOPID, 0,
drivers/thunderbolt/tunnel.c
2350
path = tb_path_alloc(tb, up, TB_USB3_HOPID, down, TB_USB3_HOPID, 0,
drivers/thunderbolt/tunnel.c
241
void tb_tunnel_event(struct tb *tb, enum tb_tunnel_event event,
drivers/thunderbolt/tunnel.c
268
tb_domain_event(tb, envp);
drivers/thunderbolt/tunnel.c
278
tb_tunnel_event(tunnel->tb, TB_TUNNEL_ACTIVATED, tunnel->type,
drivers/thunderbolt/tunnel.c
282
tb_tunnel_event(tunnel->tb, TB_TUNNEL_DEACTIVATED, tunnel->type,
drivers/thunderbolt/tunnel.c
289
tb_tunnel_event(tunnel->tb, TB_TUNNEL_CHANGED, tunnel->type,
drivers/thunderbolt/tunnel.c
452
struct tb_tunnel *tb_tunnel_discover_pci(struct tb *tb, struct tb_port *down,
drivers/thunderbolt/tunnel.c
461
tunnel = tb_tunnel_alloc(tb, 2, TB_TUNNEL_PCI);
drivers/thunderbolt/tunnel.c
532
struct tb_tunnel *tb_tunnel_alloc_pci(struct tb *tb, struct tb_port *up,
drivers/thunderbolt/tunnel.c
538
tunnel = tb_tunnel_alloc(tb, 2, TB_TUNNEL_PCI);
drivers/thunderbolt/tunnel.c
547
path = tb_path_alloc(tb, down, TB_PCI_HOPID, up, TB_PCI_HOPID, 0,
drivers/thunderbolt/tunnel.c
555
path = tb_path_alloc(tb, up, TB_PCI_HOPID, down, TB_PCI_HOPID, 0,
drivers/thunderbolt/tunnel.h
113
struct tb_tunnel *tb_tunnel_discover_pci(struct tb *tb, struct tb_port *down,
drivers/thunderbolt/tunnel.h
115
struct tb_tunnel *tb_tunnel_alloc_pci(struct tb *tb, struct tb_port *up,
drivers/thunderbolt/tunnel.h
119
struct tb_tunnel *tb_tunnel_discover_dp(struct tb *tb, struct tb_port *in,
drivers/thunderbolt/tunnel.h
121
struct tb_tunnel *tb_tunnel_alloc_dp(struct tb *tb, struct tb_port *in,
drivers/thunderbolt/tunnel.h
126
struct tb_tunnel *tb_tunnel_alloc_dma(struct tb *tb, struct tb_port *nhi,
drivers/thunderbolt/tunnel.h
132
struct tb_tunnel *tb_tunnel_discover_usb3(struct tb *tb, struct tb_port *down,
drivers/thunderbolt/tunnel.h
134
struct tb_tunnel *tb_tunnel_alloc_usb3(struct tb *tb, struct tb_port *up,
drivers/thunderbolt/tunnel.h
217
void tb_tunnel_event(struct tb *tb, enum tb_tunnel_event event,
drivers/thunderbolt/tunnel.h
227
level(__tunnel->tb, "%llx:%u <-> %llx:%u (%s): " fmt, \
drivers/thunderbolt/tunnel.h
75
struct tb *tb;
drivers/thunderbolt/usb4.c
113
const struct tb_cm_ops *cm_ops = sw->tb->cm_ops;
drivers/thunderbolt/usb4.c
716
const struct tb_cm_ops *cm_ops = sw->tb->cm_ops;
drivers/thunderbolt/usb4_port.c
126
struct tb *tb;
drivers/thunderbolt/usb4_port.c
133
tb = sw->tb;
drivers/thunderbolt/usb4_port.c
134
nhi = tb->nhi;
drivers/thunderbolt/usb4_port.c
164
struct tb *tb = port->sw->tb;
drivers/thunderbolt/usb4_port.c
174
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/usb4_port.c
201
mutex_unlock(&tb->lock);
drivers/thunderbolt/usb4_port.c
215
struct tb *tb = port->sw->tb;
drivers/thunderbolt/usb4_port.c
228
if (mutex_lock_interruptible(&tb->lock)) {
drivers/thunderbolt/usb4_port.c
243
mutex_unlock(&tb->lock);
drivers/thunderbolt/usb4_port.c
46
struct tb *tb = port->sw->tb;
drivers/thunderbolt/usb4_port.c
49
if (mutex_lock_interruptible(&tb->lock))
drivers/thunderbolt/usb4_port.c
61
mutex_unlock(&tb->lock);
drivers/thunderbolt/xdomain.c
1351
struct tb *tb = xd->tb;
drivers/thunderbolt/xdomain.c
1358
ret = tb_xdp_uuid_request(tb->ctl, xd->route, xd->state_retries, &uuid,
drivers/thunderbolt/xdomain.c
1404
struct tb *tb = xd->tb;
drivers/thunderbolt/xdomain.c
1411
ret = tb_xdp_link_state_status_request(tb->ctl, xd->route,
drivers/thunderbolt/xdomain.c
1438
struct tb *tb = xd->tb;
drivers/thunderbolt/xdomain.c
1459
ret = tb_xdp_link_state_change_request(tb->ctl, xd->route,
drivers/thunderbolt/xdomain.c
1539
struct tb *tb = xd->tb;
drivers/thunderbolt/xdomain.c
1547
ret = tb_xdp_properties_request(tb->ctl, xd->route, xd->local_uuid,
drivers/thunderbolt/xdomain.c
1655
queue_delayed_work(xd->tb->wq, &xd->state_work,
drivers/thunderbolt/xdomain.c
1663
queue_delayed_work(xd->tb->wq, &xd->state_work,
drivers/thunderbolt/xdomain.c
1671
queue_delayed_work(xd->tb->wq, &xd->state_work,
drivers/thunderbolt/xdomain.c
1686
queue_delayed_work(xd->tb->wq, &xd->state_work,
drivers/thunderbolt/xdomain.c
1694
queue_delayed_work(xd->tb->wq, &xd->state_work,
drivers/thunderbolt/xdomain.c
1702
queue_delayed_work(xd->tb->wq, &xd->state_work,
drivers/thunderbolt/xdomain.c
1709
queue_delayed_work(xd->tb->wq, &xd->properties_changed_work,
drivers/thunderbolt/xdomain.c
1716
queue_delayed_work(xd->tb->wq, &xd->state_work,
drivers/thunderbolt/xdomain.c
176
return __tb_xdomain_response(xd->tb->ctl, response, size, type);
drivers/thunderbolt/xdomain.c
1834
queue_delayed_work(xd->tb->wq, &xd->state_work,
drivers/thunderbolt/xdomain.c
1846
ret = tb_xdp_properties_changed_request(xd->tb->ctl, xd->route,
drivers/thunderbolt/xdomain.c
1852
queue_delayed_work(xd->tb->wq,
drivers/thunderbolt/xdomain.c
2121
struct tb_xdomain *tb_xdomain_alloc(struct tb *tb, struct device *parent,
drivers/thunderbolt/xdomain.c
2137
xd->tb = tb;
drivers/thunderbolt/xdomain.c
2169
dev_set_name(&xd->dev, "%u-%llx", tb->index, route);
drivers/thunderbolt/xdomain.c
2259
lockdep_assert_not_held(&xd->tb->lock);
drivers/thunderbolt/xdomain.c
230
return __tb_xdomain_request(xd->tb->ctl, request, request_size,
drivers/thunderbolt/xdomain.c
2445
ret = tb_domain_approve_xdomain_paths(xd->tb, xd, transmit_path,
drivers/thunderbolt/xdomain.c
2476
ret = tb_domain_disconnect_xdomain_paths(xd->tb, xd, transmit_path,
drivers/thunderbolt/xdomain.c
2545
struct tb_xdomain *tb_xdomain_find_by_uuid(struct tb *tb, const uuid_t *uuid)
drivers/thunderbolt/xdomain.c
2553
xd = switch_find_xdomain(tb->root_switch, &lookup);
drivers/thunderbolt/xdomain.c
2576
struct tb_xdomain *tb_xdomain_find_by_link_depth(struct tb *tb, u8 link,
drivers/thunderbolt/xdomain.c
2586
xd = switch_find_xdomain(tb->root_switch, &lookup);
drivers/thunderbolt/xdomain.c
2607
struct tb_xdomain *tb_xdomain_find_by_route(struct tb *tb, u64 route)
drivers/thunderbolt/xdomain.c
2615
xd = switch_find_xdomain(tb->root_switch, &lookup);
drivers/thunderbolt/xdomain.c
2620
bool tb_xdomain_handle_request(struct tb *tb, enum tb_cfg_pkg_type type,
drivers/thunderbolt/xdomain.c
2642
return tb_xdp_schedule_request(tb, hdr, size);
drivers/thunderbolt/xdomain.c
424
static int tb_xdp_properties_response(struct tb *tb, struct tb_ctl *ctl,
drivers/thunderbolt/xdomain.c
547
static int tb_xdp_link_state_status_response(struct tb *tb, struct tb_ctl *ctl,
drivers/thunderbolt/xdomain.c
59
struct tb *tb;
drivers/thunderbolt/xdomain.c
740
queue_delayed_work(xd->tb->wq, &xd->state_work,
drivers/thunderbolt/xdomain.c
764
struct tb *tb = xw->tb;
drivers/thunderbolt/xdomain.c
765
struct tb_ctl *ctl = tb->ctl;
drivers/thunderbolt/xdomain.c
776
mutex_lock(&tb->lock);
drivers/thunderbolt/xdomain.c
777
if (tb->root_switch)
drivers/thunderbolt/xdomain.c
778
uuid = kmemdup(tb->root_switch->uuid, sizeof(*uuid), GFP_KERNEL);
drivers/thunderbolt/xdomain.c
781
mutex_unlock(&tb->lock);
drivers/thunderbolt/xdomain.c
788
xd = tb_xdomain_find_by_route_locked(tb, route);
drivers/thunderbolt/xdomain.c
794
tb_dbg(tb, "%llx: received XDomain properties request\n", route);
drivers/thunderbolt/xdomain.c
796
ret = tb_xdp_properties_response(tb, ctl, xd, sequence,
drivers/thunderbolt/xdomain.c
802
tb_dbg(tb, "%llx: received XDomain properties changed request\n",
drivers/thunderbolt/xdomain.c
815
queue_delayed_work(tb->wq, &xd->state_work,
drivers/thunderbolt/xdomain.c
823
tb_dbg(tb, "%llx: received XDomain UUID request\n", route);
drivers/thunderbolt/xdomain.c
841
tb_dbg(tb, "%llx: received XDomain link state status request\n",
drivers/thunderbolt/xdomain.c
876
tb_dbg(tb, "%llx: target link width not yet set %#x != %#x\n",
drivers/thunderbolt/xdomain.c
881
tb_dbg(tb, "%llx: replying with target link width set to %#x\n",
drivers/thunderbolt/xdomain.c
883
ret = tb_xdp_link_state_status_response(tb, ctl,
drivers/thunderbolt/xdomain.c
893
tb_dbg(tb, "%llx: received XDomain link state change request\n",
drivers/thunderbolt/xdomain.c
906
queue_delayed_work(tb->wq, &xd->state_work,
drivers/thunderbolt/xdomain.c
917
tb_dbg(tb, "%llx: unknown XDomain request %#x\n", route, pkg->type);
drivers/thunderbolt/xdomain.c
926
tb_warn(tb, "failed to send XDomain response for %#x\n",
drivers/thunderbolt/xdomain.c
935
tb_domain_put(tb);
drivers/thunderbolt/xdomain.c
939
tb_xdp_schedule_request(struct tb *tb, const struct tb_xdp_header *hdr,
drivers/thunderbolt/xdomain.c
955
xw->tb = tb_domain_get(tb);
drivers/thunderbolt/xdomain.c
996
queue_delayed_work(xd->tb->wq,
drivers/tty/tty_buffer.c
317
struct tty_buffer *tb = port->buf.tail;
drivers/tty/tty_buffer.c
322
memcpy(char_buf_ptr(tb, tb->used), chars, space);
drivers/tty/tty_buffer.c
325
memcpy(flag_buf_ptr(tb, tb->used), flags, space);
drivers/tty/tty_buffer.c
327
} else if (tb->flags) {
drivers/tty/tty_buffer.c
328
memset(flag_buf_ptr(tb, tb->used), flags[0], space);
drivers/tty/tty_buffer.c
334
tb->used += space;
drivers/tty/tty_buffer.c
366
struct tty_buffer *tb = port->buf.tail;
drivers/tty/tty_buffer.c
368
*chars = char_buf_ptr(tb, tb->used);
drivers/tty/tty_buffer.c
369
if (tb->flags)
drivers/tty/tty_buffer.c
370
memset(flag_buf_ptr(tb, tb->used), TTY_NORMAL, space);
drivers/tty/tty_buffer.c
371
tb->used += space;
fs/nfsd/export.c
443
struct nlattr *tb[NFSD_A_EXPKEY_PATH + 1];
fs/nfsd/export.c
452
err = nla_parse_nested(tb, NFSD_A_EXPKEY_PATH, attr,
fs/nfsd/export.c
458
if (!tb[NFSD_A_EXPKEY_CLIENT])
fs/nfsd/export.c
461
dom = auth_domain_find(nla_data(tb[NFSD_A_EXPKEY_CLIENT]));
fs/nfsd/export.c
466
if (!tb[NFSD_A_EXPKEY_FSIDTYPE]) {
fs/nfsd/export.c
470
fsidtype = nla_get_u8(tb[NFSD_A_EXPKEY_FSIDTYPE]);
fs/nfsd/export.c
477
if (!tb[NFSD_A_EXPKEY_FSID]) {
fs/nfsd/export.c
481
fsid_len = nla_len(tb[NFSD_A_EXPKEY_FSID]);
fs/nfsd/export.c
488
if (!tb[NFSD_A_EXPKEY_EXPIRY]) {
fs/nfsd/export.c
495
key.h.expiry_time = nla_get_u64(tb[NFSD_A_EXPKEY_EXPIRY]) -
fs/nfsd/export.c
499
memcpy(key.ek_fsid, nla_data(tb[NFSD_A_EXPKEY_FSID]), fsid_len);
fs/nfsd/export.c
507
if (tb[NFSD_A_EXPKEY_NEGATIVE]) {
fs/nfsd/export.c
514
} else if (tb[NFSD_A_EXPKEY_PATH]) {
fs/nfsd/export.c
515
err = kern_path(nla_data(tb[NFSD_A_EXPKEY_PATH]), 0,
fs/nfsd/export.c
522
nla_data(tb[NFSD_A_EXPKEY_PATH]));
fs/nfsd/export.c
796
struct nlattr *tb[NFSD_A_FSLOCATION_PATH + 1];
fs/nfsd/export.c
799
err = nla_parse_nested(tb, NFSD_A_FSLOCATION_PATH, loc_attr,
fs/nfsd/export.c
804
if (!tb[NFSD_A_FSLOCATION_HOST] ||
fs/nfsd/export.c
805
!tb[NFSD_A_FSLOCATION_PATH]) {
fs/nfsd/export.c
811
loc->hosts = kstrdup(nla_data(tb[NFSD_A_FSLOCATION_HOST]),
fs/nfsd/export.c
813
loc->path = kstrdup(nla_data(tb[NFSD_A_FSLOCATION_PATH]),
fs/nfsd/export.c
846
struct nlattr *tb[NFSD_A_SVC_EXPORT_FSID + 1];
fs/nfsd/export.c
853
err = nla_parse_nested(tb, NFSD_A_SVC_EXPORT_FSID, attr,
fs/nfsd/export.c
859
if (!tb[NFSD_A_SVC_EXPORT_CLIENT])
fs/nfsd/export.c
862
dom = auth_domain_find(nla_data(tb[NFSD_A_SVC_EXPORT_CLIENT]));
fs/nfsd/export.c
867
if (!tb[NFSD_A_SVC_EXPORT_PATH]) {
fs/nfsd/export.c
872
err = kern_path(nla_data(tb[NFSD_A_SVC_EXPORT_PATH]), 0,
fs/nfsd/export.c
883
if (!tb[NFSD_A_SVC_EXPORT_EXPIRY]) {
fs/nfsd/export.c
888
exp.h.expiry_time = nla_get_u64(tb[NFSD_A_SVC_EXPORT_EXPIRY]) -
fs/nfsd/export.c
891
if (tb[NFSD_A_SVC_EXPORT_NEGATIVE]) {
fs/nfsd/export.c
895
if (tb[NFSD_A_SVC_EXPORT_FLAGS])
fs/nfsd/export.c
896
exp.ex_flags = nla_get_u32(tb[NFSD_A_SVC_EXPORT_FLAGS]);
fs/nfsd/export.c
899
if (tb[NFSD_A_SVC_EXPORT_ANON_UID]) {
fs/nfsd/export.c
900
u32 uid = nla_get_u32(tb[NFSD_A_SVC_EXPORT_ANON_UID]);
fs/nfsd/export.c
906
if (tb[NFSD_A_SVC_EXPORT_ANON_GID]) {
fs/nfsd/export.c
907
u32 gid = nla_get_u32(tb[NFSD_A_SVC_EXPORT_ANON_GID]);
fs/nfsd/export.c
913
if (tb[NFSD_A_SVC_EXPORT_FSID])
fs/nfsd/export.c
914
exp.ex_fsid = nla_get_s32(tb[NFSD_A_SVC_EXPORT_FSID]);
fs/nfsd/export.c
917
if (tb[NFSD_A_SVC_EXPORT_FSLOCATIONS]) {
fs/nfsd/export.c
918
struct nlattr *fsl = tb[NFSD_A_SVC_EXPORT_FSLOCATIONS];
fs/nfsd/export.c
927
if (tb[NFSD_A_SVC_EXPORT_UUID]) {
fs/nfsd/export.c
928
if (nla_len(tb[NFSD_A_SVC_EXPORT_UUID]) !=
fs/nfsd/export.c
933
exp.ex_uuid = kmemdup(nla_data(tb[NFSD_A_SVC_EXPORT_UUID]),
fs/nfsd/export.c
977
if (tb[NFSD_A_SVC_EXPORT_XPRTSEC]) {
fs/nfsd/nfs4xdr.c
125
struct svcxdr_tmpbuf *tb;
fs/nfsd/nfs4xdr.c
127
tb = kmalloc_flex(*tb, buf, len);
fs/nfsd/nfs4xdr.c
128
if (!tb)
fs/nfsd/nfs4xdr.c
130
tb->next = argp->to_free;
fs/nfsd/nfs4xdr.c
131
argp->to_free = tb;
fs/nfsd/nfs4xdr.c
132
return tb->buf;
fs/nfsd/nfs4xdr.c
6432
struct svcxdr_tmpbuf *tb = args->to_free;
fs/nfsd/nfs4xdr.c
6433
args->to_free = tb->next;
fs/nfsd/nfs4xdr.c
6434
kfree(tb);
fs/nfsd/nfsctl.c
1830
struct nlattr *tb[NFSD_A_VERSION_MAX + 1];
fs/nfsd/nfsctl.c
1834
if (nla_parse_nested(tb, NFSD_A_VERSION_MAX, attr,
fs/nfsd/nfsctl.c
1838
if (!tb[NFSD_A_VERSION_MAJOR])
fs/nfsd/nfsctl.c
1841
major = nla_get_u32(tb[NFSD_A_VERSION_MAJOR]);
fs/nfsd/nfsctl.c
1842
if (tb[NFSD_A_VERSION_MINOR])
fs/nfsd/nfsctl.c
1843
minor = nla_get_u32(tb[NFSD_A_VERSION_MINOR]);
fs/nfsd/nfsctl.c
1845
enabled = nla_get_flag(tb[NFSD_A_VERSION_ENABLED]);
fs/nfsd/nfsctl.c
1986
struct nlattr *tb[NFSD_A_SOCK_MAX + 1];
fs/nfsd/nfsctl.c
1990
if (nla_parse_nested(tb, NFSD_A_SOCK_MAX, attr,
fs/nfsd/nfsctl.c
1994
if (!tb[NFSD_A_SOCK_ADDR] || !tb[NFSD_A_SOCK_TRANSPORT_NAME])
fs/nfsd/nfsctl.c
1997
if (nla_len(tb[NFSD_A_SOCK_ADDR]) < sizeof(*sa))
fs/nfsd/nfsctl.c
2000
xcl_name = nla_data(tb[NFSD_A_SOCK_TRANSPORT_NAME]);
fs/nfsd/nfsctl.c
2001
sa = nla_data(tb[NFSD_A_SOCK_ADDR]);
fs/nfsd/nfsctl.c
2046
struct nlattr *tb[NFSD_A_SOCK_MAX + 1];
fs/nfsd/nfsctl.c
2051
if (nla_parse_nested(tb, NFSD_A_SOCK_MAX, attr,
fs/nfsd/nfsctl.c
2055
if (!tb[NFSD_A_SOCK_ADDR] || !tb[NFSD_A_SOCK_TRANSPORT_NAME])
fs/nfsd/nfsctl.c
2058
if (nla_len(tb[NFSD_A_SOCK_ADDR]) < sizeof(*sa))
fs/nfsd/nfsctl.c
2061
xcl_name = nla_data(tb[NFSD_A_SOCK_TRANSPORT_NAME]);
fs/nfsd/nfsctl.c
2062
sa = nla_data(tb[NFSD_A_SOCK_ADDR]);
fs/ntfs/mft.c
1066
u8 *b, tb;
fs/ntfs/mft.c
1118
tb = 1 << (lcn & 7ull);
fs/ntfs/mft.c
1119
if (*b != 0xff && !(*b & tb)) {
fs/ntfs/mft.c
1121
*b |= tb;
fs/unicode/mkutf8data.c
2432
unsigned int tb = 0x11a7;
fs/unicode/mkutf8data.c
2458
mapping[i++] = tb + ti;
include/acpi/nhlt.h
105
acpi_nhlt_tb_find_endpoint(const struct acpi_table_nhlt *tb,
include/acpi/nhlt.h
113
acpi_nhlt_tb_find_fmtcfg(const struct acpi_table_nhlt *tb,
include/acpi/nhlt.h
140
acpi_nhlt_tb_find_endpoint(const struct acpi_table_nhlt *tb,
include/acpi/nhlt.h
154
acpi_nhlt_tb_find_fmtcfg(const struct acpi_table_nhlt *tb,
include/acpi/nhlt.h
34
#define __acpi_nhlt_first_endpoint(tb) \
include/acpi/nhlt.h
35
((void *)(tb + 1))
include/acpi/nhlt.h
40
#define __acpi_nhlt_get_endpoint(tb, ep, i) \
include/acpi/nhlt.h
41
((i) ? __acpi_nhlt_next_endpoint(ep) : __acpi_nhlt_first_endpoint(tb))
include/acpi/nhlt.h
63
#define for_each_nhlt_endpoint(tb, ep) \
include/acpi/nhlt.h
65
__i < (tb)->endpoints_count && \
include/acpi/nhlt.h
66
(ep = __acpi_nhlt_get_endpoint(tb, ep, __i)); \
include/crypto/algapi.h
158
struct crypto_attr_type *crypto_get_attr_type(struct rtattr **tb);
include/crypto/algapi.h
159
int crypto_check_attr_type(struct rtattr **tb, u32 type, u32 *mask_ret);
include/crypto/algapi.h
82
int (*create)(struct crypto_template *tmpl, struct rtattr **tb);
include/crypto/internal/geniv.h
20
struct rtattr **tb);
include/crypto/internal/skcipher.h
285
struct crypto_template *tmpl, struct rtattr **tb);
include/crypto/internal/skcipher.h
304
struct crypto_template *tmpl, struct rtattr **tb);
include/drm/task_barrier.h
101
static inline void task_barrier_full(struct task_barrier *tb)
include/drm/task_barrier.h
103
task_barrier_enter(tb);
include/drm/task_barrier.h
104
task_barrier_exit(tb);
include/drm/task_barrier.h
55
static inline void task_barrier_init(struct task_barrier *tb)
include/drm/task_barrier.h
57
tb->n = 0;
include/drm/task_barrier.h
58
atomic_set(&tb->count, 0);
include/drm/task_barrier.h
59
sema_init(&tb->enter_turnstile, 0);
include/drm/task_barrier.h
60
sema_init(&tb->exit_turnstile, 0);
include/drm/task_barrier.h
63
static inline void task_barrier_add_task(struct task_barrier *tb)
include/drm/task_barrier.h
65
tb->n++;
include/drm/task_barrier.h
68
static inline void task_barrier_rem_task(struct task_barrier *tb)
include/drm/task_barrier.h
70
tb->n--;
include/drm/task_barrier.h
78
static inline void task_barrier_enter(struct task_barrier *tb)
include/drm/task_barrier.h
80
if (atomic_inc_return(&tb->count) == tb->n)
include/drm/task_barrier.h
81
task_barrier_signal_turnstile(&tb->enter_turnstile, tb->n);
include/drm/task_barrier.h
83
down(&tb->enter_turnstile);
include/drm/task_barrier.h
92
static inline void task_barrier_exit(struct task_barrier *tb)
include/drm/task_barrier.h
94
if (atomic_dec_return(&tb->count) == 0)
include/drm/task_barrier.h
95
task_barrier_signal_turnstile(&tb->exit_turnstile, tb->n);
include/drm/task_barrier.h
97
down(&tb->exit_turnstile);
include/linux/netdevice.h
1597
struct nlattr *tb[],
include/linux/netdevice.h
1605
struct nlattr *tb[],
include/linux/netdevice.h
1620
struct nlattr *tb[],
include/linux/netdevice.h
1626
struct nlattr *tb[],
include/linux/netdevice.h
1630
struct nlattr *tb[],
include/linux/netdevice.h
1633
struct nlattr *tb[],
include/linux/netdevice.h
1639
struct nlattr *tb[], u32 portid,
include/linux/netfilter/ipset/ip_set.h
163
int (*uadt)(struct ip_set *set, struct nlattr *tb[],
include/linux/netfilter/ipset/ip_set.h
231
struct nlattr *tb[], u32 flags);
include/linux/netfilter/ipset/ip_set.h
335
extern size_t ip_set_elem_len(struct ip_set *set, struct nlattr *tb[],
include/linux/netfilter/ipset/ip_set.h
337
extern int ip_set_get_extensions(struct ip_set *set, struct nlattr *tb[],
include/linux/netfilter/ipset/ip_set.h
377
ip_set_attr_netorder(struct nlattr *tb[], int type)
include/linux/netfilter/ipset/ip_set.h
379
return tb[type] && (tb[type]->nla_type & NLA_F_NET_BYTEORDER);
include/linux/netfilter/ipset/ip_set.h
383
ip_set_optattr_netorder(struct nlattr *tb[], int type)
include/linux/netfilter/ipset/ip_set.h
385
return !tb[type] || (tb[type]->nla_type & NLA_F_NET_BYTEORDER);
include/linux/netfilter/ipset/ip_set.h
468
ip_set_timeout_uget(struct nlattr *tb)
include/linux/netfilter/ipset/ip_set.h
470
unsigned int timeout = ip_set_get_h32(tb);
include/linux/netlink.h
199
#define NL_REQ_ATTR_CHECK(extack, nest, tb, type) ({ \
include/linux/netlink.h
200
struct nlattr **__tb = (tb); \
include/linux/rtnetlink.h
200
struct nlattr *tb[],
include/linux/rtnetlink.h
206
struct nlattr *tb[],
include/linux/thunderbolt.h
252
struct tb *tb;
include/linux/thunderbolt.h
307
struct tb_xdomain *tb_xdomain_find_by_uuid(struct tb *tb, const uuid_t *uuid);
include/linux/thunderbolt.h
308
struct tb_xdomain *tb_xdomain_find_by_route(struct tb *tb, u64 route);
include/linux/thunderbolt.h
311
tb_xdomain_find_by_uuid_locked(struct tb *tb, const uuid_t *uuid)
include/linux/thunderbolt.h
315
mutex_lock(&tb->lock);
include/linux/thunderbolt.h
316
xd = tb_xdomain_find_by_uuid(tb, uuid);
include/linux/thunderbolt.h
317
mutex_unlock(&tb->lock);
include/linux/thunderbolt.h
323
tb_xdomain_find_by_route_locked(struct tb *tb, u64 route)
include/linux/thunderbolt.h
327
mutex_lock(&tb->lock);
include/linux/thunderbolt.h
328
xd = tb_xdomain_find_by_route(tb, route);
include/linux/thunderbolt.h
329
mutex_unlock(&tb->lock);
include/linux/tty_flip.h
67
struct tty_buffer *tb = port->buf.tail;
include/linux/tty_flip.h
70
change = !tb->flags && (flag != TTY_NORMAL);
include/linux/tty_flip.h
71
if (!change && tb->used < tb->size) {
include/linux/tty_flip.h
72
if (tb->flags)
include/linux/tty_flip.h
73
*flag_buf_ptr(tb, tb->used) = flag;
include/linux/tty_flip.h
74
*char_buf_ptr(tb, tb->used++) = ch;
include/net/genetlink.h
389
struct nlattr *tb[], int maxtype,
include/net/genetlink.h
393
return __nlmsg_parse(nlh, family->hdrsize + GENL_HDRLEN, tb, maxtype,
include/net/genetlink.h
408
struct nlattr *tb[], int maxtype,
include/net/genetlink.h
412
return __nlmsg_parse(nlh, family->hdrsize + GENL_HDRLEN, tb, maxtype,
include/net/inet_connection_sock.h
316
struct inet_bind_bucket *tb,
include/net/inet_hashtables.h
125
#define inet_bind_bucket_for_each(tb, head) \
include/net/inet_hashtables.h
126
hlist_for_each_entry(tb, head, node)
include/net/inet_hashtables.h
221
void inet_bind_bucket_destroy(struct inet_bind_bucket *tb);
include/net/inet_hashtables.h
223
bool inet_bind_bucket_match(const struct inet_bind_bucket *tb,
include/net/inet_hashtables.h
230
struct inet_bind_bucket *tb,
include/net/inet_hashtables.h
234
struct inet_bind2_bucket *tb);
include/net/inet_hashtables.h
242
bool inet_bind2_bucket_match_addr_any(const struct inet_bind2_bucket *tb,
include/net/inet_hashtables.h
291
void inet_bind_hash(struct sock *sk, struct inet_bind_bucket *tb,
include/net/ip_fib.h
278
int fib_table_lookup(struct fib_table *tb, const struct flowi4 *flp,
include/net/ip_fib.h
289
void fib_free_table(struct fib_table *tb);
include/net/ip_fib.h
318
struct fib_table *tb;
include/net/ip_fib.h
323
tb = fib_get_table(net, RT_TABLE_MAIN);
include/net/ip_fib.h
324
if (tb)
include/net/ip_fib.h
325
err = fib_table_lookup(tb, flp, res, flags | FIB_LOOKUP_NOREF);
include/net/ip_fib.h
376
struct fib_table *tb;
include/net/ip_fib.h
387
tb = rcu_dereference_rtnl(net->ipv4.fib_main);
include/net/ip_fib.h
388
if (tb)
include/net/ip_fib.h
389
err = fib_table_lookup(tb, flp, res, flags);
include/net/ip_fib.h
394
tb = rcu_dereference_rtnl(net->ipv4.fib_default);
include/net/ip_fib.h
395
if (tb)
include/net/ip_fib.h
396
err = fib_table_lookup(tb, flp, res, flags);
include/net/ip_tunnels.h
427
int ip_tunnel_changelink(struct net_device *dev, struct nlattr *tb[],
include/net/ip_tunnels.h
430
struct nlattr *tb[], struct ip_tunnel_parm_kern *p,
include/net/netfilter/nf_conntrack_l4proto.h
142
int nf_ct_port_nlattr_to_tuple(struct nlattr *tb[],
include/net/netfilter/nf_conntrack_l4proto.h
38
int (*from_nlattr)(struct nlattr *tb[], struct nf_conn *ct);
include/net/netfilter/nf_conntrack_l4proto.h
44
int (*nlattr_to_tuple)(struct nlattr *tb[],
include/net/netfilter/nf_conntrack_l4proto.h
50
int (*nlattr_to_obj)(struct nlattr *tb[],
include/net/netfilter/nf_tables.h
1427
const struct nlattr * const tb[]);
include/net/netfilter/nf_tables.h
1454
const struct nlattr *const tb[],
include/net/netfilter/nf_tables.h
902
const struct nlattr * const tb[]);
include/net/netfilter/nf_tables.h
960
const struct nlattr * const tb[]);
include/net/netfilter/nft_fib.h
53
const struct nlattr * const tb[]);
include/net/netfilter/nft_meta.h
20
const struct nlattr * const tb[]);
include/net/netfilter/nft_meta.h
24
const struct nlattr * const tb[]);
include/net/netfilter/nft_reject.h
22
const struct nlattr * const tb[]);
include/net/netlink.h
1350
static inline int nla_parse_nested(struct nlattr *tb[], int maxtype,
include/net/netlink.h
1360
return __nla_parse(tb, maxtype, nla_data(nla), nla_len(nla), policy,
include/net/netlink.h
1374
static inline int nla_parse_nested_deprecated(struct nlattr *tb[], int maxtype,
include/net/netlink.h
1379
return __nla_parse(tb, maxtype, nla_data(nla), nla_len(nla), policy,
include/net/netlink.h
544
int __nla_parse(struct nlattr **tb, int maxtype, const struct nlattr *head,
include/net/netlink.h
706
static inline int nla_parse(struct nlattr **tb, int maxtype,
include/net/netlink.h
711
return __nla_parse(tb, maxtype, head, len, policy,
include/net/netlink.h
731
static inline int nla_parse_deprecated(struct nlattr **tb, int maxtype,
include/net/netlink.h
736
return __nla_parse(tb, maxtype, head, len, policy,
include/net/netlink.h
756
static inline int nla_parse_deprecated_strict(struct nlattr **tb, int maxtype,
include/net/netlink.h
762
return __nla_parse(tb, maxtype, head, len, policy,
include/net/netlink.h
779
struct nlattr *tb[], int maxtype,
include/net/netlink.h
789
return __nla_parse(tb, maxtype, nlmsg_attrdata(nlh, hdrlen),
include/net/netlink.h
806
struct nlattr *tb[], int maxtype,
include/net/netlink.h
810
return __nlmsg_parse(nlh, hdrlen, tb, maxtype, policy,
include/net/netlink.h
826
struct nlattr *tb[], int maxtype,
include/net/netlink.h
830
return __nlmsg_parse(nlh, hdrlen, tb, maxtype, policy,
include/net/netlink.h
847
struct nlattr *tb[], int maxtype,
include/net/netlink.h
851
return __nlmsg_parse(nlh, hdrlen, tb, maxtype, policy,
include/net/pkt_cls.h
379
struct nlattr **tb, struct nlattr *rate_tlv,
include/net/pkt_cls.h
382
int tcf_exts_validate_ex(struct net *net, struct tcf_proto *tp, struct nlattr **tb,
include/net/pkt_cls.h
536
#define tcf_em_tree_validate(tp, tb, t) ((void)(t), 0)
include/net/rtnetlink.h
147
struct net_device *(*alloc)(struct nlattr *tb[],
include/net/rtnetlink.h
158
int (*validate)(struct nlattr *tb[],
include/net/rtnetlink.h
166
struct nlattr *tb[],
include/net/rtnetlink.h
186
struct nlattr *tb[],
include/net/rtnetlink.h
246
struct net *rtnl_link_get_net(struct net *src_net, struct nlattr *tb[]);
include/net/rtnetlink.h
250
struct nlattr *tb[],
include/net/rtnetlink.h
256
int rtnl_nla_parse_ifinfomsg(struct nlattr **tb, const struct nlattr *nla_peer,
include/net/rtnetlink.h
85
struct nlattr **tb;
kernel/bpf/btf.c
579
const struct btf_type *tb = btf_type_by_id(btf, i);
kernel/bpf/btf.c
581
const char *nb = btf_name_by_offset(btf, tb->name_off);
kernel/rcu/tree_plugin.h
1158
struct list_head *tb;
kernel/rcu/tree_plugin.h
1182
tb = rnp->exp_tasks;
kernel/rcu/tree_plugin.h
1184
tb = rnp->boost_tasks;
kernel/rcu/tree_plugin.h
1202
t = container_of(tb, struct task_struct, rcu_node_entry);
lib/crypto/arc4.c
42
u32 ty, ta, tb;
lib/crypto/arc4.c
61
tb = S[ty];
lib/crypto/arc4.c
67
b = tb;
lib/nlattr.c
608
struct nlattr **tb, unsigned int depth)
lib/nlattr.c
619
if (tb)
lib/nlattr.c
620
memset(tb, 0, sizeof(struct nlattr *) * (maxtype + 1));
lib/nlattr.c
64
struct nlattr **tb, unsigned int depth);
lib/nlattr.c
642
if (tb)
lib/nlattr.c
643
tb[type] = (struct nlattr *)nla;
lib/nlattr.c
727
int __nla_parse(struct nlattr **tb, int maxtype,
lib/nlattr.c
733
extack, tb, 0);
net/8021q/vlan_netlink.c
104
static int vlan_changelink(struct net_device *dev, struct nlattr *tb[],
net/8021q/vlan_netlink.c
145
struct nlattr **tb = params->tb;
net/8021q/vlan_netlink.c
156
if (!tb[IFLA_LINK]) {
net/8021q/vlan_netlink.c
161
real_dev = __dev_get_by_index(link_net, nla_get_u32(tb[IFLA_LINK]));
net/8021q/vlan_netlink.c
183
if (!tb[IFLA_MTU])
net/8021q/vlan_netlink.c
191
err = vlan_changelink(dev, tb, data, extack);
net/8021q/vlan_netlink.c
39
static int vlan_validate(struct nlattr *tb[], struct nlattr *data[],
net/8021q/vlan_netlink.c
46
if (tb[IFLA_ADDRESS]) {
net/8021q/vlan_netlink.c
47
if (nla_len(tb[IFLA_ADDRESS]) != ETH_ALEN) {
net/8021q/vlan_netlink.c
51
if (!is_valid_ether_addr(nla_data(tb[IFLA_ADDRESS]))) {
net/batman-adv/mesh-interface.c
1041
static int batadv_meshif_validate(struct nlattr *tb[], struct nlattr *data[],
net/bridge/br_cfm_netlink.c
100
err = nla_parse_nested(tb, IFLA_BRIDGE_CFM_MEP_CREATE_MAX, attr,
net/bridge/br_cfm_netlink.c
105
if (!tb[IFLA_BRIDGE_CFM_MEP_CREATE_INSTANCE]) {
net/bridge/br_cfm_netlink.c
109
if (!tb[IFLA_BRIDGE_CFM_MEP_CREATE_DOMAIN]) {
net/bridge/br_cfm_netlink.c
113
if (!tb[IFLA_BRIDGE_CFM_MEP_CREATE_DIRECTION]) {
net/bridge/br_cfm_netlink.c
117
if (!tb[IFLA_BRIDGE_CFM_MEP_CREATE_IFINDEX]) {
net/bridge/br_cfm_netlink.c
124
instance = nla_get_u32(tb[IFLA_BRIDGE_CFM_MEP_CREATE_INSTANCE]);
net/bridge/br_cfm_netlink.c
125
create.domain = nla_get_u32(tb[IFLA_BRIDGE_CFM_MEP_CREATE_DOMAIN]);
net/bridge/br_cfm_netlink.c
126
create.direction = nla_get_u32(tb[IFLA_BRIDGE_CFM_MEP_CREATE_DIRECTION]);
net/bridge/br_cfm_netlink.c
127
create.ifindex = nla_get_u32(tb[IFLA_BRIDGE_CFM_MEP_CREATE_IFINDEX]);
net/bridge/br_cfm_netlink.c
135
struct nlattr *tb[IFLA_BRIDGE_CFM_MEP_DELETE_MAX + 1];
net/bridge/br_cfm_netlink.c
139
err = nla_parse_nested(tb, IFLA_BRIDGE_CFM_MEP_DELETE_MAX, attr,
net/bridge/br_cfm_netlink.c
144
if (!tb[IFLA_BRIDGE_CFM_MEP_DELETE_INSTANCE]) {
net/bridge/br_cfm_netlink.c
150
instance = nla_get_u32(tb[IFLA_BRIDGE_CFM_MEP_DELETE_INSTANCE]);
net/bridge/br_cfm_netlink.c
158
struct nlattr *tb[IFLA_BRIDGE_CFM_MEP_CONFIG_MAX + 1];
net/bridge/br_cfm_netlink.c
163
err = nla_parse_nested(tb, IFLA_BRIDGE_CFM_MEP_CONFIG_MAX, attr,
net/bridge/br_cfm_netlink.c
168
if (!tb[IFLA_BRIDGE_CFM_MEP_CONFIG_INSTANCE]) {
net/bridge/br_cfm_netlink.c
172
if (!tb[IFLA_BRIDGE_CFM_MEP_CONFIG_UNICAST_MAC]) {
net/bridge/br_cfm_netlink.c
176
if (!tb[IFLA_BRIDGE_CFM_MEP_CONFIG_MDLEVEL]) {
net/bridge/br_cfm_netlink.c
180
if (!tb[IFLA_BRIDGE_CFM_MEP_CONFIG_MEPID]) {
net/bridge/br_cfm_netlink.c
187
instance = nla_get_u32(tb[IFLA_BRIDGE_CFM_MEP_CONFIG_INSTANCE]);
net/bridge/br_cfm_netlink.c
189
tb[IFLA_BRIDGE_CFM_MEP_CONFIG_UNICAST_MAC],
net/bridge/br_cfm_netlink.c
191
config.mdlevel = nla_get_u32(tb[IFLA_BRIDGE_CFM_MEP_CONFIG_MDLEVEL]);
net/bridge/br_cfm_netlink.c
192
config.mepid = nla_get_u32(tb[IFLA_BRIDGE_CFM_MEP_CONFIG_MEPID]);
net/bridge/br_cfm_netlink.c
200
struct nlattr *tb[IFLA_BRIDGE_CFM_CC_CONFIG_MAX + 1];
net/bridge/br_cfm_netlink.c
205
err = nla_parse_nested(tb, IFLA_BRIDGE_CFM_CC_CONFIG_MAX, attr,
net/bridge/br_cfm_netlink.c
210
if (!tb[IFLA_BRIDGE_CFM_CC_CONFIG_INSTANCE]) {
net/bridge/br_cfm_netlink.c
214
if (!tb[IFLA_BRIDGE_CFM_CC_CONFIG_ENABLE]) {
net/bridge/br_cfm_netlink.c
218
if (!tb[IFLA_BRIDGE_CFM_CC_CONFIG_EXP_INTERVAL]) {
net/bridge/br_cfm_netlink.c
222
if (!tb[IFLA_BRIDGE_CFM_CC_CONFIG_EXP_MAID]) {
net/bridge/br_cfm_netlink.c
229
instance = nla_get_u32(tb[IFLA_BRIDGE_CFM_CC_CONFIG_INSTANCE]);
net/bridge/br_cfm_netlink.c
230
config.enable = nla_get_u32(tb[IFLA_BRIDGE_CFM_CC_CONFIG_ENABLE]);
net/bridge/br_cfm_netlink.c
231
config.exp_interval = nla_get_u32(tb[IFLA_BRIDGE_CFM_CC_CONFIG_EXP_INTERVAL]);
net/bridge/br_cfm_netlink.c
232
nla_memcpy(&config.exp_maid.data, tb[IFLA_BRIDGE_CFM_CC_CONFIG_EXP_MAID],
net/bridge/br_cfm_netlink.c
241
struct nlattr *tb[IFLA_BRIDGE_CFM_CC_PEER_MEP_MAX + 1];
net/bridge/br_cfm_netlink.c
245
err = nla_parse_nested(tb, IFLA_BRIDGE_CFM_CC_PEER_MEP_MAX, attr,
net/bridge/br_cfm_netlink.c
250
if (!tb[IFLA_BRIDGE_CFM_CC_PEER_MEP_INSTANCE]) {
net/bridge/br_cfm_netlink.c
254
if (!tb[IFLA_BRIDGE_CFM_CC_PEER_MEPID]) {
net/bridge/br_cfm_netlink.c
259
instance = nla_get_u32(tb[IFLA_BRIDGE_CFM_CC_PEER_MEP_INSTANCE]);
net/bridge/br_cfm_netlink.c
260
peer_mep_id = nla_get_u32(tb[IFLA_BRIDGE_CFM_CC_PEER_MEPID]);
net/bridge/br_cfm_netlink.c
268
struct nlattr *tb[IFLA_BRIDGE_CFM_CC_PEER_MEP_MAX + 1];
net/bridge/br_cfm_netlink.c
272
err = nla_parse_nested(tb, IFLA_BRIDGE_CFM_CC_PEER_MEP_MAX, attr,
net/bridge/br_cfm_netlink.c
277
if (!tb[IFLA_BRIDGE_CFM_CC_PEER_MEP_INSTANCE]) {
net/bridge/br_cfm_netlink.c
281
if (!tb[IFLA_BRIDGE_CFM_CC_PEER_MEPID]) {
net/bridge/br_cfm_netlink.c
286
instance = nla_get_u32(tb[IFLA_BRIDGE_CFM_CC_PEER_MEP_INSTANCE]);
net/bridge/br_cfm_netlink.c
287
peer_mep_id = nla_get_u32(tb[IFLA_BRIDGE_CFM_CC_PEER_MEPID]);
net/bridge/br_cfm_netlink.c
295
struct nlattr *tb[IFLA_BRIDGE_CFM_CC_RDI_MAX + 1];
net/bridge/br_cfm_netlink.c
299
err = nla_parse_nested(tb, IFLA_BRIDGE_CFM_CC_RDI_MAX, attr,
net/bridge/br_cfm_netlink.c
304
if (!tb[IFLA_BRIDGE_CFM_CC_RDI_INSTANCE]) {
net/bridge/br_cfm_netlink.c
308
if (!tb[IFLA_BRIDGE_CFM_CC_RDI_RDI]) {
net/bridge/br_cfm_netlink.c
313
instance = nla_get_u32(tb[IFLA_BRIDGE_CFM_CC_RDI_INSTANCE]);
net/bridge/br_cfm_netlink.c
314
rdi = nla_get_u32(tb[IFLA_BRIDGE_CFM_CC_RDI_RDI]);
net/bridge/br_cfm_netlink.c
322
struct nlattr *tb[IFLA_BRIDGE_CFM_CC_CCM_TX_MAX + 1];
net/bridge/br_cfm_netlink.c
327
err = nla_parse_nested(tb, IFLA_BRIDGE_CFM_CC_CCM_TX_MAX, attr,
net/bridge/br_cfm_netlink.c
332
if (!tb[IFLA_BRIDGE_CFM_CC_CCM_TX_INSTANCE]) {
net/bridge/br_cfm_netlink.c
336
if (!tb[IFLA_BRIDGE_CFM_CC_CCM_TX_DMAC]) {
net/bridge/br_cfm_netlink.c
340
if (!tb[IFLA_BRIDGE_CFM_CC_CCM_TX_SEQ_NO_UPDATE]) {
net/bridge/br_cfm_netlink.c
344
if (!tb[IFLA_BRIDGE_CFM_CC_CCM_TX_PERIOD]) {
net/bridge/br_cfm_netlink.c
348
if (!tb[IFLA_BRIDGE_CFM_CC_CCM_TX_IF_TLV]) {
net/bridge/br_cfm_netlink.c
352
if (!tb[IFLA_BRIDGE_CFM_CC_CCM_TX_IF_TLV_VALUE]) {
net/bridge/br_cfm_netlink.c
356
if (!tb[IFLA_BRIDGE_CFM_CC_CCM_TX_PORT_TLV]) {
net/bridge/br_cfm_netlink.c
360
if (!tb[IFLA_BRIDGE_CFM_CC_CCM_TX_PORT_TLV_VALUE]) {
net/bridge/br_cfm_netlink.c
367
instance = nla_get_u32(tb[IFLA_BRIDGE_CFM_CC_CCM_TX_INSTANCE]);
net/bridge/br_cfm_netlink.c
369
tb[IFLA_BRIDGE_CFM_CC_CCM_TX_DMAC],
net/bridge/br_cfm_netlink.c
371
tx_info.seq_no_update = nla_get_u32(tb[IFLA_BRIDGE_CFM_CC_CCM_TX_SEQ_NO_UPDATE]);
net/bridge/br_cfm_netlink.c
372
tx_info.period = nla_get_u32(tb[IFLA_BRIDGE_CFM_CC_CCM_TX_PERIOD]);
net/bridge/br_cfm_netlink.c
373
tx_info.if_tlv = nla_get_u32(tb[IFLA_BRIDGE_CFM_CC_CCM_TX_IF_TLV]);
net/bridge/br_cfm_netlink.c
374
tx_info.if_tlv_value = nla_get_u8(tb[IFLA_BRIDGE_CFM_CC_CCM_TX_IF_TLV_VALUE]);
net/bridge/br_cfm_netlink.c
375
tx_info.port_tlv = nla_get_u32(tb[IFLA_BRIDGE_CFM_CC_CCM_TX_PORT_TLV]);
net/bridge/br_cfm_netlink.c
376
tx_info.port_tlv_value = nla_get_u8(tb[IFLA_BRIDGE_CFM_CC_CCM_TX_PORT_TLV_VALUE]);
net/bridge/br_cfm_netlink.c
384
struct nlattr *tb[IFLA_BRIDGE_CFM_MAX + 1];
net/bridge/br_cfm_netlink.c
393
err = nla_parse_nested(tb, IFLA_BRIDGE_CFM_MAX, attr,
net/bridge/br_cfm_netlink.c
398
if (tb[IFLA_BRIDGE_CFM_MEP_CREATE]) {
net/bridge/br_cfm_netlink.c
399
err = br_mep_create_parse(br, tb[IFLA_BRIDGE_CFM_MEP_CREATE],
net/bridge/br_cfm_netlink.c
405
if (tb[IFLA_BRIDGE_CFM_MEP_DELETE]) {
net/bridge/br_cfm_netlink.c
406
err = br_mep_delete_parse(br, tb[IFLA_BRIDGE_CFM_MEP_DELETE],
net/bridge/br_cfm_netlink.c
412
if (tb[IFLA_BRIDGE_CFM_MEP_CONFIG]) {
net/bridge/br_cfm_netlink.c
413
err = br_mep_config_parse(br, tb[IFLA_BRIDGE_CFM_MEP_CONFIG],
net/bridge/br_cfm_netlink.c
419
if (tb[IFLA_BRIDGE_CFM_CC_CONFIG]) {
net/bridge/br_cfm_netlink.c
420
err = br_cc_config_parse(br, tb[IFLA_BRIDGE_CFM_CC_CONFIG],
net/bridge/br_cfm_netlink.c
426
if (tb[IFLA_BRIDGE_CFM_CC_PEER_MEP_ADD]) {
net/bridge/br_cfm_netlink.c
427
err = br_cc_peer_mep_add_parse(br, tb[IFLA_BRIDGE_CFM_CC_PEER_MEP_ADD],
net/bridge/br_cfm_netlink.c
433
if (tb[IFLA_BRIDGE_CFM_CC_PEER_MEP_REMOVE]) {
net/bridge/br_cfm_netlink.c
434
err = br_cc_peer_mep_remove_parse(br, tb[IFLA_BRIDGE_CFM_CC_PEER_MEP_REMOVE],
net/bridge/br_cfm_netlink.c
440
if (tb[IFLA_BRIDGE_CFM_CC_RDI]) {
net/bridge/br_cfm_netlink.c
441
err = br_cc_rdi_parse(br, tb[IFLA_BRIDGE_CFM_CC_RDI],
net/bridge/br_cfm_netlink.c
447
if (tb[IFLA_BRIDGE_CFM_CC_CCM_TX]) {
net/bridge/br_cfm_netlink.c
448
err = br_cc_ccm_tx_parse(br, tb[IFLA_BRIDGE_CFM_CC_CCM_TX],
net/bridge/br_cfm_netlink.c
461
struct nlattr *tb;
net/bridge/br_cfm_netlink.c
464
tb = nla_nest_start(skb, IFLA_BRIDGE_CFM_MEP_CREATE_INFO);
net/bridge/br_cfm_netlink.c
465
if (!tb)
net/bridge/br_cfm_netlink.c
484
nla_nest_end(skb, tb);
net/bridge/br_cfm_netlink.c
486
tb = nla_nest_start(skb, IFLA_BRIDGE_CFM_MEP_CONFIG_INFO);
net/bridge/br_cfm_netlink.c
488
if (!tb)
net/bridge/br_cfm_netlink.c
508
nla_nest_end(skb, tb);
net/bridge/br_cfm_netlink.c
510
tb = nla_nest_start(skb, IFLA_BRIDGE_CFM_CC_CONFIG_INFO);
net/bridge/br_cfm_netlink.c
512
if (!tb)
net/bridge/br_cfm_netlink.c
532
nla_nest_end(skb, tb);
net/bridge/br_cfm_netlink.c
534
tb = nla_nest_start(skb, IFLA_BRIDGE_CFM_CC_RDI_INFO);
net/bridge/br_cfm_netlink.c
536
if (!tb)
net/bridge/br_cfm_netlink.c
547
nla_nest_end(skb, tb);
net/bridge/br_cfm_netlink.c
549
tb = nla_nest_start(skb, IFLA_BRIDGE_CFM_CC_CCM_TX_INFO);
net/bridge/br_cfm_netlink.c
551
if (!tb)
net/bridge/br_cfm_netlink.c
587
nla_nest_end(skb, tb);
net/bridge/br_cfm_netlink.c
590
tb = nla_nest_start(skb,
net/bridge/br_cfm_netlink.c
593
if (!tb)
net/bridge/br_cfm_netlink.c
605
nla_nest_end(skb, tb);
net/bridge/br_cfm_netlink.c
612
nla_nest_cancel(skb, tb);
net/bridge/br_cfm_netlink.c
624
struct nlattr *tb;
net/bridge/br_cfm_netlink.c
627
tb = nla_nest_start(skb, IFLA_BRIDGE_CFM_MEP_STATUS_INFO);
net/bridge/br_cfm_netlink.c
628
if (!tb)
net/bridge/br_cfm_netlink.c
658
nla_nest_end(skb, tb);
net/bridge/br_cfm_netlink.c
661
tb = nla_nest_start(skb,
net/bridge/br_cfm_netlink.c
663
if (!tb)
net/bridge/br_cfm_netlink.c
717
nla_nest_end(skb, tb);
net/bridge/br_cfm_netlink.c
724
nla_nest_cancel(skb, tb);
net/bridge/br_cfm_netlink.c
95
struct nlattr *tb[IFLA_BRIDGE_CFM_MEP_CREATE_MAX + 1];
net/bridge/br_fdb.c
1098
struct nlattr *tb[],
net/bridge/br_fdb.c
1290
int br_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
net/bridge/br_fdb.c
1329
if (tb[NDA_FLAGS_EXT])
net/bridge/br_fdb.c
1330
ext_flags = nla_get_u32(tb[NDA_FLAGS_EXT]);
net/bridge/br_fdb.c
1337
if (tb[NDA_FDB_EXT_ATTRS]) {
net/bridge/br_fdb.c
1338
attr = tb[NDA_FDB_EXT_ATTRS];
net/bridge/br_fdb.c
1411
int br_fdb_delete(struct ndmsg *ndm, struct nlattr *tb[],
net/bridge/br_fdb.c
801
struct nlattr *tb[NDA_MAX + 1];
net/bridge/br_fdb.c
808
err = nlmsg_parse(nlh, sizeof(*ndm), tb, NDA_MAX,
net/bridge/br_fdb.c
824
if (tb[NDA_VLAN])
net/bridge/br_fdb.c
825
desc.vlan_id = nla_get_u16(tb[NDA_VLAN]);
net/bridge/br_fdb.c
838
if (tb[NDA_NDM_STATE_MASK]) {
net/bridge/br_fdb.c
839
u16 ndm_state_mask = nla_get_u16(tb[NDA_NDM_STATE_MASK]);
net/bridge/br_fdb.c
843
if (tb[NDA_NDM_FLAGS_MASK]) {
net/bridge/br_fdb.c
844
u8 ndm_flags_mask = nla_get_u8(tb[NDA_NDM_FLAGS_MASK]);
net/bridge/br_fdb.c
848
if (tb[NDA_IFINDEX]) {
net/bridge/br_fdb.c
849
int ifidx = nla_get_s32(tb[NDA_IFINDEX]);
net/bridge/br_mdb.c
1098
struct nlattr *tb[MDBE_SRCATTR_MAX + 1];
net/bridge/br_mdb.c
1101
err = nla_parse_nested(tb, MDBE_SRCATTR_MAX, src_entry,
net/bridge/br_mdb.c
1106
if (NL_REQ_ATTR_CHECK(extack, src_entry, tb, MDBE_SRCATTR_ADDRESS))
net/bridge/br_mdb.c
1109
if (!is_valid_mdb_source(tb[MDBE_SRCATTR_ADDRESS], proto, extack))
net/bridge/br_mdb.c
1113
nla_memcpy(&src->addr.src, tb[MDBE_SRCATTR_ADDRESS],
net/bridge/br_mdb.c
1114
nla_len(tb[MDBE_SRCATTR_ADDRESS]));
net/bridge/br_mdb.c
1232
struct nlattr *tb[], u16 nlmsg_flags,
net/bridge/br_mdb.c
1254
cfg->entry = nla_data(tb[MDBA_SET_ENTRY]);
net/bridge/br_mdb.c
1283
if (tb[MDBA_SET_ENTRY_ATTRS])
net/bridge/br_mdb.c
1284
return br_mdb_config_attrs_init(tb[MDBA_SET_ENTRY_ATTRS], cfg,
net/bridge/br_mdb.c
1297
int br_mdb_add(struct net_device *dev, struct nlattr *tb[], u16 nlmsg_flags,
net/bridge/br_mdb.c
1305
err = br_mdb_config_init(&cfg, dev, tb, nlmsg_flags, extack);
net/bridge/br_mdb.c
1399
int br_mdb_del(struct net_device *dev, struct nlattr *tb[],
net/bridge/br_mdb.c
1407
err = br_mdb_config_init(&cfg, dev, tb, 0, extack);
net/bridge/br_mdb.c
1447
struct nlattr *tb[],
net/bridge/br_mdb.c
1450
struct br_mdb_entry *entry = nla_data(tb[MDBA_SET_ENTRY]);
net/bridge/br_mdb.c
1458
if (!tb[MDBA_SET_ENTRY_ATTRS])
net/bridge/br_mdb.c
1462
tb[MDBA_SET_ENTRY_ATTRS],
net/bridge/br_mdb.c
1550
int br_mdb_del_bulk(struct net_device *dev, struct nlattr *tb[],
net/bridge/br_mdb.c
1557
err = br_mdb_flush_desc_init(&desc, tb, extack);
net/bridge/br_mdb.c
1572
static int br_mdb_get_parse(struct net_device *dev, struct nlattr *tb[],
net/bridge/br_mdb.c
1575
struct br_mdb_entry *entry = nla_data(tb[MDBA_GET_ENTRY]);
net/bridge/br_mdb.c
1579
if (!tb[MDBA_GET_ENTRY_ATTRS]) {
net/bridge/br_mdb.c
1585
tb[MDBA_GET_ENTRY_ATTRS], br_mdbe_attrs_get_pol,
net/bridge/br_mdb.c
1675
int br_mdb_get(struct net_device *dev, struct nlattr *tb[], u32 portid, u32 seq,
net/bridge/br_mdb.c
1684
err = br_mdb_get_parse(dev, tb, &group, extack);
net/bridge/br_mrp_netlink.c
108
struct nlattr *tb[IFLA_BRIDGE_MRP_PORT_ROLE_MAX + 1];
net/bridge/br_mrp_netlink.c
112
err = nla_parse_nested(tb, IFLA_BRIDGE_MRP_PORT_ROLE_MAX, attr,
net/bridge/br_mrp_netlink.c
117
if (!tb[IFLA_BRIDGE_MRP_PORT_ROLE_ROLE]) {
net/bridge/br_mrp_netlink.c
122
role = nla_get_u32(tb[IFLA_BRIDGE_MRP_PORT_ROLE_ROLE]);
net/bridge/br_mrp_netlink.c
137
struct nlattr *tb[IFLA_BRIDGE_MRP_RING_STATE_MAX + 1];
net/bridge/br_mrp_netlink.c
141
err = nla_parse_nested(tb, IFLA_BRIDGE_MRP_RING_STATE_MAX, attr,
net/bridge/br_mrp_netlink.c
146
if (!tb[IFLA_BRIDGE_MRP_RING_STATE_RING_ID] ||
net/bridge/br_mrp_netlink.c
147
!tb[IFLA_BRIDGE_MRP_RING_STATE_STATE]) {
net/bridge/br_mrp_netlink.c
155
state.ring_id = nla_get_u32(tb[IFLA_BRIDGE_MRP_RING_STATE_RING_ID]);
net/bridge/br_mrp_netlink.c
156
state.ring_state = nla_get_u32(tb[IFLA_BRIDGE_MRP_RING_STATE_STATE]);
net/bridge/br_mrp_netlink.c
171
struct nlattr *tb[IFLA_BRIDGE_MRP_RING_ROLE_MAX + 1];
net/bridge/br_mrp_netlink.c
175
err = nla_parse_nested(tb, IFLA_BRIDGE_MRP_RING_ROLE_MAX, attr,
net/bridge/br_mrp_netlink.c
180
if (!tb[IFLA_BRIDGE_MRP_RING_ROLE_RING_ID] ||
net/bridge/br_mrp_netlink.c
181
!tb[IFLA_BRIDGE_MRP_RING_ROLE_ROLE]) {
net/bridge/br_mrp_netlink.c
189
role.ring_id = nla_get_u32(tb[IFLA_BRIDGE_MRP_RING_ROLE_RING_ID]);
net/bridge/br_mrp_netlink.c
190
role.ring_role = nla_get_u32(tb[IFLA_BRIDGE_MRP_RING_ROLE_ROLE]);
net/bridge/br_mrp_netlink.c
208
struct nlattr *tb[IFLA_BRIDGE_MRP_START_TEST_MAX + 1];
net/bridge/br_mrp_netlink.c
212
err = nla_parse_nested(tb, IFLA_BRIDGE_MRP_START_TEST_MAX, attr,
net/bridge/br_mrp_netlink.c
217
if (!tb[IFLA_BRIDGE_MRP_START_TEST_RING_ID] ||
net/bridge/br_mrp_netlink.c
218
!tb[IFLA_BRIDGE_MRP_START_TEST_INTERVAL] ||
net/bridge/br_mrp_netlink.c
219
!tb[IFLA_BRIDGE_MRP_START_TEST_MAX_MISS] ||
net/bridge/br_mrp_netlink.c
220
!tb[IFLA_BRIDGE_MRP_START_TEST_PERIOD]) {
net/bridge/br_mrp_netlink.c
228
test.ring_id = nla_get_u32(tb[IFLA_BRIDGE_MRP_START_TEST_RING_ID]);
net/bridge/br_mrp_netlink.c
229
test.interval = nla_get_u32(tb[IFLA_BRIDGE_MRP_START_TEST_INTERVAL]);
net/bridge/br_mrp_netlink.c
230
test.max_miss = nla_get_u32(tb[IFLA_BRIDGE_MRP_START_TEST_MAX_MISS]);
net/bridge/br_mrp_netlink.c
231
test.period = nla_get_u32(tb[IFLA_BRIDGE_MRP_START_TEST_PERIOD]);
net/bridge/br_mrp_netlink.c
234
if (tb[IFLA_BRIDGE_MRP_START_TEST_MONITOR])
net/bridge/br_mrp_netlink.c
236
nla_get_u32(tb[IFLA_BRIDGE_MRP_START_TEST_MONITOR]);
net/bridge/br_mrp_netlink.c
251
struct nlattr *tb[IFLA_BRIDGE_MRP_IN_STATE_MAX + 1];
net/bridge/br_mrp_netlink.c
255
err = nla_parse_nested(tb, IFLA_BRIDGE_MRP_IN_STATE_MAX, attr,
net/bridge/br_mrp_netlink.c
260
if (!tb[IFLA_BRIDGE_MRP_IN_STATE_IN_ID] ||
net/bridge/br_mrp_netlink.c
261
!tb[IFLA_BRIDGE_MRP_IN_STATE_STATE]) {
net/bridge/br_mrp_netlink.c
269
state.in_id = nla_get_u32(tb[IFLA_BRIDGE_MRP_IN_STATE_IN_ID]);
net/bridge/br_mrp_netlink.c
270
state.in_state = nla_get_u32(tb[IFLA_BRIDGE_MRP_IN_STATE_STATE]);
net/bridge/br_mrp_netlink.c
287
struct nlattr *tb[IFLA_BRIDGE_MRP_IN_ROLE_MAX + 1];
net/bridge/br_mrp_netlink.c
291
err = nla_parse_nested(tb, IFLA_BRIDGE_MRP_IN_ROLE_MAX, attr,
net/bridge/br_mrp_netlink.c
296
if (!tb[IFLA_BRIDGE_MRP_IN_ROLE_RING_ID] ||
net/bridge/br_mrp_netlink.c
297
!tb[IFLA_BRIDGE_MRP_IN_ROLE_IN_ID] ||
net/bridge/br_mrp_netlink.c
298
!tb[IFLA_BRIDGE_MRP_IN_ROLE_I_IFINDEX] ||
net/bridge/br_mrp_netlink.c
299
!tb[IFLA_BRIDGE_MRP_IN_ROLE_ROLE]) {
net/bridge/br_mrp_netlink.c
307
role.ring_id = nla_get_u32(tb[IFLA_BRIDGE_MRP_IN_ROLE_RING_ID]);
net/bridge/br_mrp_netlink.c
308
role.in_id = nla_get_u16(tb[IFLA_BRIDGE_MRP_IN_ROLE_IN_ID]);
net/bridge/br_mrp_netlink.c
309
role.i_ifindex = nla_get_u32(tb[IFLA_BRIDGE_MRP_IN_ROLE_I_IFINDEX]);
net/bridge/br_mrp_netlink.c
310
role.in_role = nla_get_u32(tb[IFLA_BRIDGE_MRP_IN_ROLE_ROLE]);
net/bridge/br_mrp_netlink.c
328
struct nlattr *tb[IFLA_BRIDGE_MRP_START_IN_TEST_MAX + 1];
net/bridge/br_mrp_netlink.c
332
err = nla_parse_nested(tb, IFLA_BRIDGE_MRP_START_IN_TEST_MAX, attr,
net/bridge/br_mrp_netlink.c
337
if (!tb[IFLA_BRIDGE_MRP_START_IN_TEST_IN_ID] ||
net/bridge/br_mrp_netlink.c
338
!tb[IFLA_BRIDGE_MRP_START_IN_TEST_INTERVAL] ||
net/bridge/br_mrp_netlink.c
339
!tb[IFLA_BRIDGE_MRP_START_IN_TEST_MAX_MISS] ||
net/bridge/br_mrp_netlink.c
34
struct nlattr *tb[IFLA_BRIDGE_MRP_INSTANCE_MAX + 1];
net/bridge/br_mrp_netlink.c
340
!tb[IFLA_BRIDGE_MRP_START_IN_TEST_PERIOD]) {
net/bridge/br_mrp_netlink.c
348
test.in_id = nla_get_u32(tb[IFLA_BRIDGE_MRP_START_IN_TEST_IN_ID]);
net/bridge/br_mrp_netlink.c
349
test.interval = nla_get_u32(tb[IFLA_BRIDGE_MRP_START_IN_TEST_INTERVAL]);
net/bridge/br_mrp_netlink.c
350
test.max_miss = nla_get_u32(tb[IFLA_BRIDGE_MRP_START_IN_TEST_MAX_MISS]);
net/bridge/br_mrp_netlink.c
351
test.period = nla_get_u32(tb[IFLA_BRIDGE_MRP_START_IN_TEST_PERIOD]);
net/bridge/br_mrp_netlink.c
359
struct nlattr *tb[IFLA_BRIDGE_MRP_MAX + 1];
net/bridge/br_mrp_netlink.c
373
err = nla_parse_nested(tb, IFLA_BRIDGE_MRP_MAX, attr,
net/bridge/br_mrp_netlink.c
378
if (tb[IFLA_BRIDGE_MRP_INSTANCE]) {
net/bridge/br_mrp_netlink.c
379
err = br_mrp_instance_parse(br, tb[IFLA_BRIDGE_MRP_INSTANCE],
net/bridge/br_mrp_netlink.c
38
err = nla_parse_nested(tb, IFLA_BRIDGE_MRP_INSTANCE_MAX, attr,
net/bridge/br_mrp_netlink.c
385
if (tb[IFLA_BRIDGE_MRP_PORT_STATE]) {
net/bridge/br_mrp_netlink.c
386
err = br_mrp_port_state_parse(p, tb[IFLA_BRIDGE_MRP_PORT_STATE],
net/bridge/br_mrp_netlink.c
392
if (tb[IFLA_BRIDGE_MRP_PORT_ROLE]) {
net/bridge/br_mrp_netlink.c
393
err = br_mrp_port_role_parse(p, tb[IFLA_BRIDGE_MRP_PORT_ROLE],
net/bridge/br_mrp_netlink.c
399
if (tb[IFLA_BRIDGE_MRP_RING_STATE]) {
net/bridge/br_mrp_netlink.c
401
tb[IFLA_BRIDGE_MRP_RING_STATE],
net/bridge/br_mrp_netlink.c
407
if (tb[IFLA_BRIDGE_MRP_RING_ROLE]) {
net/bridge/br_mrp_netlink.c
408
err = br_mrp_ring_role_parse(br, tb[IFLA_BRIDGE_MRP_RING_ROLE],
net/bridge/br_mrp_netlink.c
414
if (tb[IFLA_BRIDGE_MRP_START_TEST]) {
net/bridge/br_mrp_netlink.c
416
tb[IFLA_BRIDGE_MRP_START_TEST],
net/bridge/br_mrp_netlink.c
422
if (tb[IFLA_BRIDGE_MRP_IN_STATE]) {
net/bridge/br_mrp_netlink.c
423
err = br_mrp_in_state_parse(br, tb[IFLA_BRIDGE_MRP_IN_STATE],
net/bridge/br_mrp_netlink.c
429
if (tb[IFLA_BRIDGE_MRP_IN_ROLE]) {
net/bridge/br_mrp_netlink.c
43
if (!tb[IFLA_BRIDGE_MRP_INSTANCE_RING_ID] ||
net/bridge/br_mrp_netlink.c
430
err = br_mrp_in_role_parse(br, tb[IFLA_BRIDGE_MRP_IN_ROLE],
net/bridge/br_mrp_netlink.c
436
if (tb[IFLA_BRIDGE_MRP_START_IN_TEST]) {
net/bridge/br_mrp_netlink.c
438
tb[IFLA_BRIDGE_MRP_START_IN_TEST],
net/bridge/br_mrp_netlink.c
44
!tb[IFLA_BRIDGE_MRP_INSTANCE_P_IFINDEX] ||
net/bridge/br_mrp_netlink.c
449
struct nlattr *tb, *mrp_tb;
net/bridge/br_mrp_netlink.c
45
!tb[IFLA_BRIDGE_MRP_INSTANCE_S_IFINDEX]) {
net/bridge/br_mrp_netlink.c
459
tb = nla_nest_start_noflag(skb, IFLA_BRIDGE_MRP_INFO);
net/bridge/br_mrp_netlink.c
460
if (!tb)
net/bridge/br_mrp_netlink.c
514
nla_nest_end(skb, tb);
net/bridge/br_mrp_netlink.c
521
nla_nest_cancel(skb, tb);
net/bridge/br_mrp_netlink.c
53
inst.ring_id = nla_get_u32(tb[IFLA_BRIDGE_MRP_INSTANCE_RING_ID]);
net/bridge/br_mrp_netlink.c
54
inst.p_ifindex = nla_get_u32(tb[IFLA_BRIDGE_MRP_INSTANCE_P_IFINDEX]);
net/bridge/br_mrp_netlink.c
55
inst.s_ifindex = nla_get_u32(tb[IFLA_BRIDGE_MRP_INSTANCE_S_IFINDEX]);
net/bridge/br_mrp_netlink.c
58
if (tb[IFLA_BRIDGE_MRP_INSTANCE_PRIO])
net/bridge/br_mrp_netlink.c
59
inst.prio = nla_get_u16(tb[IFLA_BRIDGE_MRP_INSTANCE_PRIO]);
net/bridge/br_mrp_netlink.c
79
struct nlattr *tb[IFLA_BRIDGE_MRP_PORT_STATE_MAX + 1];
net/bridge/br_mrp_netlink.c
83
err = nla_parse_nested(tb, IFLA_BRIDGE_MRP_PORT_STATE_MAX, attr,
net/bridge/br_mrp_netlink.c
88
if (!tb[IFLA_BRIDGE_MRP_PORT_STATE_STATE]) {
net/bridge/br_mrp_netlink.c
93
state = nla_get_u32(tb[IFLA_BRIDGE_MRP_PORT_STATE_STATE]);
net/bridge/br_mst.c
308
struct nlattr *tb[IFLA_BRIDGE_MST_ENTRY_MAX + 1];
net/bridge/br_mst.c
313
err = nla_parse_nested(tb, IFLA_BRIDGE_MST_ENTRY_MAX, attr,
net/bridge/br_mst.c
318
if (!tb[IFLA_BRIDGE_MST_ENTRY_MSTI]) {
net/bridge/br_mst.c
323
if (!tb[IFLA_BRIDGE_MST_ENTRY_STATE]) {
net/bridge/br_mst.c
328
msti = nla_get_u16(tb[IFLA_BRIDGE_MST_ENTRY_MSTI]);
net/bridge/br_mst.c
329
state = nla_get_u8(tb[IFLA_BRIDGE_MST_ENTRY_STATE]);
net/bridge/br_netlink.c
1022
if (tb[IFLA_BRPORT_COST]) {
net/bridge/br_netlink.c
1024
err = br_stp_set_path_cost(p, nla_get_u32(tb[IFLA_BRPORT_COST]));
net/bridge/br_netlink.c
1030
if (tb[IFLA_BRPORT_PRIORITY]) {
net/bridge/br_netlink.c
1032
err = br_stp_set_port_priority(p, nla_get_u16(tb[IFLA_BRPORT_PRIORITY]));
net/bridge/br_netlink.c
1038
if (tb[IFLA_BRPORT_STATE]) {
net/bridge/br_netlink.c
1040
err = br_set_port_state(p, nla_get_u8(tb[IFLA_BRPORT_STATE]));
net/bridge/br_netlink.c
1046
if (tb[IFLA_BRPORT_FLUSH])
net/bridge/br_netlink.c
1050
if (tb[IFLA_BRPORT_MULTICAST_ROUTER]) {
net/bridge/br_netlink.c
1051
u8 mcast_router = nla_get_u8(tb[IFLA_BRPORT_MULTICAST_ROUTER]);
net/bridge/br_netlink.c
1059
if (tb[IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT]) {
net/bridge/br_netlink.c
1062
hlimit = nla_get_u32(tb[IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT]);
net/bridge/br_netlink.c
1068
if (tb[IFLA_BRPORT_MCAST_MAX_GROUPS]) {
net/bridge/br_netlink.c
1071
max_groups = nla_get_u32(tb[IFLA_BRPORT_MCAST_MAX_GROUPS]);
net/bridge/br_netlink.c
1076
if (tb[IFLA_BRPORT_GROUP_FWD_MASK]) {
net/bridge/br_netlink.c
1077
u16 fwd_mask = nla_get_u16(tb[IFLA_BRPORT_GROUP_FWD_MASK]);
net/bridge/br_netlink.c
1084
if (tb[IFLA_BRPORT_BACKUP_PORT]) {
net/bridge/br_netlink.c
1088
backup_ifindex = nla_get_u32(tb[IFLA_BRPORT_BACKUP_PORT]);
net/bridge/br_netlink.c
1101
if (tb[IFLA_BRPORT_BACKUP_NHID]) {
net/bridge/br_netlink.c
1102
u32 backup_nhid = nla_get_u32(tb[IFLA_BRPORT_BACKUP_NHID]);
net/bridge/br_netlink.c
1115
struct nlattr *tb[IFLA_BRPORT_MAX + 1];
net/bridge/br_netlink.c
1136
err = nla_parse_nested_deprecated(tb, IFLA_BRPORT_MAX,
net/bridge/br_netlink.c
1143
err = br_setport(p, tb, extack);
net/bridge/br_netlink.c
1195
static int br_validate(struct nlattr *tb[], struct nlattr *data[],
net/bridge/br_netlink.c
1198
if (tb[IFLA_ADDRESS]) {
net/bridge/br_netlink.c
1199
if (nla_len(tb[IFLA_ADDRESS]) != ETH_ALEN)
net/bridge/br_netlink.c
1201
if (!is_valid_ether_addr(nla_data(tb[IFLA_ADDRESS])))
net/bridge/br_netlink.c
1226
struct nlattr *tb[],
net/bridge/br_netlink.c
1295
static int br_changelink(struct net_device *brdev, struct nlattr *tb[],
net/bridge/br_netlink.c
1599
struct nlattr **tb = params->tb;
net/bridge/br_netlink.c
1606
if (tb[IFLA_ADDRESS]) {
net/bridge/br_netlink.c
1608
br_stp_change_bridge_id(br, nla_data(tb[IFLA_ADDRESS]));
net/bridge/br_netlink.c
1612
err = br_changelink(dev, tb, data, extack);
net/bridge/br_netlink.c
939
struct nlattr *tb[],
net/bridge/br_netlink.c
942
if (tb[attrtype]) {
net/bridge/br_netlink.c
943
if (nla_get_u8(tb[attrtype]))
net/bridge/br_netlink.c
951
static int br_setport(struct net_bridge_port *p, struct nlattr *tb[],
net/bridge/br_netlink.c
962
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_MODE, BR_HAIRPIN_MODE);
net/bridge/br_netlink.c
963
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_GUARD, BR_BPDU_GUARD);
net/bridge/br_netlink.c
964
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_FAST_LEAVE,
net/bridge/br_netlink.c
966
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_PROTECT, BR_ROOT_BLOCK);
net/bridge/br_netlink.c
967
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_LEARNING, BR_LEARNING);
net/bridge/br_netlink.c
968
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_UNICAST_FLOOD, BR_FLOOD);
net/bridge/br_netlink.c
969
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_MCAST_FLOOD,
net/bridge/br_netlink.c
971
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_MCAST_TO_UCAST,
net/bridge/br_netlink.c
973
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_BCAST_FLOOD,
net/bridge/br_netlink.c
975
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_PROXYARP, BR_PROXYARP);
net/bridge/br_netlink.c
976
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_PROXYARP_WIFI,
net/bridge/br_netlink.c
978
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_VLAN_TUNNEL,
net/bridge/br_netlink.c
980
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_NEIGH_SUPPRESS,
net/bridge/br_netlink.c
982
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_ISOLATED, BR_ISOLATED);
net/bridge/br_netlink.c
983
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_LOCKED, BR_PORT_LOCKED);
net/bridge/br_netlink.c
984
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_MAB, BR_PORT_MAB);
net/bridge/br_netlink.c
985
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_NEIGH_VLAN_SUPPRESS,
net/bridge/br_netlink.c
987
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_NEIGH_FORWARD_GRAT,
net/bridge/br_netlink_tunnel.c
225
struct nlattr *tb[IFLA_BRIDGE_VLAN_TUNNEL_MAX + 1];
net/bridge/br_netlink_tunnel.c
232
err = nla_parse_nested_deprecated(tb, IFLA_BRIDGE_VLAN_TUNNEL_MAX,
net/bridge/br_netlink_tunnel.c
237
if (!tb[IFLA_BRIDGE_VLAN_TUNNEL_ID] ||
net/bridge/br_netlink_tunnel.c
238
!tb[IFLA_BRIDGE_VLAN_TUNNEL_VID])
net/bridge/br_netlink_tunnel.c
241
tun_id = nla_get_u32(tb[IFLA_BRIDGE_VLAN_TUNNEL_ID]);
net/bridge/br_netlink_tunnel.c
242
vid = nla_get_u16(tb[IFLA_BRIDGE_VLAN_TUNNEL_VID]);
net/bridge/br_netlink_tunnel.c
246
if (tb[IFLA_BRIDGE_VLAN_TUNNEL_FLAGS])
net/bridge/br_netlink_tunnel.c
247
flags = nla_get_u16(tb[IFLA_BRIDGE_VLAN_TUNNEL_FLAGS]);
net/bridge/br_private.h
1036
int br_mdb_add(struct net_device *dev, struct nlattr *tb[], u16 nlmsg_flags,
net/bridge/br_private.h
1038
int br_mdb_del(struct net_device *dev, struct nlattr *tb[],
net/bridge/br_private.h
1040
int br_mdb_del_bulk(struct net_device *dev, struct nlattr *tb[],
net/bridge/br_private.h
1044
int br_mdb_get(struct net_device *dev, struct nlattr *tb[], u32 portid, u32 seq,
net/bridge/br_private.h
1465
static inline int br_mdb_add(struct net_device *dev, struct nlattr *tb[],
net/bridge/br_private.h
1471
static inline int br_mdb_del(struct net_device *dev, struct nlattr *tb[],
net/bridge/br_private.h
1477
static inline int br_mdb_del_bulk(struct net_device *dev, struct nlattr *tb[],
net/bridge/br_private.h
1489
static inline int br_mdb_get(struct net_device *dev, struct nlattr *tb[],
net/bridge/br_private.h
1902
struct nlattr **tb,
net/bridge/br_private.h
867
int br_fdb_delete(struct ndmsg *ndm, struct nlattr *tb[],
net/bridge/br_private.h
872
int br_fdb_add(struct ndmsg *nlh, struct nlattr *tb[], struct net_device *dev,
net/bridge/br_private.h
877
int br_fdb_get(struct sk_buff *skb, struct nlattr *tb[], struct net_device *dev,
net/bridge/br_vlan.c
2189
struct nlattr *tb[BRIDGE_VLANDB_ENTRY_MAX + 1];
net/bridge/br_vlan.c
2210
err = nla_parse_nested(tb, BRIDGE_VLANDB_ENTRY_MAX, attr,
net/bridge/br_vlan.c
2215
if (!tb[BRIDGE_VLANDB_ENTRY_INFO]) {
net/bridge/br_vlan.c
2221
vinfo = nla_data(tb[BRIDGE_VLANDB_ENTRY_INFO]);
net/bridge/br_vlan.c
2230
if (tb[BRIDGE_VLANDB_ENTRY_RANGE]) {
net/bridge/br_vlan.c
2231
vrange_end.vid = nla_get_u16(tb[BRIDGE_VLANDB_ENTRY_RANGE]);
net/bridge/br_vlan.c
2283
tb, extack);
net/bridge/br_vlan_options.c
162
struct nlattr **tb,
net/bridge/br_vlan_options.c
180
attr = tb[BRIDGE_VLANDB_ENTRY_TUNNEL_INFO];
net/bridge/br_vlan_options.c
200
vinfo = nla_data(tb[BRIDGE_VLANDB_ENTRY_INFO]);
net/bridge/br_vlan_options.c
221
struct nlattr **tb,
net/bridge/br_vlan_options.c
228
if (tb[BRIDGE_VLANDB_ENTRY_STATE]) {
net/bridge/br_vlan_options.c
229
u8 state = nla_get_u8(tb[BRIDGE_VLANDB_ENTRY_STATE]);
net/bridge/br_vlan_options.c
235
if (tb[BRIDGE_VLANDB_ENTRY_TUNNEL_INFO]) {
net/bridge/br_vlan_options.c
236
err = br_vlan_modify_tunnel(p, v, tb, changed, extack);
net/bridge/br_vlan_options.c
242
if (tb[BRIDGE_VLANDB_ENTRY_MCAST_ROUTER]) {
net/bridge/br_vlan_options.c
245
val = nla_get_u8(tb[BRIDGE_VLANDB_ENTRY_MCAST_ROUTER]);
net/bridge/br_vlan_options.c
251
if (tb[BRIDGE_VLANDB_ENTRY_MCAST_MAX_GROUPS]) {
net/bridge/br_vlan_options.c
263
val = nla_get_u32(tb[BRIDGE_VLANDB_ENTRY_MCAST_MAX_GROUPS]);
net/bridge/br_vlan_options.c
269
if (tb[BRIDGE_VLANDB_ENTRY_NEIGH_SUPPRESS]) {
net/bridge/br_vlan_options.c
271
bool val = nla_get_u8(tb[BRIDGE_VLANDB_ENTRY_NEIGH_SUPPRESS]);
net/bridge/br_vlan_options.c
284
if (tb[BRIDGE_VLANDB_ENTRY_NEIGH_FORWARD_GRAT]) {
net/bridge/br_vlan_options.c
286
bool val = nla_get_u8(tb[BRIDGE_VLANDB_ENTRY_NEIGH_FORWARD_GRAT]);
net/bridge/br_vlan_options.c
307
struct nlattr **tb,
net/bridge/br_vlan_options.c
340
err = br_vlan_process_one_opts(br, p, vg, v, tb, &changed,
net/bridge/br_vlan_options.c
553
struct nlattr **tb,
net/bridge/br_vlan_options.c
561
if (tb[BRIDGE_VLANDB_GOPTS_MCAST_SNOOPING]) {
net/bridge/br_vlan_options.c
564
mc_snooping = nla_get_u8(tb[BRIDGE_VLANDB_GOPTS_MCAST_SNOOPING]);
net/bridge/br_vlan_options.c
568
if (tb[BRIDGE_VLANDB_GOPTS_MCAST_IGMP_VERSION]) {
net/bridge/br_vlan_options.c
571
ver = nla_get_u8(tb[BRIDGE_VLANDB_GOPTS_MCAST_IGMP_VERSION]);
net/bridge/br_vlan_options.c
577
if (tb[BRIDGE_VLANDB_GOPTS_MCAST_LAST_MEMBER_CNT]) {
net/bridge/br_vlan_options.c
580
cnt = nla_get_u32(tb[BRIDGE_VLANDB_GOPTS_MCAST_LAST_MEMBER_CNT]);
net/bridge/br_vlan_options.c
584
if (tb[BRIDGE_VLANDB_GOPTS_MCAST_STARTUP_QUERY_CNT]) {
net/bridge/br_vlan_options.c
587
cnt = nla_get_u32(tb[BRIDGE_VLANDB_GOPTS_MCAST_STARTUP_QUERY_CNT]);
net/bridge/br_vlan_options.c
591
if (tb[BRIDGE_VLANDB_GOPTS_MCAST_LAST_MEMBER_INTVL]) {
net/bridge/br_vlan_options.c
594
val = nla_get_u64(tb[BRIDGE_VLANDB_GOPTS_MCAST_LAST_MEMBER_INTVL]);
net/bridge/br_vlan_options.c
598
if (tb[BRIDGE_VLANDB_GOPTS_MCAST_MEMBERSHIP_INTVL]) {
net/bridge/br_vlan_options.c
601
val = nla_get_u64(tb[BRIDGE_VLANDB_GOPTS_MCAST_MEMBERSHIP_INTVL]);
net/bridge/br_vlan_options.c
605
if (tb[BRIDGE_VLANDB_GOPTS_MCAST_QUERIER_INTVL]) {
net/bridge/br_vlan_options.c
608
val = nla_get_u64(tb[BRIDGE_VLANDB_GOPTS_MCAST_QUERIER_INTVL]);
net/bridge/br_vlan_options.c
612
if (tb[BRIDGE_VLANDB_GOPTS_MCAST_QUERY_INTVL]) {
net/bridge/br_vlan_options.c
615
val = nla_get_u64(tb[BRIDGE_VLANDB_GOPTS_MCAST_QUERY_INTVL]);
net/bridge/br_vlan_options.c
619
if (tb[BRIDGE_VLANDB_GOPTS_MCAST_QUERY_RESPONSE_INTVL]) {
net/bridge/br_vlan_options.c
622
val = nla_get_u64(tb[BRIDGE_VLANDB_GOPTS_MCAST_QUERY_RESPONSE_INTVL]);
net/bridge/br_vlan_options.c
626
if (tb[BRIDGE_VLANDB_GOPTS_MCAST_STARTUP_QUERY_INTVL]) {
net/bridge/br_vlan_options.c
629
val = nla_get_u64(tb[BRIDGE_VLANDB_GOPTS_MCAST_STARTUP_QUERY_INTVL]);
net/bridge/br_vlan_options.c
633
if (tb[BRIDGE_VLANDB_GOPTS_MCAST_QUERIER]) {
net/bridge/br_vlan_options.c
636
val = nla_get_u8(tb[BRIDGE_VLANDB_GOPTS_MCAST_QUERIER]);
net/bridge/br_vlan_options.c
643
if (tb[BRIDGE_VLANDB_GOPTS_MCAST_MLD_VERSION]) {
net/bridge/br_vlan_options.c
646
ver = nla_get_u8(tb[BRIDGE_VLANDB_GOPTS_MCAST_MLD_VERSION]);
net/bridge/br_vlan_options.c
654
if (tb[BRIDGE_VLANDB_GOPTS_MSTI]) {
net/bridge/br_vlan_options.c
657
msti = nla_get_u16(tb[BRIDGE_VLANDB_GOPTS_MSTI]);
net/bridge/br_vlan_options.c
691
struct nlattr *tb[BRIDGE_VLANDB_GOPTS_MAX + 1];
net/bridge/br_vlan_options.c
710
err = nla_parse_nested(tb, BRIDGE_VLANDB_GOPTS_MAX, attr,
net/bridge/br_vlan_options.c
715
if (!tb[BRIDGE_VLANDB_GOPTS_ID]) {
net/bridge/br_vlan_options.c
719
vid = nla_get_u16(tb[BRIDGE_VLANDB_GOPTS_ID]);
net/bridge/br_vlan_options.c
723
if (tb[BRIDGE_VLANDB_GOPTS_RANGE]) {
net/bridge/br_vlan_options.c
724
vid_range = nla_get_u16(tb[BRIDGE_VLANDB_GOPTS_RANGE]);
net/bridge/br_vlan_options.c
745
err = br_vlan_process_global_one_opts(br, vg, v, tb, &changed,
net/bridge/netfilter/nft_meta_bridge.c
104
return nft_meta_get_init(ctx, expr, tb);
net/bridge/netfilter/nft_meta_bridge.c
108
return nft_parse_register_store(ctx, tb[NFTA_META_DREG], &priv->dreg,
net/bridge/netfilter/nft_meta_bridge.c
160
const struct nlattr * const tb[])
net/bridge/netfilter/nft_meta_bridge.c
166
priv->key = ntohl(nla_get_be32(tb[NFTA_META_KEY]));
net/bridge/netfilter/nft_meta_bridge.c
172
return nft_meta_set_init(ctx, expr, tb);
net/bridge/netfilter/nft_meta_bridge.c
176
err = nft_parse_register_load(ctx, tb[NFTA_META_SREG], &priv->sreg, len);
net/bridge/netfilter/nft_meta_bridge.c
212
const struct nlattr * const tb[])
net/bridge/netfilter/nft_meta_bridge.c
214
if (tb[NFTA_META_KEY] == NULL)
net/bridge/netfilter/nft_meta_bridge.c
217
if (tb[NFTA_META_DREG] && tb[NFTA_META_SREG])
net/bridge/netfilter/nft_meta_bridge.c
220
if (tb[NFTA_META_DREG])
net/bridge/netfilter/nft_meta_bridge.c
223
if (tb[NFTA_META_SREG])
net/bridge/netfilter/nft_meta_bridge.c
85
const struct nlattr * const tb[])
net/bridge/netfilter/nft_meta_bridge.c
90
priv->key = ntohl(nla_get_be32(tb[NFTA_META_KEY]));
net/can/gw.c
1001
nla_memcpy(&mod->csum.crc8, tb[CGW_CS_CRC8],
net/can/gw.c
1016
if (tb[CGW_CS_XOR]) {
net/can/gw.c
1017
struct cgw_csum_xor *c = nla_data(tb[CGW_CS_XOR]);
net/can/gw.c
1024
nla_memcpy(&mod->csum.xor, tb[CGW_CS_XOR],
net/can/gw.c
1039
if (tb[CGW_MOD_UID])
net/can/gw.c
1040
nla_memcpy(&mod->uid, tb[CGW_MOD_UID], sizeof(u32));
net/can/gw.c
1050
if (tb[CGW_FILTER])
net/can/gw.c
1051
nla_memcpy(&ccgw->filter, tb[CGW_FILTER],
net/can/gw.c
1057
if (!tb[CGW_SRC_IF] || !tb[CGW_DST_IF])
net/can/gw.c
1060
ccgw->src_idx = nla_get_u32(tb[CGW_SRC_IF]);
net/can/gw.c
1061
ccgw->dst_idx = nla_get_u32(tb[CGW_DST_IF]);
net/can/gw.c
824
struct nlattr *tb[CGW_MAX + 1];
net/can/gw.c
832
err = nlmsg_parse_deprecated(nlh, sizeof(struct rtcanmsg), tb,
net/can/gw.c
837
if (tb[CGW_LIM_HOPS]) {
net/can/gw.c
838
*limhops = nla_get_u8(tb[CGW_LIM_HOPS]);
net/can/gw.c
848
if (tb[CGW_FDMOD_AND]) {
net/can/gw.c
849
nla_memcpy(&mb, tb[CGW_FDMOD_AND], CGW_FDMODATTR_LEN);
net/can/gw.c
867
if (tb[CGW_FDMOD_OR]) {
net/can/gw.c
868
nla_memcpy(&mb, tb[CGW_FDMOD_OR], CGW_FDMODATTR_LEN);
net/can/gw.c
886
if (tb[CGW_FDMOD_XOR]) {
net/can/gw.c
887
nla_memcpy(&mb, tb[CGW_FDMOD_XOR], CGW_FDMODATTR_LEN);
net/can/gw.c
905
if (tb[CGW_FDMOD_SET]) {
net/can/gw.c
906
nla_memcpy(&mb, tb[CGW_FDMOD_SET], CGW_FDMODATTR_LEN);
net/can/gw.c
926
if (tb[CGW_MOD_AND]) {
net/can/gw.c
927
nla_memcpy(&mb, tb[CGW_MOD_AND], CGW_MODATTR_LEN);
net/can/gw.c
942
if (tb[CGW_MOD_OR]) {
net/can/gw.c
943
nla_memcpy(&mb, tb[CGW_MOD_OR], CGW_MODATTR_LEN);
net/can/gw.c
958
if (tb[CGW_MOD_XOR]) {
net/can/gw.c
959
nla_memcpy(&mb, tb[CGW_MOD_XOR], CGW_MODATTR_LEN);
net/can/gw.c
974
if (tb[CGW_MOD_SET]) {
net/can/gw.c
975
nla_memcpy(&mb, tb[CGW_MOD_SET], CGW_MODATTR_LEN);
net/can/gw.c
993
if (tb[CGW_CS_CRC8]) {
net/can/gw.c
994
struct cgw_csum_crc8 *c = nla_data(tb[CGW_CS_CRC8]);
net/core/fib_rules.c
1011
struct nlattr *tb[FRA_MAX+1];
net/core/fib_rules.c
1029
err = nlmsg_parse_deprecated(nlh, sizeof(*frh), tb, FRA_MAX,
net/core/fib_rules.c
1036
err = fib_nl2rule(net, nlh, extack, ops, tb, &nlrule, &user_priority);
net/core/fib_rules.c
1043
err = fib_nl2rule_rtnl(nlrule, ops, tb, extack);
net/core/fib_rules.c
1047
rule = rule_find(ops, frh, tb, nlrule, user_priority);
net/core/fib_rules.c
217
static struct fib_kuid_range nla_get_kuid_range(struct nlattr **tb)
net/core/fib_rules.c
222
in = (struct fib_rule_uid_range *)nla_data(tb[FRA_UID_RANGE]);
net/core/fib_rules.c
446
struct nlattr **tb,
net/core/fib_rules.c
517
if (!ops->compare(r, frh, tb))
net/core/fib_rules.c
576
struct nlattr *tb[],
net/core/fib_rules.c
585
if (!tb[FRA_SRC] ||
net/core/fib_rules.c
587
nla_len(tb[FRA_SRC]) != ops->addr_size) {
net/core/fib_rules.c
593
if (!tb[FRA_DST] ||
net/core/fib_rules.c
595
nla_len(tb[FRA_DST]) != ops->addr_size) {
net/core/fib_rules.c
608
if (tb[FRA_PRIORITY]) {
net/core/fib_rules.c
609
nlrule->pref = nla_get_u32(tb[FRA_PRIORITY]);
net/core/fib_rules.c
613
nlrule->proto = nla_get_u8_default(tb[FRA_PROTOCOL], RTPROT_UNSPEC);
net/core/fib_rules.c
615
if (tb[FRA_IIFNAME]) {
net/core/fib_rules.c
617
nla_strscpy(nlrule->iifname, tb[FRA_IIFNAME], IFNAMSIZ);
net/core/fib_rules.c
620
if (tb[FRA_OIFNAME]) {
net/core/fib_rules.c
622
nla_strscpy(nlrule->oifname, tb[FRA_OIFNAME], IFNAMSIZ);
net/core/fib_rules.c
625
if (tb[FRA_FWMARK]) {
net/core/fib_rules.c
626
nlrule->mark = nla_get_u32(tb[FRA_FWMARK]);
net/core/fib_rules.c
634
if (tb[FRA_FWMASK])
net/core/fib_rules.c
635
nlrule->mark_mask = nla_get_u32(tb[FRA_FWMASK]);
net/core/fib_rules.c
637
if (tb[FRA_TUN_ID])
net/core/fib_rules.c
638
nlrule->tun_id = nla_get_be64(tb[FRA_TUN_ID]);
net/core/fib_rules.c
640
if (tb[FRA_L3MDEV] &&
net/core/fib_rules.c
641
fib_nl2rule_l3mdev(tb[FRA_L3MDEV], nlrule, extack) < 0)
net/core/fib_rules.c
646
nlrule->table = frh_get_table(frh, tb);
net/core/fib_rules.c
647
if (tb[FRA_SUPPRESS_PREFIXLEN])
net/core/fib_rules.c
648
nlrule->suppress_prefixlen = nla_get_u32(tb[FRA_SUPPRESS_PREFIXLEN]);
net/core/fib_rules.c
652
if (tb[FRA_SUPPRESS_IFGROUP])
net/core/fib_rules.c
653
nlrule->suppress_ifgroup = nla_get_u32(tb[FRA_SUPPRESS_IFGROUP]);
net/core/fib_rules.c
657
if (tb[FRA_GOTO]) {
net/core/fib_rules.c
663
nlrule->target = nla_get_u32(tb[FRA_GOTO]);
net/core/fib_rules.c
674
if (tb[FRA_UID_RANGE]) {
net/core/fib_rules.c
681
nlrule->uid_range = nla_get_kuid_range(tb);
net/core/fib_rules.c
692
if (tb[FRA_IP_PROTO])
net/core/fib_rules.c
693
nlrule->ip_proto = nla_get_u8(tb[FRA_IP_PROTO]);
net/core/fib_rules.c
695
if (tb[FRA_SPORT_RANGE]) {
net/core/fib_rules.c
696
err = nla_get_port_range(tb[FRA_SPORT_RANGE],
net/core/fib_rules.c
706
if (tb[FRA_SPORT_MASK]) {
net/core/fib_rules.c
707
err = fib_nl2rule_port_mask(tb[FRA_SPORT_MASK],
net/core/fib_rules.c
714
if (tb[FRA_DPORT_RANGE]) {
net/core/fib_rules.c
715
err = nla_get_port_range(tb[FRA_DPORT_RANGE],
net/core/fib_rules.c
725
if (tb[FRA_DPORT_MASK]) {
net/core/fib_rules.c
726
err = fib_nl2rule_port_mask(tb[FRA_DPORT_MASK],
net/core/fib_rules.c
745
struct nlattr *tb[],
net/core/fib_rules.c
748
if (!tb[FRA_PRIORITY])
net/core/fib_rules.c
752
if (tb[FRA_GOTO] && nlrule->target <= nlrule->pref) {
net/core/fib_rules.c
757
if (tb[FRA_IIFNAME]) {
net/core/fib_rules.c
767
if (tb[FRA_OIFNAME]) {
net/core/fib_rules.c
781
struct nlattr **tb, struct fib_rule *rule)
net/core/fib_rules.c
843
if (!ops->compare(r, frh, tb))
net/core/fib_rules.c
883
struct nlattr *tb[FRA_MAX + 1];
net/core/fib_rules.c
900
err = nlmsg_parse_deprecated(nlh, sizeof(*frh), tb, FRA_MAX,
net/core/fib_rules.c
907
err = fib_nl2rule(net, nlh, extack, ops, tb, &rule, &user_priority);
net/core/fib_rules.c
914
err = fib_nl2rule_rtnl(rule, ops, tb, extack);
net/core/fib_rules.c
919
rule_exists(ops, frh, tb, rule)) {
net/core/fib_rules.c
924
err = ops->configure(rule, skb, frh, tb, extack);
net/core/filter.c
6262
struct fib_table *tb;
net/core/filter.c
6270
tb = fib_get_table(net, tbid);
net/core/filter.c
6271
if (unlikely(!tb))
net/core/filter.c
6274
err = fib_table_lookup(tb, &fl4, &res, FIB_LOOKUP_NOREF);
net/core/filter.c
6407
struct fib6_table *tb;
net/core/filter.c
6415
tb = fib6_get_table(net, tbid);
net/core/filter.c
6416
if (unlikely(!tb))
net/core/filter.c
6419
err = fib6_table_lookup(net, tb, oif, &fl6, &res, strict);
net/core/lwt_bpf.c
346
struct nlattr *tb[LWT_BPF_PROG_MAX + 1];
net/core/lwt_bpf.c
351
ret = nla_parse_nested_deprecated(tb, LWT_BPF_PROG_MAX, attr,
net/core/lwt_bpf.c
356
if (!tb[LWT_BPF_PROG_FD] || !tb[LWT_BPF_PROG_NAME])
net/core/lwt_bpf.c
359
prog->name = nla_memdup(tb[LWT_BPF_PROG_NAME], GFP_ATOMIC);
net/core/lwt_bpf.c
363
fd = nla_get_u32(tb[LWT_BPF_PROG_FD]);
net/core/lwt_bpf.c
385
struct nlattr *tb[LWT_BPF_MAX + 1];
net/core/lwt_bpf.c
393
ret = nla_parse_nested_deprecated(tb, LWT_BPF_MAX, nla, bpf_nl_policy,
net/core/lwt_bpf.c
398
if (!tb[LWT_BPF_IN] && !tb[LWT_BPF_OUT] && !tb[LWT_BPF_XMIT])
net/core/lwt_bpf.c
408
if (tb[LWT_BPF_IN]) {
net/core/lwt_bpf.c
410
ret = bpf_parse_prog(tb[LWT_BPF_IN], &bpf->in,
net/core/lwt_bpf.c
416
if (tb[LWT_BPF_OUT]) {
net/core/lwt_bpf.c
418
ret = bpf_parse_prog(tb[LWT_BPF_OUT], &bpf->out,
net/core/lwt_bpf.c
424
if (tb[LWT_BPF_XMIT]) {
net/core/lwt_bpf.c
426
ret = bpf_parse_prog(tb[LWT_BPF_XMIT], &bpf->xmit,
net/core/lwt_bpf.c
432
if (tb[LWT_BPF_XMIT_HEADROOM]) {
net/core/lwt_bpf.c
433
u32 headroom = nla_get_u32(tb[LWT_BPF_XMIT_HEADROOM]);
net/core/neighbour.c
2017
struct nlattr *tb[NDA_MAX+1];
net/core/neighbour.c
2027
err = nlmsg_parse_deprecated(nlh, sizeof(*ndm), tb, NDA_MAX,
net/core/neighbour.c
2033
if (!tb[NDA_DST]) {
net/core/neighbour.c
2040
if (tb[NDA_FLAGS_EXT]) {
net/core/neighbour.c
2041
u32 ext = nla_get_u32(tb[NDA_FLAGS_EXT]);
net/core/neighbour.c
2055
if (tb[NDA_LLADDR] && nla_len(tb[NDA_LLADDR]) < dev->addr_len) {
net/core/neighbour.c
2065
if (nla_len(tb[NDA_DST]) < (int)tbl->key_len) {
net/core/neighbour.c
2070
dst = nla_data(tb[NDA_DST]);
net/core/neighbour.c
2071
lladdr = tb[NDA_LLADDR] ? nla_data(tb[NDA_LLADDR]) : NULL;
net/core/neighbour.c
2073
if (tb[NDA_PROTOCOL])
net/core/neighbour.c
2074
protocol = nla_get_u8(tb[NDA_PROTOCOL]);
net/core/neighbour.c
2385
struct nlattr *tb[NDTA_MAX + 1];
net/core/neighbour.c
2391
err = nlmsg_parse_deprecated(nlh, sizeof(*ndtmsg), tb, NDTA_MAX,
net/core/neighbour.c
2396
if (tb[NDTA_NAME] == NULL) {
net/core/neighbour.c
2413
if (nla_strcmp(tb[NDTA_NAME], tbl->id) == 0) {
net/core/neighbour.c
2431
if (tb[NDTA_PARMS]) {
net/core/neighbour.c
2437
tb[NDTA_PARMS],
net/core/neighbour.c
2528
if ((tb[NDTA_THRESH1] || tb[NDTA_THRESH2] ||
net/core/neighbour.c
2529
tb[NDTA_THRESH3] || tb[NDTA_GC_INTERVAL]) &&
net/core/neighbour.c
2533
if (tb[NDTA_THRESH1])
net/core/neighbour.c
2534
WRITE_ONCE(tbl->gc_thresh1, nla_get_u32(tb[NDTA_THRESH1]));
net/core/neighbour.c
2536
if (tb[NDTA_THRESH2])
net/core/neighbour.c
2537
WRITE_ONCE(tbl->gc_thresh2, nla_get_u32(tb[NDTA_THRESH2]));
net/core/neighbour.c
2539
if (tb[NDTA_THRESH3])
net/core/neighbour.c
2540
WRITE_ONCE(tbl->gc_thresh3, nla_get_u32(tb[NDTA_THRESH3]));
net/core/neighbour.c
2542
if (tb[NDTA_GC_INTERVAL])
net/core/neighbour.c
2543
WRITE_ONCE(tbl->gc_interval, nla_get_msecs(tb[NDTA_GC_INTERVAL]));
net/core/neighbour.c
2878
struct nlattr *tb[NDA_MAX + 1];
net/core/neighbour.c
2902
tb, NDA_MAX, nda_policy,
net/core/neighbour.c
2905
err = nlmsg_parse_deprecated(nlh, sizeof(struct ndmsg), tb,
net/core/neighbour.c
2912
if (!tb[i])
net/core/neighbour.c
2918
filter->dev_idx = nla_get_u32(tb[i]);
net/core/neighbour.c
2921
filter->master_idx = nla_get_u32(tb[i]);
net/core/neighbour.c
2984
struct nlattr **tb,
net/core/neighbour.c
3012
err = nlmsg_parse_deprecated_strict(nlh, sizeof(struct ndmsg), tb,
net/core/neighbour.c
3020
if (!tb[i]) {
net/core/neighbour.c
3026
if (!tb[i])
net/core/neighbour.c
3061
struct nlattr *tb[NDA_MAX + 1];
net/core/neighbour.c
3071
ndm = neigh_valid_get_req(nlh, tb, extack);
net/core/neighbour.c
3091
if (nla_len(tb[NDA_DST]) != (int)tbl->key_len) {
net/core/neighbour.c
3097
dst = nla_data(tb[NDA_DST]);
net/core/net_namespace.c
1000
struct nlattr *tb[NETNSA_MAX + 1];
net/core/net_namespace.c
1011
err = rtnl_net_valid_getid_req(skb, nlh, tb, extack);
net/core/net_namespace.c
1014
if (tb[NETNSA_PID]) {
net/core/net_namespace.c
1015
peer = get_net_ns_by_pid(nla_get_u32(tb[NETNSA_PID]));
net/core/net_namespace.c
1016
nla = tb[NETNSA_PID];
net/core/net_namespace.c
1017
} else if (tb[NETNSA_FD]) {
net/core/net_namespace.c
1018
peer = get_net_ns_by_fd(nla_get_u32(tb[NETNSA_FD]));
net/core/net_namespace.c
1019
nla = tb[NETNSA_FD];
net/core/net_namespace.c
1020
} else if (tb[NETNSA_NSID]) {
net/core/net_namespace.c
1021
peer = get_net_ns_by_id(net, nla_get_s32(tb[NETNSA_NSID]));
net/core/net_namespace.c
1024
nla = tb[NETNSA_NSID];
net/core/net_namespace.c
1036
if (tb[NETNSA_TARGET_NSID]) {
net/core/net_namespace.c
1037
int id = nla_get_s32(tb[NETNSA_TARGET_NSID]);
net/core/net_namespace.c
1041
NL_SET_BAD_ATTR(extack, tb[NETNSA_TARGET_NSID]);
net/core/net_namespace.c
1109
struct nlattr *tb[NETNSA_MAX + 1];
net/core/net_namespace.c
1112
err = nlmsg_parse_deprecated_strict(nlh, sizeof(struct rtgenmsg), tb,
net/core/net_namespace.c
1119
if (!tb[i])
net/core/net_namespace.c
1125
net = rtnl_get_net_ns_capable(sk, nla_get_s32(tb[i]));
net/core/net_namespace.c
1127
NL_SET_BAD_ATTR(extack, tb[i]);
net/core/net_namespace.c
1136
NL_SET_BAD_ATTR(extack, tb[i]);
net/core/net_namespace.c
856
struct nlattr *tb[NETNSA_MAX + 1];
net/core/net_namespace.c
861
err = nlmsg_parse_deprecated(nlh, sizeof(struct rtgenmsg), tb,
net/core/net_namespace.c
865
if (!tb[NETNSA_NSID]) {
net/core/net_namespace.c
869
nsid = nla_get_s32(tb[NETNSA_NSID]);
net/core/net_namespace.c
871
if (tb[NETNSA_PID]) {
net/core/net_namespace.c
872
peer = get_net_ns_by_pid(nla_get_u32(tb[NETNSA_PID]));
net/core/net_namespace.c
873
nla = tb[NETNSA_PID];
net/core/net_namespace.c
874
} else if (tb[NETNSA_FD]) {
net/core/net_namespace.c
875
peer = get_net_ns_by_fd(nla_get_u32(tb[NETNSA_FD]));
net/core/net_namespace.c
876
nla = tb[NETNSA_FD];
net/core/net_namespace.c
905
NL_SET_BAD_ATTR(extack, tb[NETNSA_NSID]);
net/core/net_namespace.c
961
struct nlattr **tb,
net/core/net_namespace.c
968
tb, NETNSA_MAX, rtnl_net_policy,
net/core/net_namespace.c
971
err = nlmsg_parse_deprecated_strict(nlh, sizeof(struct rtgenmsg), tb,
net/core/net_namespace.c
978
if (!tb[i])
net/core/netdev-genl.c
954
struct nlattr *tb[ARRAY_SIZE(netdev_queue_id_nl_policy)];
net/core/netdev-genl.c
962
err = nla_parse_nested(tb, maxtype, attr,
net/core/netdev-genl.c
967
if (NL_REQ_ATTR_CHECK(info->extack, attr, tb, NETDEV_A_QUEUE_ID) ||
net/core/netdev-genl.c
968
NL_REQ_ATTR_CHECK(info->extack, attr, tb, NETDEV_A_QUEUE_TYPE))
net/core/netdev-genl.c
971
if (nla_get_u32(tb[NETDEV_A_QUEUE_TYPE]) != NETDEV_QUEUE_TYPE_RX) {
net/core/netdev-genl.c
972
NL_SET_BAD_ATTR(info->extack, tb[NETDEV_A_QUEUE_TYPE]);
net/core/netdev-genl.c
976
rxq_idx = nla_get_u32(tb[NETDEV_A_QUEUE_ID]);
net/core/netdev-genl.c
978
NL_SET_BAD_ATTR(info->extack, tb[NETDEV_A_QUEUE_ID]);
net/core/page_pool_user.c
189
struct nlattr *tb[ARRAY_SIZE(netdev_page_pool_info_nl_policy)];
net/core/page_pool_user.c
198
err = nla_parse_nested(tb, ARRAY_SIZE(tb) - 1, nest,
net/core/page_pool_user.c
204
if (NL_REQ_ATTR_CHECK(info->extack, nest, tb, NETDEV_A_PAGE_POOL_ID))
net/core/page_pool_user.c
206
if (tb[NETDEV_A_PAGE_POOL_IFINDEX]) {
net/core/page_pool_user.c
208
tb[NETDEV_A_PAGE_POOL_IFINDEX],
net/core/page_pool_user.c
213
id = nla_get_uint(tb[NETDEV_A_PAGE_POOL_ID]);
net/core/page_pool_user.c
232
struct nlattr *tb[ARRAY_SIZE(page_pool_stat_info_policy)];
net/core/page_pool_user.c
241
err = nla_parse_nested(tb, ARRAY_SIZE(tb) - 1, nest,
net/core/page_pool_user.c
247
ifindex_attr = tb[NETDEV_A_PAGE_POOL_IFINDEX];
net/core/rtnetlink.c
2450
bool strict_check, struct nlattr **tb,
net/core/rtnetlink.c
2474
return nlmsg_parse_deprecated_strict(nlh, sizeof(*ifm), tb,
net/core/rtnetlink.c
2489
return nlmsg_parse_deprecated(nlh, hdrlen, tb, IFLA_MAX, ifla_policy,
net/core/rtnetlink.c
2500
struct nlattr *tb[IFLA_MAX+1];
net/core/rtnetlink.c
2513
err = rtnl_valid_dump_ifinfo_req(nlh, cb->strict_check, tb, extack);
net/core/rtnetlink.c
2522
if (!tb[i])
net/core/rtnetlink.c
2528
netnsid = nla_get_s32(tb[i]);
net/core/rtnetlink.c
2538
ext_filter_mask = nla_get_u32(tb[i]);
net/core/rtnetlink.c
2541
master_idx = nla_get_u32(tb[i]);
net/core/rtnetlink.c
2544
kind_ops = linkinfo_to_kind_ops(tb[i], &ops_srcu_index);
net/core/rtnetlink.c
2594
int rtnl_nla_parse_ifinfomsg(struct nlattr **tb, const struct nlattr *nla_peer,
net/core/rtnetlink.c
2611
return nla_parse_deprecated(tb, IFLA_MAX, attrs, len, ifla_policy,
net/core/rtnetlink.c
2616
static struct net *rtnl_link_get_net_ifla(struct nlattr *tb[])
net/core/rtnetlink.c
2623
if (tb[IFLA_NET_NS_PID])
net/core/rtnetlink.c
2624
net = get_net_ns_by_pid(nla_get_u32(tb[IFLA_NET_NS_PID]));
net/core/rtnetlink.c
2625
else if (tb[IFLA_NET_NS_FD])
net/core/rtnetlink.c
2626
net = get_net_ns_by_fd(nla_get_u32(tb[IFLA_NET_NS_FD]));
net/core/rtnetlink.c
2631
struct net *rtnl_link_get_net(struct net *src_net, struct nlattr *tb[])
net/core/rtnetlink.c
2633
struct net *net = rtnl_link_get_net_ifla(tb);
net/core/rtnetlink.c
2650
struct nlattr *tb[])
net/core/rtnetlink.c
2654
if (tb[IFLA_NET_NS_PID] || tb[IFLA_NET_NS_FD])
net/core/rtnetlink.c
2655
return rtnl_link_get_net(src_net, tb);
net/core/rtnetlink.c
2657
if (!tb[IFLA_TARGET_NETNSID])
net/core/rtnetlink.c
2660
net = get_net_ns_by_id(src_net, nla_get_u32(tb[IFLA_TARGET_NETNSID]));
net/core/rtnetlink.c
2669
struct nlattr *tb[], int cap)
net/core/rtnetlink.c
2673
net = rtnl_link_get_net_by_nlattr(src_net, tb);
net/core/rtnetlink.c
2688
static int rtnl_ensure_unique_netns(struct nlattr *tb[],
net/core/rtnetlink.c
2694
if (!tb[IFLA_NET_NS_PID] && !tb[IFLA_NET_NS_FD])
net/core/rtnetlink.c
2701
if (tb[IFLA_TARGET_NETNSID] && (tb[IFLA_NET_NS_PID] || tb[IFLA_NET_NS_FD]))
net/core/rtnetlink.c
2704
if (tb[IFLA_NET_NS_PID] && (tb[IFLA_TARGET_NETNSID] || tb[IFLA_NET_NS_FD]))
net/core/rtnetlink.c
2707
if (tb[IFLA_NET_NS_FD] && (tb[IFLA_TARGET_NETNSID] || tb[IFLA_NET_NS_PID]))
net/core/rtnetlink.c
2730
static int validate_linkmsg(struct net_device *dev, struct nlattr *tb[],
net/core/rtnetlink.c
2733
if (tb[IFLA_ADDRESS] &&
net/core/rtnetlink.c
2734
nla_len(tb[IFLA_ADDRESS]) < dev->addr_len)
net/core/rtnetlink.c
2737
if (tb[IFLA_BROADCAST] &&
net/core/rtnetlink.c
2738
nla_len(tb[IFLA_BROADCAST]) < dev->addr_len)
net/core/rtnetlink.c
2741
if (tb[IFLA_GSO_MAX_SIZE] &&
net/core/rtnetlink.c
2742
nla_get_u32(tb[IFLA_GSO_MAX_SIZE]) > dev->tso_max_size) {
net/core/rtnetlink.c
2747
if (tb[IFLA_GSO_MAX_SEGS] &&
net/core/rtnetlink.c
2748
(nla_get_u32(tb[IFLA_GSO_MAX_SEGS]) > GSO_MAX_SEGS ||
net/core/rtnetlink.c
2749
nla_get_u32(tb[IFLA_GSO_MAX_SEGS]) > dev->tso_max_segs)) {
net/core/rtnetlink.c
2754
if (tb[IFLA_GRO_MAX_SIZE] &&
net/core/rtnetlink.c
2755
nla_get_u32(tb[IFLA_GRO_MAX_SIZE]) > GRO_MAX_SIZE) {
net/core/rtnetlink.c
2760
if (tb[IFLA_GSO_IPV4_MAX_SIZE] &&
net/core/rtnetlink.c
2761
nla_get_u32(tb[IFLA_GSO_IPV4_MAX_SIZE]) > dev->tso_max_size) {
net/core/rtnetlink.c
2766
if (tb[IFLA_GRO_IPV4_MAX_SIZE] &&
net/core/rtnetlink.c
2767
nla_get_u32(tb[IFLA_GRO_IPV4_MAX_SIZE]) > GRO_MAX_SIZE) {
net/core/rtnetlink.c
2772
if (tb[IFLA_AF_SPEC]) {
net/core/rtnetlink.c
2776
nla_for_each_nested(af, tb[IFLA_AF_SPEC], rem) {
net/core/rtnetlink.c
2817
static int do_setvfinfo(struct net_device *dev, struct nlattr **tb)
net/core/rtnetlink.c
2822
if (tb[IFLA_VF_MAC]) {
net/core/rtnetlink.c
2823
struct ifla_vf_mac *ivm = nla_data(tb[IFLA_VF_MAC]);
net/core/rtnetlink.c
2835
if (tb[IFLA_VF_VLAN]) {
net/core/rtnetlink.c
2836
struct ifla_vf_vlan *ivv = nla_data(tb[IFLA_VF_VLAN]);
net/core/rtnetlink.c
2849
if (tb[IFLA_VF_VLAN_LIST]) {
net/core/rtnetlink.c
2858
nla_for_each_nested(attr, tb[IFLA_VF_VLAN_LIST], rem) {
net/core/rtnetlink.c
2880
if (tb[IFLA_VF_TX_RATE]) {
net/core/rtnetlink.c
2881
struct ifla_vf_tx_rate *ivt = nla_data(tb[IFLA_VF_TX_RATE]);
net/core/rtnetlink.c
2898
if (tb[IFLA_VF_RATE]) {
net/core/rtnetlink.c
2899
struct ifla_vf_rate *ivt = nla_data(tb[IFLA_VF_RATE]);
net/core/rtnetlink.c
2910
if (tb[IFLA_VF_SPOOFCHK]) {
net/core/rtnetlink.c
2911
struct ifla_vf_spoofchk *ivs = nla_data(tb[IFLA_VF_SPOOFCHK]);
net/core/rtnetlink.c
2923
if (tb[IFLA_VF_LINK_STATE]) {
net/core/rtnetlink.c
2924
struct ifla_vf_link_state *ivl = nla_data(tb[IFLA_VF_LINK_STATE]);
net/core/rtnetlink.c
2936
if (tb[IFLA_VF_RSS_QUERY_EN]) {
net/core/rtnetlink.c
2940
ivrssq_en = nla_data(tb[IFLA_VF_RSS_QUERY_EN]);
net/core/rtnetlink.c
2950
if (tb[IFLA_VF_TRUST]) {
net/core/rtnetlink.c
2951
struct ifla_vf_trust *ivt = nla_data(tb[IFLA_VF_TRUST]);
net/core/rtnetlink.c
2962
if (tb[IFLA_VF_IB_NODE_GUID]) {
net/core/rtnetlink.c
2963
struct ifla_vf_guid *ivt = nla_data(tb[IFLA_VF_IB_NODE_GUID]);
net/core/rtnetlink.c
2972
if (tb[IFLA_VF_IB_PORT_GUID]) {
net/core/rtnetlink.c
2973
struct ifla_vf_guid *ivt = nla_data(tb[IFLA_VF_IB_PORT_GUID]);
net/core/rtnetlink.c
3096
struct nlattr **tb, int status)
net/core/rtnetlink.c
3102
err = validate_linkmsg(dev, tb, extack);
net/core/rtnetlink.c
3106
if (tb[IFLA_IFNAME])
net/core/rtnetlink.c
3107
nla_strscpy(ifname, tb[IFLA_IFNAME], IFNAMSIZ);
net/core/rtnetlink.c
3115
new_ifindex = nla_get_s32_default(tb[IFLA_NEW_IFINDEX], 0);
net/core/rtnetlink.c
3127
if (tb[IFLA_MAP]) {
net/core/rtnetlink.c
3141
u_map = nla_data(tb[IFLA_MAP]);
net/core/rtnetlink.c
3156
if (tb[IFLA_ADDRESS]) {
net/core/rtnetlink.c
3166
memcpy(ss.__data, nla_data(tb[IFLA_ADDRESS]), dev->addr_len);
net/core/rtnetlink.c
3177
if (tb[IFLA_MTU]) {
net/core/rtnetlink.c
3178
err = netif_set_mtu_ext(dev, nla_get_u32(tb[IFLA_MTU]), extack);
net/core/rtnetlink.c
3184
if (tb[IFLA_GROUP]) {
net/core/rtnetlink.c
3185
netif_set_group(dev, nla_get_u32(tb[IFLA_GROUP]));
net/core/rtnetlink.c
3201
if (tb[IFLA_IFALIAS]) {
net/core/rtnetlink.c
3202
err = netif_set_alias(dev, nla_data(tb[IFLA_IFALIAS]),
net/core/rtnetlink.c
3203
nla_len(tb[IFLA_IFALIAS]));
net/core/rtnetlink.c
3209
if (tb[IFLA_BROADCAST]) {
net/core/rtnetlink.c
3210
nla_memcpy(dev->broadcast, tb[IFLA_BROADCAST], dev->addr_len);
net/core/rtnetlink.c
3221
if (tb[IFLA_MASTER]) {
net/core/rtnetlink.c
3222
err = do_set_master(dev, nla_get_u32(tb[IFLA_MASTER]), extack);
net/core/rtnetlink.c
3228
if (tb[IFLA_CARRIER]) {
net/core/rtnetlink.c
3229
err = netif_change_carrier(dev, nla_get_u8(tb[IFLA_CARRIER]));
net/core/rtnetlink.c
3235
if (tb[IFLA_TXQLEN]) {
net/core/rtnetlink.c
3236
unsigned int value = nla_get_u32(tb[IFLA_TXQLEN]);
net/core/rtnetlink.c
3244
if (tb[IFLA_GSO_MAX_SIZE]) {
net/core/rtnetlink.c
3245
u32 max_size = nla_get_u32(tb[IFLA_GSO_MAX_SIZE]);
net/core/rtnetlink.c
3253
if (tb[IFLA_GSO_MAX_SEGS]) {
net/core/rtnetlink.c
3254
u32 max_segs = nla_get_u32(tb[IFLA_GSO_MAX_SEGS]);
net/core/rtnetlink.c
3262
if (tb[IFLA_GRO_MAX_SIZE]) {
net/core/rtnetlink.c
3263
u32 gro_max_size = nla_get_u32(tb[IFLA_GRO_MAX_SIZE]);
net/core/rtnetlink.c
3271
if (tb[IFLA_GSO_IPV4_MAX_SIZE]) {
net/core/rtnetlink.c
3272
u32 max_size = nla_get_u32(tb[IFLA_GSO_IPV4_MAX_SIZE]);
net/core/rtnetlink.c
3280
if (tb[IFLA_GRO_IPV4_MAX_SIZE]) {
net/core/rtnetlink.c
3281
u32 gro_max_size = nla_get_u32(tb[IFLA_GRO_IPV4_MAX_SIZE]);
net/core/rtnetlink.c
3289
if (tb[IFLA_OPERSTATE])
net/core/rtnetlink.c
3290
set_operstate(dev, nla_get_u8(tb[IFLA_OPERSTATE]));
net/core/rtnetlink.c
3292
if (tb[IFLA_LINKMODE]) {
net/core/rtnetlink.c
3293
unsigned char value = nla_get_u8(tb[IFLA_LINKMODE]);
net/core/rtnetlink.c
3300
if (tb[IFLA_VFINFO_LIST]) {
net/core/rtnetlink.c
3305
nla_for_each_nested(attr, tb[IFLA_VFINFO_LIST], rem) {
net/core/rtnetlink.c
3325
if (tb[IFLA_VF_PORTS]) {
net/core/rtnetlink.c
3335
nla_for_each_nested(attr, tb[IFLA_VF_PORTS], rem) {
net/core/rtnetlink.c
3360
if (tb[IFLA_PORT_SELF]) {
net/core/rtnetlink.c
3364
tb[IFLA_PORT_SELF],
net/core/rtnetlink.c
3377
if (tb[IFLA_AF_SPEC]) {
net/core/rtnetlink.c
3381
nla_for_each_nested(af, tb[IFLA_AF_SPEC], rem) {
net/core/rtnetlink.c
3402
if (tb[IFLA_PROTO_DOWN] || tb[IFLA_PROTO_DOWN_REASON]) {
net/core/rtnetlink.c
3403
err = do_set_proto_down(dev, tb[IFLA_PROTO_DOWN],
net/core/rtnetlink.c
3404
tb[IFLA_PROTO_DOWN_REASON], extack);
net/core/rtnetlink.c
3410
if (tb[IFLA_XDP]) {
net/core/rtnetlink.c
3415
tb[IFLA_XDP],
net/core/rtnetlink.c
3476
struct nlattr *tb[])
net/core/rtnetlink.c
3480
if (tb[IFLA_IFNAME])
net/core/rtnetlink.c
3481
nla_strscpy(ifname, tb[IFLA_IFNAME], IFNAMSIZ);
net/core/rtnetlink.c
3482
else if (tb[IFLA_ALT_IFNAME])
net/core/rtnetlink.c
3483
nla_strscpy(ifname, tb[IFLA_ALT_IFNAME], ALTIFNAMSIZ);
net/core/rtnetlink.c
3491
struct nlattr *tb[])
net/core/rtnetlink.c
3495
if (tb[IFLA_IFNAME])
net/core/rtnetlink.c
3496
nla_strscpy(ifname, tb[IFLA_IFNAME], IFNAMSIZ);
net/core/rtnetlink.c
3497
else if (tb[IFLA_ALT_IFNAME])
net/core/rtnetlink.c
3498
nla_strscpy(ifname, tb[IFLA_ALT_IFNAME], ALTIFNAMSIZ);
net/core/rtnetlink.c
3510
struct nlattr *tb[IFLA_MAX+1];
net/core/rtnetlink.c
3516
err = nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFLA_MAX,
net/core/rtnetlink.c
3521
err = rtnl_ensure_unique_netns(tb, extack, false);
net/core/rtnetlink.c
3525
tgt_net = rtnl_link_get_net_capable(skb, net, tb, CAP_NET_ADMIN);
net/core/rtnetlink.c
3539
else if (tb[IFLA_IFNAME] || tb[IFLA_ALT_IFNAME])
net/core/rtnetlink.c
3540
dev = rtnl_dev_get(net, tb);
net/core/rtnetlink.c
3545
err = do_setlink(skb, dev, tgt_net, ifm, extack, tb, 0);
net/core/rtnetlink.c
3613
struct nlattr *tb[IFLA_MAX+1];
net/core/rtnetlink.c
3619
err = nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFLA_MAX,
net/core/rtnetlink.c
3624
err = rtnl_ensure_unique_netns(tb, extack, true);
net/core/rtnetlink.c
3628
if (tb[IFLA_TARGET_NETNSID]) {
net/core/rtnetlink.c
3629
netnsid = nla_get_s32(tb[IFLA_TARGET_NETNSID]);
net/core/rtnetlink.c
3639
else if (tb[IFLA_IFNAME] || tb[IFLA_ALT_IFNAME])
net/core/rtnetlink.c
3640
dev = rtnl_dev_get(tgt_net, tb);
net/core/rtnetlink.c
3644
else if (ifm->ifi_index > 0 || tb[IFLA_IFNAME] || tb[IFLA_ALT_IFNAME])
net/core/rtnetlink.c
3646
else if (tb[IFLA_GROUP])
net/core/rtnetlink.c
3647
err = rtnl_group_dellink(tgt_net, nla_get_u32(tb[IFLA_GROUP]));
net/core/rtnetlink.c
3687
struct nlattr *tb[],
net/core/rtnetlink.c
3695
if (tb[IFLA_NUM_TX_QUEUES])
net/core/rtnetlink.c
3696
num_tx_queues = nla_get_u32(tb[IFLA_NUM_TX_QUEUES]);
net/core/rtnetlink.c
3700
if (tb[IFLA_NUM_RX_QUEUES])
net/core/rtnetlink.c
3701
num_rx_queues = nla_get_u32(tb[IFLA_NUM_RX_QUEUES]);
net/core/rtnetlink.c
3716
dev = ops->alloc(tb, ifname, name_assign_type,
net/core/rtnetlink.c
3729
err = validate_linkmsg(dev, tb, extack);
net/core/rtnetlink.c
3739
if (tb[IFLA_MTU]) {
net/core/rtnetlink.c
3740
u32 mtu = nla_get_u32(tb[IFLA_MTU]);
net/core/rtnetlink.c
3749
if (tb[IFLA_ADDRESS]) {
net/core/rtnetlink.c
3750
__dev_addr_set(dev, nla_data(tb[IFLA_ADDRESS]),
net/core/rtnetlink.c
3751
nla_len(tb[IFLA_ADDRESS]));
net/core/rtnetlink.c
3754
if (tb[IFLA_BROADCAST])
net/core/rtnetlink.c
3755
memcpy(dev->broadcast, nla_data(tb[IFLA_BROADCAST]),
net/core/rtnetlink.c
3756
nla_len(tb[IFLA_BROADCAST]));
net/core/rtnetlink.c
3757
if (tb[IFLA_TXQLEN])
net/core/rtnetlink.c
3758
dev->tx_queue_len = nla_get_u32(tb[IFLA_TXQLEN]);
net/core/rtnetlink.c
3759
if (tb[IFLA_OPERSTATE])
net/core/rtnetlink.c
3760
set_operstate(dev, nla_get_u8(tb[IFLA_OPERSTATE]));
net/core/rtnetlink.c
3761
if (tb[IFLA_LINKMODE])
net/core/rtnetlink.c
3762
dev->link_mode = nla_get_u8(tb[IFLA_LINKMODE]);
net/core/rtnetlink.c
3763
if (tb[IFLA_GROUP])
net/core/rtnetlink.c
3764
netif_set_group(dev, nla_get_u32(tb[IFLA_GROUP]));
net/core/rtnetlink.c
3765
if (tb[IFLA_GSO_MAX_SIZE])
net/core/rtnetlink.c
3766
netif_set_gso_max_size(dev, nla_get_u32(tb[IFLA_GSO_MAX_SIZE]));
net/core/rtnetlink.c
3767
if (tb[IFLA_GSO_MAX_SEGS])
net/core/rtnetlink.c
3768
netif_set_gso_max_segs(dev, nla_get_u32(tb[IFLA_GSO_MAX_SEGS]));
net/core/rtnetlink.c
3769
if (tb[IFLA_GRO_MAX_SIZE])
net/core/rtnetlink.c
3770
netif_set_gro_max_size(dev, nla_get_u32(tb[IFLA_GRO_MAX_SIZE]));
net/core/rtnetlink.c
3771
if (tb[IFLA_GSO_IPV4_MAX_SIZE])
net/core/rtnetlink.c
3772
netif_set_gso_ipv4_max_size(dev, nla_get_u32(tb[IFLA_GSO_IPV4_MAX_SIZE]));
net/core/rtnetlink.c
3773
if (tb[IFLA_GRO_IPV4_MAX_SIZE])
net/core/rtnetlink.c
3774
netif_set_gro_ipv4_max_size(dev, nla_get_u32(tb[IFLA_GRO_IPV4_MAX_SIZE]));
net/core/rtnetlink.c
3781
struct nlattr *tb[IFLA_MAX + 1];
net/core/rtnetlink.c
3795
struct nlattr ** const tb = tbs->tb;
net/core/rtnetlink.c
3809
err = ops->changelink(dev, tb, data, extack);
net/core/rtnetlink.c
3842
err = m_ops->slave_changelink(master_dev, dev, tb, slave_data, extack);
net/core/rtnetlink.c
3849
return do_setlink(skb, dev, tgt_net, nlmsg_data(nlh), extack, tb, status);
net/core/rtnetlink.c
3856
struct nlattr **tb)
net/core/rtnetlink.c
3863
err = do_setlink(skb, dev, tgt_net, ifm, extack, tb, 0);
net/core/rtnetlink.c
3877
struct nlattr **tb, struct nlattr **data,
net/core/rtnetlink.c
3885
.tb = tb,
net/core/rtnetlink.c
3896
if (tb[IFLA_IFNAME]) {
net/core/rtnetlink.c
3897
nla_strscpy(ifname, tb[IFLA_IFNAME], IFNAMSIZ);
net/core/rtnetlink.c
3903
dev = rtnl_create_link(tgt_net, ifname, name_assign_type, ops, tb,
net/core/rtnetlink.c
3926
if (tb[IFLA_MASTER]) {
net/core/rtnetlink.c
3927
err = do_set_master(dev, nla_get_u32(tb[IFLA_MASTER]), extack);
net/core/rtnetlink.c
3954
struct nlattr *tb[IFLA_MAX + 1], **attrs;
net/core/rtnetlink.c
3961
err = rtnl_nla_parse_ifinfomsg(tb, data[ops->peer_type], extack);
net/core/rtnetlink.c
3966
err = ops->validate(tb, NULL, extack);
net/core/rtnetlink.c
3971
attrs = tb;
net/core/rtnetlink.c
3994
struct nlattr ** const tb = tbs->tb;
net/core/rtnetlink.c
4013
} else if (tb[IFLA_IFNAME] || tb[IFLA_ALT_IFNAME]) {
net/core/rtnetlink.c
4015
dev = rtnl_dev_get(device_net, tb);
net/core/rtnetlink.c
4028
if (link_specified || !tb[IFLA_GROUP])
net/core/rtnetlink.c
4032
nla_get_u32(tb[IFLA_GROUP]),
net/core/rtnetlink.c
4033
ifm, extack, tb);
net/core/rtnetlink.c
4036
if (tb[IFLA_MAP] || tb[IFLA_PROTINFO])
net/core/rtnetlink.c
4045
tb, data, extack);
net/core/rtnetlink.c
4052
struct nlattr **tb, **linkinfo, **data = NULL;
net/core/rtnetlink.c
4063
tb = tbs->tb;
net/core/rtnetlink.c
4064
ret = nlmsg_parse_deprecated(nlh, sizeof(struct ifinfomsg), tb,
net/core/rtnetlink.c
4069
ret = rtnl_ensure_unique_netns(tb, extack, false);
net/core/rtnetlink.c
4074
if (tb[IFLA_LINKINFO]) {
net/core/rtnetlink.c
4076
tb[IFLA_LINKINFO],
net/core/rtnetlink.c
4116
ret = ops->validate(tb, data, extack);
net/core/rtnetlink.c
4122
peer_net = rtnl_get_peer_net(skb, ops, tb, data, extack);
net/core/rtnetlink.c
4132
tgt_net = rtnl_link_get_net_capable(skb, sock_net(skb->sk), tb, CAP_NET_ADMIN);
net/core/rtnetlink.c
4140
if (tb[IFLA_LINK_NETNSID]) {
net/core/rtnetlink.c
4141
int id = nla_get_s32(tb[IFLA_LINK_NETNSID]);
net/core/rtnetlink.c
4174
struct nlattr **tb,
net/core/rtnetlink.c
4187
return nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFLA_MAX,
net/core/rtnetlink.c
4196
err = nlmsg_parse_deprecated_strict(nlh, sizeof(*ifm), tb, IFLA_MAX,
net/core/rtnetlink.c
4202
if (!tb[i])
net/core/rtnetlink.c
4224
struct nlattr *tb[IFLA_MAX + 1];
net/core/rtnetlink.c
4235
err = rtnl_valid_getlink_req(skb, nlh, tb, extack);
net/core/rtnetlink.c
4239
err = rtnl_ensure_unique_netns(tb, extack, true);
net/core/rtnetlink.c
4243
if (tb[IFLA_TARGET_NETNSID]) {
net/core/rtnetlink.c
4244
netnsid = nla_get_s32(tb[IFLA_TARGET_NETNSID]);
net/core/rtnetlink.c
4250
if (tb[IFLA_EXT_MASK])
net/core/rtnetlink.c
4251
ext_filter_mask = nla_get_u32(tb[IFLA_EXT_MASK]);
net/core/rtnetlink.c
4257
} else if (tb[IFLA_IFNAME] || tb[IFLA_ALT_IFNAME]) {
net/core/rtnetlink.c
4258
dev = rtnl_dev_get_rcu(tgt_net, tb);
net/core/rtnetlink.c
4370
struct nlattr *tb[IFLA_MAX + 1];
net/core/rtnetlink.c
4377
err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFLA_MAX, ifla_policy, extack);
net/core/rtnetlink.c
4381
err = rtnl_ensure_unique_netns(tb, extack, true);
net/core/rtnetlink.c
4388
else if (tb[IFLA_IFNAME] || tb[IFLA_ALT_IFNAME])
net/core/rtnetlink.c
4389
dev = rtnl_dev_get(net, tb);
net/core/rtnetlink.c
4396
if (!tb[IFLA_PROP_LIST])
net/core/rtnetlink.c
4399
nla_for_each_nested(attr, tb[IFLA_PROP_LIST], rem) {
net/core/rtnetlink.c
4658
struct nlattr *tb[],
net/core/rtnetlink.c
4673
if (tb[NDA_FLAGS_EXT]) {
net/core/rtnetlink.c
4723
struct nlattr *tb[NDA_MAX+1];
net/core/rtnetlink.c
4729
err = nlmsg_parse_deprecated(nlh, sizeof(*ndm), tb, NDA_MAX, NULL,
net/core/rtnetlink.c
4746
if (!tb[NDA_LLADDR] || nla_len(tb[NDA_LLADDR]) != ETH_ALEN) {
net/core/rtnetlink.c
4756
addr = nla_data(tb[NDA_LLADDR]);
net/core/rtnetlink.c
4758
err = fdb_vid_parse(tb[NDA_VLAN], &vid, extack);
net/core/rtnetlink.c
4771
err = ops->ndo_fdb_add(ndm, tb, dev, addr, vid,
net/core/rtnetlink.c
4784
err = dev->netdev_ops->ndo_fdb_add(ndm, tb, dev, addr,
net/core/rtnetlink.c
4789
err = ndo_dflt_fdb_add(ndm, tb, dev, addr, vid,
net/core/rtnetlink.c
4806
struct nlattr *tb[],
net/core/rtnetlink.c
4836
struct nlattr *tb[NDA_MAX+1];
net/core/rtnetlink.c
4843
err = nlmsg_parse_deprecated(nlh, sizeof(*ndm), tb, NDA_MAX,
net/core/rtnetlink.c
4849
err = nlmsg_parse(nlh, sizeof(*ndm), tb, NDA_MAX, NULL, extack);
net/core/rtnetlink.c
4867
if (!tb[NDA_LLADDR] || nla_len(tb[NDA_LLADDR]) != ETH_ALEN) {
net/core/rtnetlink.c
4871
addr = nla_data(tb[NDA_LLADDR]);
net/core/rtnetlink.c
4873
err = fdb_vid_parse(tb[NDA_VLAN], &vid, extack);
net/core/rtnetlink.c
4894
err = ops->ndo_fdb_del(ndm, tb, dev, addr, vid,
net/core/rtnetlink.c
4914
err = ops->ndo_fdb_del(ndm, tb, dev, addr, vid,
net/core/rtnetlink.c
4917
err = ndo_dflt_fdb_del(ndm, tb, dev, addr, vid);
net/core/rtnetlink.c
5003
struct nlattr *tb[NDA_MAX + 1];
net/core/rtnetlink.c
5019
err = nlmsg_parse_deprecated_strict(nlh, sizeof(struct ndmsg), tb,
net/core/rtnetlink.c
5026
if (!tb[i])
net/core/rtnetlink.c
5031
if (nla_len(tb[i]) != sizeof(u32)) {
net/core/rtnetlink.c
5035
*brport_idx = nla_get_u32(tb[NDA_IFINDEX]);
net/core/rtnetlink.c
5038
if (nla_len(tb[i]) != sizeof(u32)) {
net/core/rtnetlink.c
5042
*br_idx = nla_get_u32(tb[NDA_MASTER]);
net/core/rtnetlink.c
5057
struct nlattr *tb[IFLA_MAX+1];
net/core/rtnetlink.c
5073
tb, IFLA_MAX, ifla_policy,
net/core/rtnetlink.c
5078
if (tb[IFLA_MASTER])
net/core/rtnetlink.c
5079
*br_idx = nla_get_u32(tb[IFLA_MASTER]);
net/core/rtnetlink.c
5168
struct nlattr **tb, u8 *ndm_flags,
net/core/rtnetlink.c
5192
err = nlmsg_parse_deprecated_strict(nlh, sizeof(struct ndmsg), tb,
net/core/rtnetlink.c
5200
if (!tb[i])
net/core/rtnetlink.c
5205
*br_idx = nla_get_u32(tb[i]);
net/core/rtnetlink.c
5208
if (nla_len(tb[i]) != ETH_ALEN) {
net/core/rtnetlink.c
5212
*addr = nla_data(tb[i]);
net/core/rtnetlink.c
5215
err = fdb_vid_parse(tb[i], vid, extack);
net/core/rtnetlink.c
5236
struct nlattr *tb[NDA_MAX + 1];
net/core/rtnetlink.c
5245
err = valid_fdb_get_strict(nlh, tb, &ndm_flags, &br_idx,
net/core/rtnetlink.c
5314
err = ops->ndo_fdb_get(skb, tb, dev, addr, vid,
net/core/rtnetlink.c
5441
struct nlattr *tb[IFLA_MAX+1];
net/core/rtnetlink.c
5461
tb, IFLA_MAX, ifla_policy,
net/core/rtnetlink.c
5465
tb, IFLA_MAX, ifla_policy,
net/core/rtnetlink.c
5473
if (!tb[i])
net/core/rtnetlink.c
5478
*filter_mask = nla_get_u32(tb[i]);
net/core/rtnetlink.c
6289
struct nlattr *tb[IFLA_STATS_MAX + 1];
net/core/rtnetlink.c
6293
err = nla_parse_nested(tb, IFLA_STATS_MAX, ifla_filters,
net/core/rtnetlink.c
6299
if (tb[at]) {
net/core/rtnetlink.c
6304
filters->mask[at] = nla_get_u32(tb[at]);
net/core/rtnetlink.c
6316
struct nlattr *tb[IFLA_STATS_GETSET_MAX + 1];
net/core/rtnetlink.c
6324
err = nlmsg_parse(nlh, sizeof(struct if_stats_msg), tb,
net/core/rtnetlink.c
6329
if (tb[IFLA_STATS_GET_FILTERS]) {
net/core/rtnetlink.c
6330
err = rtnl_stats_get_parse_filters(tb[IFLA_STATS_GET_FILTERS],
net/core/rtnetlink.c
6515
struct nlattr *tb[IFLA_STATS_GETSET_MAX + 1];
net/core/rtnetlink.c
6546
err = nlmsg_parse(nlh, sizeof(*ifsm), tb, IFLA_STATS_GETSET_MAX,
net/core/rtnetlink.c
6551
if (tb[IFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS]) {
net/core/rtnetlink.c
6552
u8 req = nla_get_u8(tb[IFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS]);
net/core/rtnetlink.c
6696
struct nlattr *tb[MDBA_GET_ENTRY_MAX + 1];
net/core/rtnetlink.c
6702
err = nlmsg_parse(nlh, sizeof(struct br_port_msg), tb,
net/core/rtnetlink.c
6719
if (NL_REQ_ATTR_CHECK(extack, NULL, tb, MDBA_GET_ENTRY)) {
net/core/rtnetlink.c
6729
return dev->netdev_ops->ndo_mdb_get(dev, tb, NETLINK_CB(in_skb).portid,
net/core/rtnetlink.c
6799
struct nlattr *tb[MDBA_SET_ENTRY_MAX + 1];
net/core/rtnetlink.c
6805
err = nlmsg_parse_deprecated(nlh, sizeof(*bpm), tb,
net/core/rtnetlink.c
6822
if (NL_REQ_ATTR_CHECK(extack, NULL, tb, MDBA_SET_ENTRY)) {
net/core/rtnetlink.c
6832
return dev->netdev_ops->ndo_mdb_add(dev, tb, nlh->nlmsg_flags, extack);
net/core/rtnetlink.c
6880
struct nlattr *tb[MDBA_SET_ENTRY_MAX + 1];
net/core/rtnetlink.c
6887
err = nlmsg_parse_deprecated(nlh, sizeof(*bpm), tb,
net/core/rtnetlink.c
6891
err = nlmsg_parse(nlh, sizeof(*bpm), tb, MDBA_SET_ENTRY_MAX,
net/core/rtnetlink.c
6908
if (NL_REQ_ATTR_CHECK(extack, NULL, tb, MDBA_SET_ENTRY)) {
net/core/rtnetlink.c
6918
return dev->netdev_ops->ndo_mdb_del_bulk(dev, tb, extack);
net/core/rtnetlink.c
6926
return dev->netdev_ops->ndo_mdb_del(dev, tb, extack);
net/dcb/dcbnl.c
1560
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
1570
if (!tb[DCB_ATTR_IEEE])
net/dcb/dcbnl.c
1574
tb[DCB_ATTR_IEEE],
net/dcb/dcbnl.c
1696
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
1707
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
1716
if (!tb[DCB_ATTR_IEEE])
net/dcb/dcbnl.c
1720
tb[DCB_ATTR_IEEE],
net/dcb/dcbnl.c
1750
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
1760
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
1767
if (!tb[DCB_ATTR_DCBX])
net/dcb/dcbnl.c
1770
value = nla_get_u8(tb[DCB_ATTR_DCBX]);
net/dcb/dcbnl.c
1777
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
1787
if (!tb[DCB_ATTR_FEATCFG])
net/dcb/dcbnl.c
1791
tb[DCB_ATTR_FEATCFG],
net/dcb/dcbnl.c
1823
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
1832
if (!tb[DCB_ATTR_FEATCFG])
net/dcb/dcbnl.c
1836
tb[DCB_ATTR_FEATCFG],
net/dcb/dcbnl.c
1861
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
1916
struct nlattr *tb[DCB_ATTR_MAX + 1];
net/dcb/dcbnl.c
1926
ret = nlmsg_parse_deprecated(nlh, sizeof(*dcb), tb, DCB_ATTR_MAX,
net/dcb/dcbnl.c
1941
if (!tb[DCB_ATTR_IFNAME])
net/dcb/dcbnl.c
1944
netdev = __dev_get_by_name(net, nla_data(tb[DCB_ATTR_IFNAME]));
net/dcb/dcbnl.c
1956
ret = fn->cb(netdev, nlh, nlh->nlmsg_seq, tb, reply_skb);
net/dcb/dcbnl.c
242
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
253
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
261
if (!tb[DCB_ATTR_PFC_CFG])
net/dcb/dcbnl.c
268
tb[DCB_ATTR_PFC_CFG],
net/dcb/dcbnl.c
298
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
312
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
320
if (!tb[DCB_ATTR_CAP])
net/dcb/dcbnl.c
327
tb[DCB_ATTR_CAP], dcbnl_cap_nest,
net/dcb/dcbnl.c
357
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
365
if (!tb[DCB_ATTR_NUMTCS])
net/dcb/dcbnl.c
372
tb[DCB_ATTR_NUMTCS],
net/dcb/dcbnl.c
404
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
411
if (!tb[DCB_ATTR_NUMTCS])
net/dcb/dcbnl.c
418
tb[DCB_ATTR_NUMTCS],
net/dcb/dcbnl.c
438
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
448
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
452
if (!tb[DCB_ATTR_PFC_STATE])
net/dcb/dcbnl.c
458
value = nla_get_u8(tb[DCB_ATTR_PFC_STATE]);
net/dcb/dcbnl.c
466
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
474
if (!tb[DCB_ATTR_APP])
net/dcb/dcbnl.c
478
tb[DCB_ATTR_APP], dcbnl_app_nest,
net/dcb/dcbnl.c
536
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
543
if (!tb[DCB_ATTR_APP])
net/dcb/dcbnl.c
547
tb[DCB_ATTR_APP], dcbnl_app_nest,
net/dcb/dcbnl.c
586
struct nlattr **tb, struct sk_buff *skb, int dir)
net/dcb/dcbnl.c
596
if (!tb[DCB_ATTR_PG_CFG])
net/dcb/dcbnl.c
606
tb[DCB_ATTR_PG_CFG], dcbnl_pg_nest,
net/dcb/dcbnl.c
722
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
724
return __dcbnl_pg_getcfg(netdev, nlh, tb, skb, 0);
net/dcb/dcbnl.c
728
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
730
return __dcbnl_pg_getcfg(netdev, nlh, tb, skb, 1);
net/dcb/dcbnl.c
734
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
738
if (!tb[DCB_ATTR_STATE])
net/dcb/dcbnl.c
744
value = nla_get_u8(tb[DCB_ATTR_STATE]);
net/dcb/dcbnl.c
751
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
758
if (!tb[DCB_ATTR_PFC_CFG])
net/dcb/dcbnl.c
765
tb[DCB_ATTR_PFC_CFG],
net/dcb/dcbnl.c
782
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
786
if (!tb[DCB_ATTR_SET_ALL])
net/dcb/dcbnl.c
800
u32 seq, struct nlattr **tb, struct sk_buff *skb,
net/dcb/dcbnl.c
812
if (!tb[DCB_ATTR_PG_CFG])
net/dcb/dcbnl.c
822
tb[DCB_ATTR_PG_CFG], dcbnl_pg_nest,
net/dcb/dcbnl.c
893
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
895
return __dcbnl_pg_setcfg(netdev, nlh, seq, tb, skb, 0);
net/dcb/dcbnl.c
899
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
901
return __dcbnl_pg_setcfg(netdev, nlh, seq, tb, skb, 1);
net/dcb/dcbnl.c
905
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
915
if (!tb[DCB_ATTR_BCN])
net/dcb/dcbnl.c
923
tb[DCB_ATTR_BCN], dcbnl_bcn_nest,
net/dcb/dcbnl.c
967
u32 seq, struct nlattr **tb, struct sk_buff *skb)
net/dcb/dcbnl.c
975
if (!tb[DCB_ATTR_BCN])
net/dcb/dcbnl.c
983
tb[DCB_ATTR_BCN], dcbnl_bcn_nest,
net/devlink/dev.c
1374
struct nlattr *tb[DEVLINK_ATTR_SELFTEST_ID_MAX + 1];
net/devlink/dev.c
1390
err = nla_parse_nested(tb, DEVLINK_ATTR_SELFTEST_ID_MAX, attrs,
net/devlink/dev.c
1416
if (nla_get_flag(tb[i])) {
net/devlink/port.c
705
struct nlattr **tb,
net/devlink/port.c
711
if (tb[DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR] &&
net/devlink/port.c
713
NL_SET_ERR_MSG_ATTR(extack, tb[DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR],
net/devlink/port.c
717
if (tb[DEVLINK_PORT_FN_ATTR_STATE] && !ops->port_fn_state_set) {
net/devlink/port.c
718
NL_SET_ERR_MSG_ATTR(extack, tb[DEVLINK_PORT_FN_ATTR_STATE],
net/devlink/port.c
722
attr = tb[DEVLINK_PORT_FN_ATTR_CAPS];
net/devlink/port.c
770
if (tb[DEVLINK_PORT_FN_ATTR_MAX_IO_EQS] &&
net/devlink/port.c
772
NL_SET_ERR_MSG_ATTR(extack, tb[DEVLINK_PORT_FN_ATTR_MAX_IO_EQS],
net/devlink/port.c
783
struct nlattr *tb[DEVLINK_PORT_FUNCTION_ATTR_MAX + 1];
net/devlink/port.c
786
err = nla_parse_nested(tb, DEVLINK_PORT_FUNCTION_ATTR_MAX, attr,
net/devlink/port.c
793
err = devlink_port_function_validate(port, tb, extack);
net/devlink/port.c
797
attr = tb[DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR];
net/devlink/port.c
804
attr = tb[DEVLINK_PORT_FN_ATTR_CAPS];
net/devlink/port.c
811
attr = tb[DEVLINK_PORT_FN_ATTR_MAX_IO_EQS];
net/devlink/port.c
822
attr = tb[DEVLINK_PORT_FN_ATTR_STATE];
net/devlink/rate.c
348
struct nlattr *tb[DEVLINK_RATE_TC_ATTR_MAX + 1];
net/devlink/rate.c
352
err = nla_parse_nested(tb, DEVLINK_RATE_TC_ATTR_MAX, parent_nest,
net/devlink/rate.c
357
if (!tb[DEVLINK_RATE_TC_ATTR_INDEX]) {
net/devlink/rate.c
363
tc_index = nla_get_u8(tb[DEVLINK_RATE_TC_ATTR_INDEX]);
net/devlink/rate.c
365
if (!tb[DEVLINK_RATE_TC_ATTR_BW]) {
net/devlink/rate.c
378
tc_bw[tc_index] = nla_get_u32(tb[DEVLINK_RATE_TC_ATTR_BW]);
net/dsa/netlink.c
14
static int dsa_changelink(struct net_device *dev, struct nlattr *tb[],
net/ethtool/bitset.c
331
struct nlattr *tb[ARRAY_SIZE(bitset_policy)];
net/ethtool/bitset.c
334
ret = nla_parse_nested(tb, ARRAY_SIZE(bitset_policy) - 1, bitset,
net/ethtool/bitset.c
339
if (tb[ETHTOOL_A_BITSET_BITS]) {
net/ethtool/bitset.c
340
if (tb[ETHTOOL_A_BITSET_VALUE] || tb[ETHTOOL_A_BITSET_MASK])
net/ethtool/bitset.c
345
if (!tb[ETHTOOL_A_BITSET_SIZE] || !tb[ETHTOOL_A_BITSET_VALUE])
net/ethtool/bitset.c
383
struct nlattr *tb[ARRAY_SIZE(bit_policy)];
net/ethtool/bitset.c
386
ret = nla_parse_nested(tb, ARRAY_SIZE(bit_policy) - 1, bit_attr,
net/ethtool/bitset.c
391
if (tb[ETHTOOL_A_BITSET_BIT_INDEX]) {
net/ethtool/bitset.c
394
idx = nla_get_u32(tb[ETHTOOL_A_BITSET_BIT_INDEX]);
net/ethtool/bitset.c
397
tb[ETHTOOL_A_BITSET_BIT_INDEX],
net/ethtool/bitset.c
402
if (tb[ETHTOOL_A_BITSET_BIT_NAME] && name &&
net/ethtool/bitset.c
403
strncmp(nla_data(tb[ETHTOOL_A_BITSET_BIT_NAME]), name,
net/ethtool/bitset.c
404
nla_len(tb[ETHTOOL_A_BITSET_BIT_NAME]))) {
net/ethtool/bitset.c
409
} else if (tb[ETHTOOL_A_BITSET_BIT_NAME]) {
net/ethtool/bitset.c
411
nla_data(tb[ETHTOOL_A_BITSET_BIT_NAME]));
net/ethtool/bitset.c
414
tb[ETHTOOL_A_BITSET_BIT_NAME],
net/ethtool/bitset.c
425
*val = no_mask || tb[ETHTOOL_A_BITSET_BIT_VALUE];
net/ethtool/bitset.c
450
const struct nlattr *attr, struct nlattr **tb,
net/ethtool/bitset.c
460
if (tb[ETHTOOL_A_BITSET_VALUE]) {
net/ethtool/bitset.c
461
NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_VALUE],
net/ethtool/bitset.c
465
if (tb[ETHTOOL_A_BITSET_MASK]) {
net/ethtool/bitset.c
466
NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_MASK],
net/ethtool/bitset.c
471
no_mask = tb[ETHTOOL_A_BITSET_NOMASK];
net/ethtool/bitset.c
487
nla_for_each_nested(bit_attr, tb[ETHTOOL_A_BITSET_BITS], rem) {
net/ethtool/bitset.c
523
struct nlattr **tb,
net/ethtool/bitset.c
526
bool no_mask = tb[ETHTOOL_A_BITSET_NOMASK];
net/ethtool/bitset.c
530
if (no_mask && tb[ETHTOOL_A_BITSET_MASK]) {
net/ethtool/bitset.c
531
NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_MASK],
net/ethtool/bitset.c
535
if (!tb[ETHTOOL_A_BITSET_SIZE]) {
net/ethtool/bitset.c
540
if (!tb[ETHTOOL_A_BITSET_VALUE]) {
net/ethtool/bitset.c
545
if (!no_mask && !tb[ETHTOOL_A_BITSET_MASK]) {
net/ethtool/bitset.c
551
attr_nbits = nla_get_u32(tb[ETHTOOL_A_BITSET_SIZE]);
net/ethtool/bitset.c
553
if (nla_len(tb[ETHTOOL_A_BITSET_VALUE]) != attr_nwords * sizeof(u32)) {
net/ethtool/bitset.c
554
NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_VALUE],
net/ethtool/bitset.c
558
if (tb[ETHTOOL_A_BITSET_MASK] &&
net/ethtool/bitset.c
559
nla_len(tb[ETHTOOL_A_BITSET_MASK]) != attr_nwords * sizeof(u32)) {
net/ethtool/bitset.c
560
NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_MASK],
net/ethtool/bitset.c
567
test_attr = no_mask ? tb[ETHTOOL_A_BITSET_VALUE] :
net/ethtool/bitset.c
568
tb[ETHTOOL_A_BITSET_MASK];
net/ethtool/bitset.c
597
struct nlattr *tb[ARRAY_SIZE(bitset_policy)];
net/ethtool/bitset.c
604
ret = nla_parse_nested(tb, ARRAY_SIZE(bitset_policy) - 1, attr,
net/ethtool/bitset.c
609
if (tb[ETHTOOL_A_BITSET_BITS])
net/ethtool/bitset.c
610
return ethnl_update_bitset32_verbose(bitmap, nbits, attr, tb,
net/ethtool/bitset.c
612
ret = ethnl_compact_sanity_checks(nbits, attr, tb, extack);
net/ethtool/bitset.c
616
no_mask = tb[ETHTOOL_A_BITSET_NOMASK];
net/ethtool/bitset.c
618
nla_get_u32(tb[ETHTOOL_A_BITSET_SIZE]), nbits);
net/ethtool/bitset.c
620
nla_data(tb[ETHTOOL_A_BITSET_VALUE]),
net/ethtool/bitset.c
622
nla_data(tb[ETHTOOL_A_BITSET_MASK]),
net/ethtool/bitset.c
650
struct nlattr *tb[ARRAY_SIZE(bitset_policy)];
net/ethtool/bitset.c
658
ret = nla_parse_nested(tb, ARRAY_SIZE(bitset_policy) - 1, attr,
net/ethtool/bitset.c
662
no_mask = tb[ETHTOOL_A_BITSET_NOMASK];
net/ethtool/bitset.c
664
if (!tb[ETHTOOL_A_BITSET_BITS]) {
net/ethtool/bitset.c
667
ret = ethnl_compact_sanity_checks(nbits, attr, tb, extack);
net/ethtool/bitset.c
671
change_bits = nla_get_u32(tb[ETHTOOL_A_BITSET_SIZE]);
net/ethtool/bitset.c
674
bitmap_from_arr32(val, nla_data(tb[ETHTOOL_A_BITSET_VALUE]),
net/ethtool/bitset.c
682
nla_data(tb[ETHTOOL_A_BITSET_MASK]),
net/ethtool/bitset.c
692
if (tb[ETHTOOL_A_BITSET_VALUE]) {
net/ethtool/bitset.c
693
NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_VALUE],
net/ethtool/bitset.c
697
if (tb[ETHTOOL_A_BITSET_MASK]) {
net/ethtool/bitset.c
698
NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_BITSET_MASK],
net/ethtool/bitset.c
709
nla_for_each_nested(bit_attr, tb[ETHTOOL_A_BITSET_BITS], rem) {
net/ethtool/cabletest.c
244
struct nlattr *tb[ARRAY_SIZE(cable_test_tdr_act_cfg_policy)];
net/ethtool/cabletest.c
255
ret = nla_parse_nested(tb,
net/ethtool/cabletest.c
262
if (tb[ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST])
net/ethtool/cabletest.c
264
tb[ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST]);
net/ethtool/cabletest.c
266
if (tb[ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST])
net/ethtool/cabletest.c
267
cfg->last = nla_get_u32(tb[ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST]);
net/ethtool/cabletest.c
269
if (tb[ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP])
net/ethtool/cabletest.c
270
cfg->step = nla_get_u32(tb[ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP]);
net/ethtool/cabletest.c
272
if (tb[ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR]) {
net/ethtool/cabletest.c
273
cfg->pair = nla_get_u8(tb[ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR]);
net/ethtool/cabletest.c
277
tb[ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR],
net/ethtool/cabletest.c
285
tb[ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST],
net/ethtool/cabletest.c
292
tb[ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST],
net/ethtool/cabletest.c
304
tb[ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP],
net/ethtool/cabletest.c
311
tb[ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP],
net/ethtool/cabletest.c
323
struct nlattr **tb = info->attrs;
net/ethtool/cabletest.c
330
tb[ETHTOOL_A_CABLE_TEST_TDR_HEADER],
net/ethtool/cabletest.c
338
ret = ethnl_act_cable_test_tdr_cfg(tb[ETHTOOL_A_CABLE_TEST_TDR_CFG],
net/ethtool/cabletest.c
344
phydev = ethnl_req_get_phydev(&req_info, tb,
net/ethtool/cabletest.c
62
struct nlattr **tb = info->attrs;
net/ethtool/cabletest.c
68
tb[ETHTOOL_A_CABLE_TEST_HEADER],
net/ethtool/cabletest.c
77
phydev = ethnl_req_get_phydev(&req_info, tb,
net/ethtool/channels.c
116
struct nlattr **tb = info->attrs;
net/ethtool/channels.c
125
ethnl_update_u32(&channels.rx_count, tb[ETHTOOL_A_CHANNELS_RX_COUNT],
net/ethtool/channels.c
127
ethnl_update_u32(&channels.tx_count, tb[ETHTOOL_A_CHANNELS_TX_COUNT],
net/ethtool/channels.c
130
tb[ETHTOOL_A_CHANNELS_OTHER_COUNT], &mod);
net/ethtool/channels.c
132
tb[ETHTOOL_A_CHANNELS_COMBINED_COUNT], &mod_combined);
net/ethtool/channels.c
149
NL_SET_ERR_MSG_ATTR(info->extack, tb[err_attr],
net/ethtool/channels.c
164
NL_SET_ERR_MSG_ATTR(info->extack, tb[err_attr],
net/ethtool/coalesce.c
362
struct nlattr **tb = info->attrs;
net/ethtool/coalesce.c
378
if (tb[a] && !(supported_params & attr_to_mask(a))) {
net/ethtool/coalesce.c
379
NL_SET_ERR_MSG_ATTR(info->extack, tb[a],
net/ethtool/coalesce.c
401
struct nlattr **tb,
net/ethtool/coalesce.c
408
if (!tb[attr_type])
net/ethtool/coalesce.c
412
val = nla_get_u32(tb[attr_type]);
net/ethtool/coalesce.c
419
NL_SET_BAD_ATTR(extack, tb[attr_type]);
net/ethtool/coalesce.c
455
struct nlattr *tb[ARRAY_SIZE(coalesce_irq_moderation_policy)];
net/ethtool/coalesce.c
481
ret = nla_parse_nested(tb, len_irq_moder - 1, nest,
net/ethtool/coalesce.c
489
tb, DIM_COALESCE_USEC,
net/ethtool/coalesce.c
496
tb, DIM_COALESCE_PKTS,
net/ethtool/coalesce.c
503
tb, DIM_COALESCE_COMPS,
net/ethtool/coalesce.c
533
struct nlattr **tb = info->attrs;
net/ethtool/coalesce.c
543
tb[ETHTOOL_A_COALESCE_RX_USECS], &mod);
net/ethtool/coalesce.c
545
tb[ETHTOOL_A_COALESCE_RX_MAX_FRAMES], &mod);
net/ethtool/coalesce.c
547
tb[ETHTOOL_A_COALESCE_RX_USECS_IRQ], &mod);
net/ethtool/coalesce.c
549
tb[ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ], &mod);
net/ethtool/coalesce.c
551
tb[ETHTOOL_A_COALESCE_TX_USECS], &mod);
net/ethtool/coalesce.c
553
tb[ETHTOOL_A_COALESCE_TX_MAX_FRAMES], &mod);
net/ethtool/coalesce.c
555
tb[ETHTOOL_A_COALESCE_TX_USECS_IRQ], &mod);
net/ethtool/coalesce.c
557
tb[ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ], &mod);
net/ethtool/coalesce.c
559
tb[ETHTOOL_A_COALESCE_STATS_BLOCK_USECS], &mod);
net/ethtool/coalesce.c
561
tb[ETHTOOL_A_COALESCE_PKT_RATE_LOW], &mod);
net/ethtool/coalesce.c
563
tb[ETHTOOL_A_COALESCE_RX_USECS_LOW], &mod);
net/ethtool/coalesce.c
565
tb[ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW], &mod);
net/ethtool/coalesce.c
567
tb[ETHTOOL_A_COALESCE_TX_USECS_LOW], &mod);
net/ethtool/coalesce.c
569
tb[ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW], &mod);
net/ethtool/coalesce.c
571
tb[ETHTOOL_A_COALESCE_PKT_RATE_HIGH], &mod);
net/ethtool/coalesce.c
573
tb[ETHTOOL_A_COALESCE_RX_USECS_HIGH], &mod);
net/ethtool/coalesce.c
575
tb[ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH], &mod);
net/ethtool/coalesce.c
577
tb[ETHTOOL_A_COALESCE_TX_USECS_HIGH], &mod);
net/ethtool/coalesce.c
579
tb[ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH], &mod);
net/ethtool/coalesce.c
581
tb[ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL], &mod);
net/ethtool/coalesce.c
583
tb[ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES], &mod);
net/ethtool/coalesce.c
585
tb[ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES], &mod);
net/ethtool/coalesce.c
587
tb[ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS], &mod);
net/ethtool/coalesce.c
589
tb[ETHTOOL_A_COALESCE_RX_CQE_FRAMES], &mod);
net/ethtool/coalesce.c
591
tb[ETHTOOL_A_COALESCE_RX_CQE_NSECS], &mod);
net/ethtool/coalesce.c
595
tb[ETHTOOL_A_COALESCE_RX_PROFILE],
net/ethtool/coalesce.c
603
tb[ETHTOOL_A_COALESCE_TX_PROFILE],
net/ethtool/coalesce.c
611
tb[ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX], &mod_mode);
net/ethtool/coalesce.c
613
tb[ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX], &mod_mode);
net/ethtool/coalesce.c
615
tb[ETHTOOL_A_COALESCE_USE_CQE_MODE_TX], &mod_mode);
net/ethtool/coalesce.c
617
tb[ETHTOOL_A_COALESCE_USE_CQE_MODE_RX], &mod_mode);
net/ethtool/debug.c
87
struct nlattr **tb = info->attrs;
net/ethtool/debug.c
94
tb[ETHTOOL_A_DEBUG_MSGMASK],
net/ethtool/eee.c
131
struct nlattr **tb = info->attrs;
net/ethtool/eee.c
142
tb[ETHTOOL_A_EEE_MODES_OURS],
net/ethtool/eee.c
146
ethnl_update_bool(&eee.eee_enabled, tb[ETHTOOL_A_EEE_ENABLED], &mod);
net/ethtool/eee.c
147
ethnl_update_bool(&eee.tx_lpi_enabled, tb[ETHTOOL_A_EEE_TX_LPI_ENABLED],
net/ethtool/eee.c
149
ethnl_update_u32(&eee.tx_lpi_timer, tb[ETHTOOL_A_EEE_TX_LPI_TIMER],
net/ethtool/eeprom.c
157
struct nlattr **tb,
net/ethtool/eeprom.c
168
request->i2c_address = nla_get_u8(tb[ETHTOOL_A_MODULE_EEPROM_I2C_ADDRESS]);
net/ethtool/eeprom.c
169
request->offset = nla_get_u32(tb[ETHTOOL_A_MODULE_EEPROM_OFFSET]);
net/ethtool/eeprom.c
170
request->length = nla_get_u32(tb[ETHTOOL_A_MODULE_EEPROM_LENGTH]);
net/ethtool/eeprom.c
178
request->page = nla_get_u8(tb[ETHTOOL_A_MODULE_EEPROM_PAGE]);
net/ethtool/eeprom.c
180
NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_MODULE_EEPROM_PAGE],
net/ethtool/eeprom.c
187
NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_MODULE_EEPROM_LENGTH],
net/ethtool/eeprom.c
191
NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_MODULE_EEPROM_LENGTH],
net/ethtool/eeprom.c
196
if (tb[ETHTOOL_A_MODULE_EEPROM_BANK])
net/ethtool/eeprom.c
197
request->bank = nla_get_u8(tb[ETHTOOL_A_MODULE_EEPROM_BANK]);
net/ethtool/features.c
223
struct nlattr **tb = info->attrs;
net/ethtool/features.c
228
if (!tb[ETHTOOL_A_FEATURES_WANTED])
net/ethtool/features.c
231
tb[ETHTOOL_A_FEATURES_HEADER],
net/ethtool/features.c
246
tb[ETHTOOL_A_FEATURES_WANTED],
net/ethtool/fec.c
312
struct nlattr **tb = info->attrs;
net/ethtool/fec.c
326
tb[ETHTOOL_A_FEC_MODES],
net/ethtool/fec.c
330
ethnl_update_u8(&fec_auto, tb[ETHTOOL_A_FEC_AUTO], &mod);
net/ethtool/fec.c
336
NL_SET_ERR_MSG_ATTR(info->extack, tb[ETHTOOL_A_FEC_MODES],
net/ethtool/fec.c
341
NL_SET_ERR_MSG_ATTR(info->extack, tb[ETHTOOL_A_FEC_MODES],
net/ethtool/linkinfo.c
103
struct nlattr **tb = info->attrs;
net/ethtool/linkinfo.c
114
ethnl_update_u8(&lsettings->port, tb[ETHTOOL_A_LINKINFO_PORT], &mod);
net/ethtool/linkinfo.c
115
ethnl_update_u8(&lsettings->phy_address, tb[ETHTOOL_A_LINKINFO_PHYADDR],
net/ethtool/linkinfo.c
118
tb[ETHTOOL_A_LINKINFO_TP_MDIX_CTRL], &mod);
net/ethtool/linkmodes.c
214
static int ethnl_check_linkmodes(struct genl_info *info, struct nlattr **tb)
net/ethtool/linkmodes.c
218
master_slave_cfg = tb[ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG];
net/ethtool/linkmodes.c
226
lanes_cfg = tb[ETHTOOL_A_LINKMODES_LANES];
net/ethtool/linkmodes.c
236
static int ethnl_update_linkmodes(struct genl_info *info, struct nlattr **tb,
net/ethtool/linkmodes.c
245
master_slave_cfg = tb[ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG];
net/ethtool/linkmodes.c
255
req_speed = tb[ETHTOOL_A_LINKMODES_SPEED];
net/ethtool/linkmodes.c
256
req_lanes = tb[ETHTOOL_A_LINKMODES_LANES];
net/ethtool/linkmodes.c
257
req_duplex = tb[ETHTOOL_A_LINKMODES_DUPLEX];
net/ethtool/linkmodes.c
259
ethnl_update_u8(&lsettings->autoneg, tb[ETHTOOL_A_LINKMODES_AUTONEG],
net/ethtool/linkmodes.c
262
lanes_cfg = tb[ETHTOOL_A_LINKMODES_LANES];
net/ethtool/linkmodes.c
283
tb[ETHTOOL_A_LINKMODES_OURS], link_mode_names,
net/ethtool/linkmodes.c
287
ethnl_update_u32(&lsettings->speed, tb[ETHTOOL_A_LINKMODES_SPEED],
net/ethtool/linkmodes.c
290
ethnl_update_u8(&lsettings->duplex, tb[ETHTOOL_A_LINKMODES_DUPLEX],
net/ethtool/linkmodes.c
294
if (!tb[ETHTOOL_A_LINKMODES_OURS] && lsettings->autoneg &&
net/ethtool/linkmodes.c
323
struct nlattr **tb = info->attrs;
net/ethtool/linkmodes.c
333
ret = ethnl_update_linkmodes(info, tb, &ksettings, &mod, dev);
net/ethtool/linkstate.c
103
struct nlattr **tb = info->attrs;
net/ethtool/linkstate.c
107
phydev = ethnl_req_get_phydev(req_base, tb, ETHTOOL_A_LINKSTATE_HEADER,
net/ethtool/mm.c
189
struct nlattr **tb = info->attrs;
net/ethtool/mm.c
200
ethnl_update_bool(&cfg.verify_enabled, tb[ETHTOOL_A_MM_VERIFY_ENABLED],
net/ethtool/mm.c
202
ethnl_update_u32(&cfg.verify_time, tb[ETHTOOL_A_MM_VERIFY_TIME], &mod);
net/ethtool/mm.c
203
ethnl_update_bool(&cfg.tx_enabled, tb[ETHTOOL_A_MM_TX_ENABLED], &mod);
net/ethtool/mm.c
204
ethnl_update_bool(&cfg.pmac_enabled, tb[ETHTOOL_A_MM_PMAC_ENABLED],
net/ethtool/mm.c
207
tb[ETHTOOL_A_MM_TX_MIN_FRAG_SIZE], &mod);
net/ethtool/mm.c
213
NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_MM_VERIFY_TIME],
net/ethtool/module.c
118
struct nlattr **tb = info->attrs;
net/ethtool/module.c
120
if (!tb[ETHTOOL_A_MODULE_POWER_MODE_POLICY])
net/ethtool/module.c
125
tb[ETHTOOL_A_MODULE_POWER_MODE_POLICY],
net/ethtool/module.c
140
struct nlattr **tb = info->attrs;
net/ethtool/module.c
151
power_new.policy = nla_get_u8(tb[ETHTOOL_A_MODULE_POWER_MODE_POLICY]);
net/ethtool/module.c
359
static int module_flash_fw(struct net_device *dev, struct nlattr **tb,
net/ethtool/module.c
369
file_name = nla_data(tb[ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME]);
net/ethtool/module.c
371
attr = tb[ETHTOOL_A_MODULE_FW_FLASH_PASSWORD];
net/ethtool/module.c
420
struct nlattr **tb = info->attrs;
net/ethtool/module.c
425
tb[ETHTOOL_A_MODULE_FW_FLASH_HEADER],
net/ethtool/module.c
441
ret = module_flash_fw(dev, tb, skb, info);
net/ethtool/netlink.c
153
struct nlattr *tb[ARRAY_SIZE(ethnl_header_policy_phy)];
net/ethtool/netlink.c
168
ret = nla_parse_nested(tb, ARRAY_SIZE(ethnl_header_policy_phy) - 1, header,
net/ethtool/netlink.c
172
if (tb[ETHTOOL_A_HEADER_FLAGS])
net/ethtool/netlink.c
173
flags = nla_get_u32(tb[ETHTOOL_A_HEADER_FLAGS]);
net/ethtool/netlink.c
175
devname_attr = tb[ETHTOOL_A_HEADER_DEV_NAME];
net/ethtool/netlink.c
176
if (tb[ETHTOOL_A_HEADER_DEV_INDEX]) {
net/ethtool/netlink.c
177
u32 ifindex = nla_get_u32(tb[ETHTOOL_A_HEADER_DEV_INDEX]);
net/ethtool/netlink.c
183
tb[ETHTOOL_A_HEADER_DEV_INDEX],
net/ethtool/netlink.c
209
if (tb[ETHTOOL_A_HEADER_PHY_INDEX]) {
net/ethtool/netlink.c
211
req_info->phy_index = nla_get_u32(tb[ETHTOOL_A_HEADER_PHY_INDEX]);
net/ethtool/netlink.c
225
struct nlattr **tb, unsigned int header,
net/ethtool/netlink.c
241
if (!phydev && tb) {
net/ethtool/netlink.c
242
NL_SET_ERR_MSG_ATTR(extack, tb[header],
net/ethtool/netlink.c
464
struct nlattr **tb = info->attrs;
net/ethtool/netlink.c
467
ret = ethnl_parse_header_dev_get(req_info, tb[request_ops->hdr_attr],
net/ethtool/netlink.c
474
ret = request_ops->parse_request(req_info, info, tb,
net/ethtool/netlink.h
324
struct nlattr **tb, unsigned int header,
net/ethtool/netlink.h
430
struct nlattr **tb,
net/ethtool/pause.c
191
struct nlattr **tb = info->attrs;
net/ethtool/pause.c
197
ethnl_update_bool32(¶ms.autoneg, tb[ETHTOOL_A_PAUSE_AUTONEG], &mod);
net/ethtool/pause.c
198
ethnl_update_bool32(¶ms.rx_pause, tb[ETHTOOL_A_PAUSE_RX], &mod);
net/ethtool/pause.c
199
ethnl_update_bool32(¶ms.tx_pause, tb[ETHTOOL_A_PAUSE_TX], &mod);
net/ethtool/pause.c
32
struct nlattr **tb,
net/ethtool/pause.c
38
if (tb[ETHTOOL_A_PAUSE_STATS_SRC]) {
net/ethtool/pause.c
45
src = nla_get_u32(tb[ETHTOOL_A_PAUSE_STATS_SRC]);
net/ethtool/phy.c
76
struct nlattr **tb = info->attrs;
net/ethtool/phy.c
81
phydev = ethnl_req_get_phydev(req_info, tb, ETHTOOL_A_PHY_HEADER,
net/ethtool/plca.c
149
struct nlattr **tb = info->attrs;
net/ethtool/plca.c
155
phydev = ethnl_req_get_phydev(req_info, tb, ETHTOOL_A_PLCA_HEADER,
net/ethtool/plca.c
166
plca_update_sint(&plca_cfg.enabled, tb, ETHTOOL_A_PLCA_ENABLED, &mod);
net/ethtool/plca.c
167
plca_update_sint(&plca_cfg.node_id, tb, ETHTOOL_A_PLCA_NODE_ID, &mod);
net/ethtool/plca.c
168
plca_update_sint(&plca_cfg.node_cnt, tb, ETHTOOL_A_PLCA_NODE_CNT, &mod);
net/ethtool/plca.c
169
plca_update_sint(&plca_cfg.to_tmr, tb, ETHTOOL_A_PLCA_TO_TMR, &mod);
net/ethtool/plca.c
170
plca_update_sint(&plca_cfg.burst_cnt, tb, ETHTOOL_A_PLCA_BURST_CNT,
net/ethtool/plca.c
172
plca_update_sint(&plca_cfg.burst_tmr, tb, ETHTOOL_A_PLCA_BURST_TMR,
net/ethtool/plca.c
210
struct nlattr **tb = info->attrs;
net/ethtool/plca.c
214
phydev = ethnl_req_get_phydev(req_base, tb, ETHTOOL_A_PLCA_HEADER,
net/ethtool/plca.c
31
static void plca_update_sint(int *dst, struct nlattr **tb, u32 attrid,
net/ethtool/plca.c
34
const struct nlattr *attr = tb[attrid];
net/ethtool/plca.c
61
struct nlattr **tb = info->attrs;
net/ethtool/plca.c
65
phydev = ethnl_req_get_phydev(req_base, tb, ETHTOOL_A_PLCA_HEADER,
net/ethtool/privflags.c
149
struct nlattr **tb = info->attrs;
net/ethtool/privflags.c
156
ret = ethnl_bitset_is_compact(tb[ETHTOOL_A_PRIVFLAGS_FLAGS], &compact);
net/ethtool/privflags.c
166
tb[ETHTOOL_A_PRIVFLAGS_FLAGS], names,
net/ethtool/pse-pd.c
245
struct nlattr **tb = info->attrs;
net/ethtool/pse-pd.c
257
if (tb[ETHTOOL_A_PODL_PSE_ADMIN_CONTROL] &&
net/ethtool/pse-pd.c
260
tb[ETHTOOL_A_PODL_PSE_ADMIN_CONTROL],
net/ethtool/pse-pd.c
264
if (tb[ETHTOOL_A_C33_PSE_ADMIN_CONTROL] &&
net/ethtool/pse-pd.c
267
tb[ETHTOOL_A_C33_PSE_ADMIN_CONTROL],
net/ethtool/pse-pd.c
278
struct nlattr **tb = info->attrs;
net/ethtool/pse-pd.c
282
phydev = ethnl_req_get_phydev(req_info, tb, ETHTOOL_A_PSE_HEADER,
net/ethtool/pse-pd.c
288
if (tb[ETHTOOL_A_PSE_PRIO]) {
net/ethtool/pse-pd.c
291
prio = nla_get_u32(tb[ETHTOOL_A_PSE_PRIO]);
net/ethtool/pse-pd.c
297
if (tb[ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT]) {
net/ethtool/pse-pd.c
300
pw_limit = nla_get_u32(tb[ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT]);
net/ethtool/pse-pd.c
308
if (tb[ETHTOOL_A_PODL_PSE_ADMIN_CONTROL] ||
net/ethtool/pse-pd.c
309
tb[ETHTOOL_A_C33_PSE_ADMIN_CONTROL]) {
net/ethtool/pse-pd.c
312
if (tb[ETHTOOL_A_PODL_PSE_ADMIN_CONTROL])
net/ethtool/pse-pd.c
313
config.podl_admin_control = nla_get_u32(tb[ETHTOOL_A_PODL_PSE_ADMIN_CONTROL]);
net/ethtool/pse-pd.c
314
if (tb[ETHTOOL_A_C33_PSE_ADMIN_CONTROL])
net/ethtool/pse-pd.c
315
config.c33_admin_control = nla_get_u32(tb[ETHTOOL_A_C33_PSE_ADMIN_CONTROL]);
net/ethtool/pse-pd.c
61
struct nlattr **tb = info->attrs;
net/ethtool/pse-pd.c
65
phydev = ethnl_req_get_phydev(req_base, tb, ETHTOOL_A_PSE_HEADER,
net/ethtool/rings.c
154
struct nlattr **tb = info->attrs;
net/ethtool/rings.c
156
if (tb[ETHTOOL_A_RINGS_RX_BUF_LEN] &&
net/ethtool/rings.c
159
tb[ETHTOOL_A_RINGS_RX_BUF_LEN],
net/ethtool/rings.c
164
if (tb[ETHTOOL_A_RINGS_TCP_DATA_SPLIT] &&
net/ethtool/rings.c
167
tb[ETHTOOL_A_RINGS_TCP_DATA_SPLIT],
net/ethtool/rings.c
172
if (tb[ETHTOOL_A_RINGS_HDS_THRESH] &&
net/ethtool/rings.c
175
tb[ETHTOOL_A_RINGS_HDS_THRESH],
net/ethtool/rings.c
180
if (tb[ETHTOOL_A_RINGS_CQE_SIZE] &&
net/ethtool/rings.c
183
tb[ETHTOOL_A_RINGS_CQE_SIZE],
net/ethtool/rings.c
188
if (tb[ETHTOOL_A_RINGS_TX_PUSH] &&
net/ethtool/rings.c
191
tb[ETHTOOL_A_RINGS_TX_PUSH],
net/ethtool/rings.c
196
if (tb[ETHTOOL_A_RINGS_RX_PUSH] &&
net/ethtool/rings.c
199
tb[ETHTOOL_A_RINGS_RX_PUSH],
net/ethtool/rings.c
204
if (tb[ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN] &&
net/ethtool/rings.c
207
tb[ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN],
net/ethtool/rings.c
221
struct nlattr **tb = info->attrs;
net/ethtool/rings.c
229
ethnl_update_u32(&ringparam.rx_pending, tb[ETHTOOL_A_RINGS_RX], &mod);
net/ethtool/rings.c
231
tb[ETHTOOL_A_RINGS_RX_MINI], &mod);
net/ethtool/rings.c
233
tb[ETHTOOL_A_RINGS_RX_JUMBO], &mod);
net/ethtool/rings.c
234
ethnl_update_u32(&ringparam.tx_pending, tb[ETHTOOL_A_RINGS_TX], &mod);
net/ethtool/rings.c
236
tb[ETHTOOL_A_RINGS_RX_BUF_LEN], &mod);
net/ethtool/rings.c
238
tb[ETHTOOL_A_RINGS_TCP_DATA_SPLIT], &mod);
net/ethtool/rings.c
240
tb[ETHTOOL_A_RINGS_CQE_SIZE], &mod);
net/ethtool/rings.c
242
tb[ETHTOOL_A_RINGS_TX_PUSH], &mod);
net/ethtool/rings.c
244
tb[ETHTOOL_A_RINGS_RX_PUSH], &mod);
net/ethtool/rings.c
246
tb[ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN], &mod);
net/ethtool/rings.c
248
tb[ETHTOOL_A_RINGS_HDS_THRESH], &mod);
net/ethtool/rings.c
255
tb[ETHTOOL_A_RINGS_TCP_DATA_SPLIT],
net/ethtool/rings.c
275
err_attr = tb[ETHTOOL_A_RINGS_RX];
net/ethtool/rings.c
277
err_attr = tb[ETHTOOL_A_RINGS_RX_MINI];
net/ethtool/rings.c
279
err_attr = tb[ETHTOOL_A_RINGS_RX_JUMBO];
net/ethtool/rings.c
281
err_attr = tb[ETHTOOL_A_RINGS_TX];
net/ethtool/rings.c
283
err_attr = tb[ETHTOOL_A_RINGS_HDS_THRESH];
net/ethtool/rings.c
293
NL_SET_ERR_MSG_ATTR_FMT(info->extack, tb[ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN],
net/ethtool/rss.c
1007
struct nlattr **tb = info->attrs;
net/ethtool/rss.c
1022
ret = ethnl_parse_header_dev_get(&req.base, tb[ETHTOOL_A_RSS_HEADER],
net/ethtool/rss.c
1031
req.rss_context = nla_get_u32_default(tb[ETHTOOL_A_RSS_CONTEXT], 0);
net/ethtool/rss.c
1052
ethnl_update_u8_u32(&rxfh.hfunc, tb[ETHTOOL_A_RSS_HFUNC], &mod);
net/ethtool/rss.c
1059
ethnl_update_u8_u32(&rxfh.input_xfrm, tb[ETHTOOL_A_RSS_INPUT_XFRM],
net/ethtool/rss.c
1078
NL_SET_ERR_MSG_ATTR(info->extack, tb[ETHTOOL_A_RSS_CONTEXT],
net/ethtool/rss.c
1094
rss_set_ctx_update(ctx, tb, &data, &rxfh);
net/ethtool/rss.c
1153
struct nlattr **tb = info->attrs;
net/ethtool/rss.c
1162
rss_context = nla_get_u32(tb[ETHTOOL_A_RSS_CONTEXT]);
net/ethtool/rss.c
1164
ret = ethnl_parse_header_dev_get(&req, tb[ETHTOOL_A_RSS_HEADER],
net/ethtool/rss.c
374
struct nlattr **tb = info->attrs;
net/ethtool/rss.c
378
if (tb[ETHTOOL_A_RSS_CONTEXT]) {
net/ethtool/rss.c
379
NL_SET_BAD_ATTR(info->extack, tb[ETHTOOL_A_RSS_CONTEXT]);
net/ethtool/rss.c
382
if (tb[ETHTOOL_A_RSS_START_CONTEXT]) {
net/ethtool/rss.c
383
ctx->start_ctx = nla_get_u32(tb[ETHTOOL_A_RSS_START_CONTEXT]);
net/ethtool/rss.c
388
tb[ETHTOOL_A_RSS_HEADER],
net/ethtool/rss.c
586
struct nlattr **tb = info->attrs;
net/ethtool/rss.c
591
bad_attr = bad_attr ?: tb[ETHTOOL_A_RSS_CONTEXT];
net/ethtool/rss.c
594
bad_attr = bad_attr ?: tb[ETHTOOL_A_RSS_HFUNC];
net/ethtool/rss.c
595
bad_attr = bad_attr ?: tb[ETHTOOL_A_RSS_HKEY];
net/ethtool/rss.c
596
bad_attr = bad_attr ?: tb[ETHTOOL_A_RSS_INPUT_XFRM];
net/ethtool/rss.c
599
input_xfrm = nla_get_u32_default(tb[ETHTOOL_A_RSS_INPUT_XFRM], 0);
net/ethtool/rss.c
601
bad_attr = bad_attr ?: tb[ETHTOOL_A_RSS_INPUT_XFRM];
net/ethtool/rss.c
603
if (tb[ETHTOOL_A_RSS_FLOW_HASH] && !ops->set_rxfh_fields)
net/ethtool/rss.c
604
bad_attr = bad_attr ?: tb[ETHTOOL_A_RSS_FLOW_HASH];
net/ethtool/rss.c
606
tb[ETHTOOL_A_RSS_FLOW_HASH] && !ops->rxfh_per_ctx_fields)
net/ethtool/rss.c
607
bad_attr = bad_attr ?: tb[ETHTOOL_A_RSS_FLOW_HASH];
net/ethtool/rss.c
623
struct nlattr **tb = info->attrs;
net/ethtool/rss.c
629
if (!tb[ETHTOOL_A_RSS_INDIR])
net/ethtool/rss.c
639
if (nla_len(tb[ETHTOOL_A_RSS_INDIR]) % 4) {
net/ethtool/rss.c
640
NL_SET_BAD_ATTR(info->extack, tb[ETHTOOL_A_RSS_INDIR]);
net/ethtool/rss.c
643
user_size = nla_len(tb[ETHTOOL_A_RSS_INDIR]) / 4;
net/ethtool/rss.c
646
NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_RSS_INDIR],
net/ethtool/rss.c
652
NL_SET_ERR_MSG_ATTR_FMT(extack, tb[ETHTOOL_A_RSS_INDIR],
net/ethtool/rss.c
664
nla_memcpy(rxfh->indir, tb[ETHTOOL_A_RSS_INDIR], alloc_size);
net/ethtool/rss.c
669
NL_SET_ERR_MSG_ATTR_FMT(extack, tb[ETHTOOL_A_RSS_INDIR],
net/ethtool/rss.c
701
struct nlattr **tb = info->attrs;
net/ethtool/rss.c
703
if (!tb[ETHTOOL_A_RSS_HKEY])
net/ethtool/rss.c
706
if (nla_len(tb[ETHTOOL_A_RSS_HKEY]) != data->hkey_size) {
net/ethtool/rss.c
707
NL_SET_BAD_ATTR(info->extack, tb[ETHTOOL_A_RSS_HKEY]);
net/ethtool/rss.c
716
ethnl_update_binary(rxfh->key, rxfh->key_size, tb[ETHTOOL_A_RSS_HKEY],
net/ethtool/rss.c
72
struct nlattr **tb,
net/ethtool/rss.c
725
struct nlattr **tb = info->attrs;
net/ethtool/rss.c
731
NL_SET_ERR_MSG_ATTR(info->extack, tb[ETHTOOL_A_RSS_INPUT_XFRM],
net/ethtool/rss.c
740
tb[ETHTOOL_A_RSS_INPUT_XFRM],
net/ethtool/rss.c
77
if (tb[ETHTOOL_A_RSS_CONTEXT])
net/ethtool/rss.c
78
request->rss_context = nla_get_u32(tb[ETHTOOL_A_RSS_CONTEXT]);
net/ethtool/rss.c
79
if (tb[ETHTOOL_A_RSS_START_CONTEXT]) {
net/ethtool/rss.c
80
NL_SET_BAD_ATTR(extack, tb[ETHTOOL_A_RSS_START_CONTEXT]);
net/ethtool/rss.c
802
rss_set_ctx_update(struct ethtool_rxfh_context *ctx, struct nlattr **tb,
net/ethtool/rss.c
810
ctx->indir_configured = !!nla_len(tb[ETHTOOL_A_RSS_INDIR]);
net/ethtool/rss.c
832
struct nlattr **tb = info->attrs;
net/ethtool/rss.c
851
indir_mod = !!tb[ETHTOOL_A_RSS_INDIR];
net/ethtool/rss.c
854
ethnl_update_u8_u32(&rxfh.hfunc, tb[ETHTOOL_A_RSS_HFUNC], &mod);
net/ethtool/rss.c
863
ethnl_update_u8_u32(&rxfh.input_xfrm, tb[ETHTOOL_A_RSS_INPUT_XFRM],
net/ethtool/rss.c
895
rss_set_ctx_update(ctx, tb, &data, &rxfh);
net/ethtool/rss.c
949
struct nlattr **tb = info->attrs;
net/ethtool/rss.c
956
rss_context = nla_get_u32_default(tb[ETHTOOL_A_RSS_CONTEXT], 0);
net/ethtool/rss.c
959
NL_SET_BAD_ATTR(info->extack, tb[ETHTOOL_A_RSS_CONTEXT]);
net/ethtool/rss.c
964
bad_attr = bad_attr ?: tb[ETHTOOL_A_RSS_HFUNC];
net/ethtool/rss.c
965
bad_attr = bad_attr ?: tb[ETHTOOL_A_RSS_HKEY];
net/ethtool/rss.c
966
bad_attr = bad_attr ?: tb[ETHTOOL_A_RSS_INPUT_XFRM];
net/ethtool/rss.c
969
input_xfrm = nla_get_u32_default(tb[ETHTOOL_A_RSS_INPUT_XFRM], 0);
net/ethtool/rss.c
971
bad_attr = bad_attr ?: tb[ETHTOOL_A_RSS_INPUT_XFRM];
net/ethtool/stats.c
103
struct nlattr **tb,
net/ethtool/stats.c
112
tb[ETHTOOL_A_STATS_GROUPS], stats_std_names,
net/ethtool/stats.c
122
if (tb[ETHTOOL_A_STATS_SRC])
net/ethtool/stats.c
123
src = nla_get_u32(tb[ETHTOOL_A_STATS_SRC]);
net/ethtool/stats.c
138
struct nlattr **tb = info->attrs;
net/ethtool/stats.c
142
phydev = ethnl_req_get_phydev(req_base, tb, ETHTOOL_A_STATS_HEADER,
net/ethtool/strset.c
174
struct nlattr *tb[ARRAY_SIZE(get_stringset_policy)];
net/ethtool/strset.c
177
ret = nla_parse_nested(tb, ARRAY_SIZE(get_stringset_policy) - 1, nest,
net/ethtool/strset.c
181
if (NL_REQ_ATTR_CHECK(extack, nest, tb, ETHTOOL_A_STRINGSET_ID))
net/ethtool/strset.c
184
*val = nla_get_u32(tb[ETHTOOL_A_STRINGSET_ID]);
net/ethtool/strset.c
194
struct nlattr **tb,
net/ethtool/strset.c
198
struct nlattr *nest = tb[ETHTOOL_A_STRSET_STRINGSETS];
net/ethtool/strset.c
210
req_info->counts_only = tb[ETHTOOL_A_STRSET_COUNTS_ONLY];
net/ethtool/strset.c
295
struct nlattr **tb = info->attrs;
net/ethtool/strset.c
314
phydev = ethnl_req_get_phydev(req_base, tb, ETHTOOL_A_STRSET_HEADER,
net/ethtool/tsconfig.c
269
struct nlattr **tb = info->attrs;
net/ethtool/tsconfig.c
283
tb[ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER],
net/ethtool/tsconfig.c
310
struct nlattr **tb = info->attrs;
net/ethtool/tsconfig.c
316
if (tb[ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER]) {
net/ethtool/tsconfig.c
326
ret = ts_parse_hwtst_provider(tb[ETHTOOL_A_TSCONFIG_HWTSTAMP_PROVIDER],
net/ethtool/tsconfig.c
350
if (tb[ETHTOOL_A_TSCONFIG_TX_TYPES]) {
net/ethtool/tsconfig.c
356
tb[ETHTOOL_A_TSCONFIG_TX_TYPES],
net/ethtool/tsconfig.c
371
if (tb[ETHTOOL_A_TSCONFIG_RX_FILTERS]) {
net/ethtool/tsconfig.c
377
tb[ETHTOOL_A_TSCONFIG_RX_FILTERS],
net/ethtool/tsconfig.c
392
if (tb[ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS]) {
net/ethtool/tsconfig.c
395
tb[ETHTOOL_A_TSCONFIG_HWTSTAMP_FLAGS],
net/ethtool/tsinfo.c
47
struct nlattr *tb[ARRAY_SIZE(ethnl_ts_hwtst_prov_policy)];
net/ethtool/tsinfo.c
50
ret = nla_parse_nested(tb,
net/ethtool/tsinfo.c
504
struct nlattr **tb = info->info.attrs;
net/ethtool/tsinfo.c
521
tb[ETHTOOL_A_TSINFO_HEADER],
net/ethtool/tsinfo.c
57
if (NL_REQ_ATTR_CHECK(extack, nest, tb,
net/ethtool/tsinfo.c
59
NL_REQ_ATTR_CHECK(extack, nest, tb,
net/ethtool/tsinfo.c
64
tb[ETHTOOL_A_TS_HWTSTAMP_PROVIDER_INDEX],
net/ethtool/tsinfo.c
67
tb[ETHTOOL_A_TS_HWTSTAMP_PROVIDER_QUALIFIER],
net/ethtool/tsinfo.c
76
struct nlattr **tb,
net/ethtool/tsinfo.c
84
if (!tb[ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER])
net/ethtool/tsinfo.c
92
return ts_parse_hwtst_provider(tb[ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER],
net/ethtool/tunnels.c
168
struct nlattr **tb = info->attrs;
net/ethtool/tunnels.c
175
tb[ETHTOOL_A_TUNNEL_INFO_HEADER],
net/ethtool/tunnels.c
222
struct nlattr **tb = info->info.attrs;
net/ethtool/tunnels.c
230
tb[ETHTOOL_A_TUNNEL_INFO_HEADER],
net/ethtool/wol.c
109
struct nlattr **tb = info->attrs;
net/ethtool/wol.c
115
tb[ETHTOOL_A_WOL_MODES], wol_mode_names,
net/ethtool/wol.c
120
NL_SET_ERR_MSG_ATTR(info->extack, tb[ETHTOOL_A_WOL_MODES],
net/ethtool/wol.c
124
if (tb[ETHTOOL_A_WOL_SOPASS]) {
net/ethtool/wol.c
127
tb[ETHTOOL_A_WOL_SOPASS],
net/ethtool/wol.c
132
tb[ETHTOOL_A_WOL_SOPASS], &mod);
net/ieee802154/6lowpan/core.c
123
static int lowpan_validate(struct nlattr *tb[], struct nlattr *data[],
net/ieee802154/6lowpan/core.c
126
if (tb[IFLA_ADDRESS]) {
net/ieee802154/6lowpan/core.c
127
if (nla_len(tb[IFLA_ADDRESS]) != IEEE802154_ADDR_LEN)
net/ieee802154/6lowpan/core.c
137
struct nlattr **tb = params->tb;
net/ieee802154/6lowpan/core.c
145
if (!tb[IFLA_LINK])
net/ieee802154/6lowpan/core.c
150
wdev = dev_get_by_index(dev_net(ldev), nla_get_u32(tb[IFLA_LINK]));
net/ieee802154/nl802154.c
573
struct nlattr **tb = info->info.attrs;
net/ieee802154/nl802154.c
575
if (tb[NL802154_ATTR_WPAN_PHY])
net/ieee802154/nl802154.c
576
state->filter_wpan_phy = nla_get_u32(tb[NL802154_ATTR_WPAN_PHY]);
net/ieee802154/nl802154.c
577
if (tb[NL802154_ATTR_WPAN_DEV])
net/ieee802154/nl802154.c
578
state->filter_wpan_phy = nla_get_u64(tb[NL802154_ATTR_WPAN_DEV]) >> 32;
net/ieee802154/nl802154.c
579
if (tb[NL802154_ATTR_IFINDEX]) {
net/ieee802154/nl802154.c
582
int ifidx = nla_get_u32(tb[NL802154_ATTR_IFINDEX]);
net/ipv4/devinet.c
1790
struct nlattr *tb[IFA_MAX+1];
net/ipv4/devinet.c
1811
err = nlmsg_parse_deprecated_strict(nlh, sizeof(*ifm), tb, IFA_MAX,
net/ipv4/devinet.c
1817
if (!tb[i])
net/ipv4/devinet.c
1823
fillargs->netnsid = nla_get_s32(tb[i]);
net/ipv4/devinet.c
2108
struct nlattr *tb[IFLA_INET_MAX + 1], *nested_tb[IPV4_DEVCONF_MAX + 1];
net/ipv4/devinet.c
2114
err = nla_parse_nested_deprecated(tb, IFLA_INET_MAX, nla,
net/ipv4/devinet.c
2119
if (tb[IFLA_INET_CONF]) {
net/ipv4/devinet.c
2121
tb[IFLA_INET_CONF], inet_devconf_policy,
net/ipv4/devinet.c
2189
struct nlattr *a, *tb[IFLA_INET_MAX+1];
net/ipv4/devinet.c
2197
if (nla_parse_nested_deprecated(tb, IFLA_INET_MAX, nla, NULL, NULL) < 0)
net/ipv4/devinet.c
2200
if (tb[IFLA_INET_CONF]) {
net/ipv4/devinet.c
2201
nla_for_each_nested(a, tb[IFLA_INET_CONF], rem) {
net/ipv4/devinet.c
2337
struct nlattr **tb,
net/ipv4/devinet.c
2349
tb, NETCONFA_MAX,
net/ipv4/devinet.c
2353
tb, NETCONFA_MAX,
net/ipv4/devinet.c
2359
if (!tb[i])
net/ipv4/devinet.c
2379
struct nlattr *tb[NETCONFA_MAX + 1];
net/ipv4/devinet.c
2387
err = inet_netconf_valid_get_req(in_skb, nlh, tb, extack);
net/ipv4/devinet.c
2391
if (!tb[NETCONFA_IFINDEX])
net/ipv4/devinet.c
2394
ifindex = nla_get_s32(tb[NETCONFA_IFINDEX]);
net/ipv4/devinet.c
657
struct nlattr *tb[IFA_MAX+1];
net/ipv4/devinet.c
663
err = nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFA_MAX,
net/ipv4/devinet.c
682
if (tb[IFA_LOCAL] &&
net/ipv4/devinet.c
683
ifa->ifa_local != nla_get_in_addr(tb[IFA_LOCAL]))
net/ipv4/devinet.c
686
if (tb[IFA_LABEL] && nla_strcmp(tb[IFA_LABEL], ifa->ifa_label))
net/ipv4/devinet.c
689
if (tb[IFA_ADDRESS] &&
net/ipv4/devinet.c
691
!inet_ifa_match(nla_get_in_addr(tb[IFA_ADDRESS]), ifa)))
net/ipv4/devinet.c
844
static int inet_validate_rtm(struct nlmsghdr *nlh, struct nlattr **tb,
net/ipv4/devinet.c
851
err = nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFA_MAX,
net/ipv4/devinet.c
861
if (!tb[IFA_LOCAL]) {
net/ipv4/devinet.c
866
if (tb[IFA_CACHEINFO]) {
net/ipv4/devinet.c
869
ci = nla_data(tb[IFA_CACHEINFO]);
net/ipv4/devinet.c
883
struct nlattr **tb,
net/ipv4/devinet.c
915
if (!tb[IFA_ADDRESS])
net/ipv4/devinet.c
916
tb[IFA_ADDRESS] = tb[IFA_LOCAL];
net/ipv4/devinet.c
920
ifa->ifa_flags = nla_get_u32_default(tb[IFA_FLAGS], ifm->ifa_flags);
net/ipv4/devinet.c
922
ifa->ifa_local = nla_get_in_addr(tb[IFA_LOCAL]);
net/ipv4/devinet.c
923
ifa->ifa_address = nla_get_in_addr(tb[IFA_ADDRESS]);
net/ipv4/devinet.c
925
if (tb[IFA_BROADCAST])
net/ipv4/devinet.c
926
ifa->ifa_broadcast = nla_get_in_addr(tb[IFA_BROADCAST]);
net/ipv4/devinet.c
928
if (tb[IFA_LABEL])
net/ipv4/devinet.c
929
nla_strscpy(ifa->ifa_label, tb[IFA_LABEL], IFNAMSIZ);
net/ipv4/devinet.c
933
if (tb[IFA_RT_PRIORITY])
net/ipv4/devinet.c
934
ifa->ifa_rt_priority = nla_get_u32(tb[IFA_RT_PRIORITY]);
net/ipv4/devinet.c
936
if (tb[IFA_PROTO])
net/ipv4/devinet.c
937
ifa->ifa_proto = nla_get_u8(tb[IFA_PROTO]);
net/ipv4/devinet.c
967
struct nlattr *tb[IFA_MAX + 1];
net/ipv4/devinet.c
971
ret = inet_validate_rtm(nlh, tb, extack, &valid_lft, &prefered_lft);
net/ipv4/devinet.c
975
if (!nla_get_in_addr(tb[IFA_LOCAL]))
net/ipv4/devinet.c
980
ifa = inet_rtm_to_ifa(net, nlh, tb, extack);
net/ipv4/fib_frontend.c
101
rcu_assign_pointer(net->ipv4.fib_default, tb);
net/ipv4/fib_frontend.c
1025
struct fib_table *tb;
net/ipv4/fib_frontend.c
1043
tb = fib_get_table(net, filter.table_id);
net/ipv4/fib_frontend.c
1044
if (!tb) {
net/ipv4/fib_frontend.c
1052
err = fib_table_dump(tb, skb, cb, &filter);
net/ipv4/fib_frontend.c
1063
hlist_for_each_entry_rcu(tb, head, tb_hlist) {
net/ipv4/fib_frontend.c
1069
err = fib_table_dump(tb, skb, cb, &filter);
net/ipv4/fib_frontend.c
108
hlist_add_head_rcu(&tb->tb_hlist, &net->ipv4.fib_table_hash[h]);
net/ipv4/fib_frontend.c
109
return tb;
net/ipv4/fib_frontend.c
1098
struct fib_table *tb;
net/ipv4/fib_frontend.c
1116
tb = fib_new_table(net, tb_id);
net/ipv4/fib_frontend.c
1117
if (!tb)
net/ipv4/fib_frontend.c
1120
cfg.fc_table = tb->tb_id;
net/ipv4/fib_frontend.c
1128
fib_table_insert(net, tb, &cfg, NULL);
net/ipv4/fib_frontend.c
1130
fib_table_delete(net, tb, &cfg, NULL);
net/ipv4/fib_frontend.c
116
struct fib_table *tb;
net/ipv4/fib_frontend.c
125
hlist_for_each_entry_rcu(tb, head, tb_hlist,
net/ipv4/fib_frontend.c
127
if (tb->tb_id == id)
net/ipv4/fib_frontend.c
128
return tb;
net/ipv4/fib_frontend.c
1373
struct fib_table *tb;
net/ipv4/fib_frontend.c
1377
tb = fib_get_table(net, frn->tb_id_in);
net/ipv4/fib_frontend.c
1380
if (tb) {
net/ipv4/fib_frontend.c
1383
frn->tb_id = tb->tb_id;
net/ipv4/fib_frontend.c
1384
frn->err = fib_table_lookup(tb, &fl4, &res, FIB_LOOKUP_NOREF);
net/ipv4/fib_frontend.c
1607
struct fib_table *tb;
net/ipv4/fib_frontend.c
1609
hlist_for_each_entry_safe(tb, tmp, head, tb_hlist) {
net/ipv4/fib_frontend.c
1610
hlist_del_rcu(&tb->tb_hlist);
net/ipv4/fib_frontend.c
1611
fib_table_flush(net, tb, true);
net/ipv4/fib_frontend.c
1612
fib_free_table(tb);
net/ipv4/fib_frontend.c
194
struct fib_table *tb;
net/ipv4/fib_frontend.c
196
hlist_for_each_entry_safe(tb, tmp, head, tb_hlist)
net/ipv4/fib_frontend.c
197
flushed += fib_table_flush(net, tb, false);
net/ipv4/fib_frontend.c
641
struct fib_table *tb;
net/ipv4/fib_frontend.c
644
tb = fib_get_table(net, cfg.fc_table);
net/ipv4/fib_frontend.c
645
if (tb)
net/ipv4/fib_frontend.c
646
err = fib_table_delete(net, tb, &cfg,
net/ipv4/fib_frontend.c
651
tb = fib_new_table(net, cfg.fc_table);
net/ipv4/fib_frontend.c
652
if (tb)
net/ipv4/fib_frontend.c
653
err = fib_table_insert(net, tb,
net/ipv4/fib_frontend.c
79
struct fib_table *tb, *alias = NULL;
net/ipv4/fib_frontend.c
84
tb = fib_get_table(net, id);
net/ipv4/fib_frontend.c
85
if (tb)
net/ipv4/fib_frontend.c
86
return tb;
net/ipv4/fib_frontend.c
882
struct fib_table *tb;
net/ipv4/fib_frontend.c
897
tb = fib_get_table(net, cfg.fc_table);
net/ipv4/fib_frontend.c
898
if (!tb) {
net/ipv4/fib_frontend.c
904
err = fib_table_delete(net, tb, &cfg, extack);
net/ipv4/fib_frontend.c
916
struct fib_table *tb;
net/ipv4/fib_frontend.c
92
tb = fib_trie_table(id, alias);
net/ipv4/fib_frontend.c
925
tb = fib_new_table(net, cfg.fc_table);
net/ipv4/fib_frontend.c
926
if (!tb) {
net/ipv4/fib_frontend.c
93
if (!tb)
net/ipv4/fib_frontend.c
931
err = fib_table_insert(net, tb, &cfg, extack);
net/ipv4/fib_frontend.c
946
struct nlattr *tb[RTA_MAX + 1];
net/ipv4/fib_frontend.c
976
err = nlmsg_parse_deprecated_strict(nlh, sizeof(*rtm), tb, RTA_MAX,
net/ipv4/fib_frontend.c
98
rcu_assign_pointer(net->ipv4.fib_main, tb);
net/ipv4/fib_frontend.c
984
if (!tb[i])
net/ipv4/fib_frontend.c
989
filter->table_id = nla_get_u32(tb[i]);
net/ipv4/fib_frontend.c
992
ifindex = nla_get_u32(tb[i]);
net/ipv4/fib_rules.c
271
struct nlattr **tb,
net/ipv4/fib_rules.c
278
if (tb[FRA_FLOWLABEL] || tb[FRA_FLOWLABEL_MASK]) {
net/ipv4/fib_rules.c
296
if (tb[FRA_DSCP] &&
net/ipv4/fib_rules.c
297
fib4_nl2rule_dscp(tb[FRA_DSCP], rule4, extack) < 0)
net/ipv4/fib_rules.c
300
if (tb[FRA_DSCP_MASK] &&
net/ipv4/fib_rules.c
301
fib4_nl2rule_dscp_mask(tb[FRA_DSCP_MASK], rule4, extack) < 0)
net/ipv4/fib_rules.c
324
rule4->src = nla_get_in_addr(tb[FRA_SRC]);
net/ipv4/fib_rules.c
327
rule4->dst = nla_get_in_addr(tb[FRA_DST]);
net/ipv4/fib_rules.c
330
if (tb[FRA_FLOW]) {
net/ipv4/fib_rules.c
331
rule4->tclassid = nla_get_u32(tb[FRA_FLOW]);
net/ipv4/fib_rules.c
369
struct nlattr **tb)
net/ipv4/fib_rules.c
384
if (tb[FRA_DSCP]) {
net/ipv4/fib_rules.c
387
dscp = inet_dsfield_to_dscp(nla_get_u8(tb[FRA_DSCP]) << 2);
net/ipv4/fib_rules.c
392
if (tb[FRA_DSCP_MASK]) {
net/ipv4/fib_rules.c
395
dscp_mask = inet_dsfield_to_dscp(nla_get_u8(tb[FRA_DSCP_MASK]) << 2);
net/ipv4/fib_rules.c
401
if (tb[FRA_FLOW] && (rule4->tclassid != nla_get_u32(tb[FRA_FLOW])))
net/ipv4/fib_rules.c
405
if (frh->src_len && (rule4->src != nla_get_in_addr(tb[FRA_SRC])))
net/ipv4/fib_rules.c
408
if (frh->dst_len && (rule4->dst != nla_get_in_addr(tb[FRA_DST])))
net/ipv4/fib_semantics.c
1995
struct fib_table *tb = res->table;
net/ipv4/fib_semantics.c
2010
if (fa->tb_id != tb->tb_id)
net/ipv4/fib_trie.c
1015
struct fib_table *tb;
net/ipv4/fib_trie.c
1019
tb = fib_get_table(net, fri->tb_id);
net/ipv4/fib_trie.c
1020
if (!tb)
net/ipv4/fib_trie.c
1023
t = (struct trie *)tb->tb_data;
net/ipv4/fib_trie.c
1194
int fib_table_insert(struct net *net, struct fib_table *tb,
net/ipv4/fib_trie.c
1197
struct trie *t = (struct trie *)tb->tb_data;
net/ipv4/fib_trie.c
1210
pr_debug("Insert table=%u %08x/%d\n", tb->tb_id, key, plen);
net/ipv4/fib_trie.c
1221
tb->tb_id, false) : NULL;
net/ipv4/fib_trie.c
1251
(fa->tb_id != tb->tb_id) ||
net/ipv4/fib_trie.c
1286
new_fa->tb_id = tb->tb_id;
net/ipv4/fib_trie.c
1295
tb->tb_id, true) == new_fa) {
net/ipv4/fib_trie.c
1310
tb->tb_id, &cfg->fc_nlinfo, nlflags);
net/ipv4/fib_trie.c
1347
new_fa->tb_id = tb->tb_id;
net/ipv4/fib_trie.c
1365
if (fib_find_alias(&l->leaf, new_fa->fa_slen, 0, 0, tb->tb_id, true) ==
net/ipv4/fib_trie.c
1377
tb->tb_num_default++;
net/ipv4/fib_trie.c
1420
int fib_table_lookup(struct fib_table *tb, const struct flowi4 *flp,
net/ipv4/fib_trie.c
1423
struct trie *t = (struct trie *) tb->tb_data;
net/ipv4/fib_trie.c
1438
trace_fib_table_lookup(tb->tb_id, flp, NULL, -EAGAIN);
net/ipv4/fib_trie.c
1524
trace_fib_table_lookup(tb->tb_id, flp,
net/ipv4/fib_trie.c
1572
trace_fib_table_lookup(tb->tb_id, flp, NULL, err);
net/ipv4/fib_trie.c
1608
res->table = tb;
net/ipv4/fib_trie.c
1613
trace_fib_table_lookup(tb->tb_id, flp, nhc, err);
net/ipv4/fib_trie.c
1688
int fib_table_delete(struct net *net, struct fib_table *tb,
net/ipv4/fib_trie.c
1691
struct trie *t = (struct trie *) tb->tb_data;
net/ipv4/fib_trie.c
1706
fa = fib_find_alias(&l->leaf, slen, dscp, 0, tb->tb_id, false);
net/ipv4/fib_trie.c
1718
(fa->tb_id != tb->tb_id) ||
net/ipv4/fib_trie.c
1740
rtmsg_fib(RTM_DELROUTE, htonl(key), fa_to_delete, plen, tb->tb_id,
net/ipv4/fib_trie.c
1744
tb->tb_num_default--;
net/ipv4/fib_trie.c
1814
static void fib_trie_free(struct fib_table *tb)
net/ipv4/fib_trie.c
1816
struct trie *t = (struct trie *)tb->tb_data;
net/ipv4/fib_trie.c
1869
kfree(tb);
net/ipv4/fib_trie.c
1931
void fib_table_flush_external(struct fib_table *tb)
net/ipv4/fib_trie.c
1933
struct trie *t = (struct trie *)tb->tb_data;
net/ipv4/fib_trie.c
1979
if (tb->tb_id != fa->tb_id) {
net/ipv4/fib_trie.c
2000
int fib_table_flush(struct net *net, struct fib_table *tb, bool flush_all)
net/ipv4/fib_trie.c
2002
struct trie *t = (struct trie *)tb->tb_data;
net/ipv4/fib_trie.c
2049
if (!fi || tb->tb_id != fa->tb_id) {
net/ipv4/fib_trie.c
2063
KEYLENGTH - fa->fa_slen, tb->tb_id, &info, 0);
net/ipv4/fib_trie.c
2084
static void __fib_info_notify_update(struct net *net, struct fib_table *tb,
net/ipv4/fib_trie.c
2087
struct trie *t = (struct trie *)tb->tb_data;
net/ipv4/fib_trie.c
2122
if (!fi || !fi->nh_updated || fa->tb_id != tb->tb_id)
net/ipv4/fib_trie.c
2126
KEYLENGTH - fa->fa_slen, tb->tb_id,
net/ipv4/fib_trie.c
2138
struct fib_table *tb;
net/ipv4/fib_trie.c
2140
hlist_for_each_entry_rcu(tb, head, tb_hlist,
net/ipv4/fib_trie.c
2142
__fib_info_notify_update(net, tb, info);
net/ipv4/fib_trie.c
2146
static int fib_leaf_notify(struct key_vector *l, struct fib_table *tb,
net/ipv4/fib_trie.c
2163
if (tb->tb_id != fa->tb_id)
net/ipv4/fib_trie.c
2183
static int fib_table_notify(struct fib_table *tb, struct notifier_block *nb,
net/ipv4/fib_trie.c
2186
struct trie *t = (struct trie *)tb->tb_data;
net/ipv4/fib_trie.c
2192
err = fib_leaf_notify(l, tb, nb, extack);
net/ipv4/fib_trie.c
2212
struct fib_table *tb;
net/ipv4/fib_trie.c
2214
hlist_for_each_entry_rcu(tb, head, tb_hlist) {
net/ipv4/fib_trie.c
2215
err = fib_table_notify(tb, nb, extack);
net/ipv4/fib_trie.c
2225
struct fib_table *tb = container_of(head, struct fib_table, rcu);
net/ipv4/fib_trie.c
2227
struct trie *t = (struct trie *)tb->tb_data;
net/ipv4/fib_trie.c
2229
if (tb->tb_data == tb->__data)
net/ipv4/fib_trie.c
2232
kfree(tb);
net/ipv4/fib_trie.c
2235
void fib_free_table(struct fib_table *tb)
net/ipv4/fib_trie.c
2237
call_rcu(&tb->rcu, __trie_free_rcu);
net/ipv4/fib_trie.c
2240
static int fn_trie_dump_leaf(struct key_vector *l, struct fib_table *tb,
net/ipv4/fib_trie.c
2266
if (tb->tb_id != fa->tb_id)
net/ipv4/fib_trie.c
2287
fri.tb_id = tb->tb_id;
net/ipv4/fib_trie.c
2307
err = fib_dump_info_fnhe(skb, cb, tb->tb_id, fi,
net/ipv4/fib_trie.c
2327
int fib_table_dump(struct fib_table *tb, struct sk_buff *skb,
net/ipv4/fib_trie.c
2330
struct trie *t = (struct trie *)tb->tb_data;
net/ipv4/fib_trie.c
2347
err = fn_trie_dump_leaf(l, tb, skb, cb, filter);
net/ipv4/fib_trie.c
2384
struct fib_table *tb;
net/ipv4/fib_trie.c
2386
size_t sz = sizeof(*tb);
net/ipv4/fib_trie.c
2391
tb = kzalloc(sz, GFP_KERNEL);
net/ipv4/fib_trie.c
2392
if (!tb)
net/ipv4/fib_trie.c
2395
tb->tb_id = id;
net/ipv4/fib_trie.c
2396
tb->tb_num_default = 0;
net/ipv4/fib_trie.c
2397
tb->tb_data = (alias ? alias->__data : tb->__data);
net/ipv4/fib_trie.c
2400
return tb;
net/ipv4/fib_trie.c
2402
t = (struct trie *) tb->tb_data;
net/ipv4/fib_trie.c
2408
kfree(tb);
net/ipv4/fib_trie.c
2409
tb = NULL;
net/ipv4/fib_trie.c
2413
return tb;
net/ipv4/fib_trie.c
2420
struct fib_table *tb;
net/ipv4/fib_trie.c
2597
static void fib_table_print(struct seq_file *seq, struct fib_table *tb)
net/ipv4/fib_trie.c
2599
if (tb->tb_id == RT_TABLE_LOCAL)
net/ipv4/fib_trie.c
2601
else if (tb->tb_id == RT_TABLE_MAIN)
net/ipv4/fib_trie.c
2604
seq_printf(seq, "Id %d:\n", tb->tb_id);
net/ipv4/fib_trie.c
2621
struct fib_table *tb;
net/ipv4/fib_trie.c
2623
hlist_for_each_entry_rcu(tb, head, tb_hlist) {
net/ipv4/fib_trie.c
2624
struct trie *t = (struct trie *) tb->tb_data;
net/ipv4/fib_trie.c
2630
fib_table_print(seq, tb);
net/ipv4/fib_trie.c
2654
struct fib_table *tb;
net/ipv4/fib_trie.c
2656
hlist_for_each_entry_rcu(tb, head, tb_hlist) {
net/ipv4/fib_trie.c
2660
(struct trie *) tb->tb_data);
net/ipv4/fib_trie.c
2663
iter->tb = tb;
net/ipv4/fib_trie.c
2683
struct fib_table *tb = iter->tb;
net/ipv4/fib_trie.c
2695
h = tb->tb_id & (FIB_TABLE_HASHSZ - 1);
net/ipv4/fib_trie.c
2696
while ((tb_node = rcu_dereference(hlist_next_rcu(&tb->tb_hlist)))) {
net/ipv4/fib_trie.c
2697
tb = hlist_entry(tb_node, struct fib_table, tb_hlist);
net/ipv4/fib_trie.c
2698
n = fib_trie_get_first(iter, (struct trie *) tb->tb_data);
net/ipv4/fib_trie.c
2706
hlist_for_each_entry_rcu(tb, head, tb_hlist) {
net/ipv4/fib_trie.c
2707
n = fib_trie_get_first(iter, (struct trie *) tb->tb_data);
net/ipv4/fib_trie.c
2715
iter->tb = tb;
net/ipv4/fib_trie.c
2775
fib_table_print(seq, iter->tb);
net/ipv4/fib_trie.c
2865
struct fib_table *tb;
net/ipv4/fib_trie.c
2870
tb = fib_get_table(seq_file_net(seq), RT_TABLE_MAIN);
net/ipv4/fib_trie.c
2871
if (!tb)
net/ipv4/fib_trie.c
2874
iter->main_tb = tb;
net/ipv4/fib_trie.c
2875
t = (struct trie *)tb->tb_data;
net/ipv4/fib_trie.c
2942
struct fib_table *tb = iter->main_tb;
net/ipv4/fib_trie.c
2965
if (fa->tb_id != tb->tb_id)
net/ipv4/inet_connection_sock.c
227
const struct inet_bind_bucket *tb,
net/ipv4/inet_connection_sock.c
256
sk_for_each_bound_bhash(sk2, tb2, tb) {
net/ipv4/inet_connection_sock.c
324
struct inet_bind_bucket *tb;
net/ipv4/inet_connection_sock.c
372
inet_bind_bucket_for_each(tb, &head->chain)
net/ipv4/inet_connection_sock.c
373
if (inet_bind_bucket_match(tb, net, port, l3mdev)) {
net/ipv4/inet_connection_sock.c
374
if (!inet_csk_bind_conflict(sk, tb, tb2,
net/ipv4/inet_connection_sock.c
380
tb = NULL;
net/ipv4/inet_connection_sock.c
405
*tb_ret = tb;
net/ipv4/inet_connection_sock.c
411
static inline int sk_reuseport_match(struct inet_bind_bucket *tb,
net/ipv4/inet_connection_sock.c
414
if (tb->fastreuseport <= 0)
net/ipv4/inet_connection_sock.c
420
if (!uid_eq(tb->fastuid, sk_uid(sk)))
net/ipv4/inet_connection_sock.c
427
if (tb->fastreuseport == FASTREUSEPORT_ANY)
net/ipv4/inet_connection_sock.c
430
if (tb->fast_sk_family == AF_INET6)
net/ipv4/inet_connection_sock.c
431
return ipv6_rcv_saddr_equal(&tb->fast_v6_rcv_saddr,
net/ipv4/inet_connection_sock.c
433
tb->fast_rcv_saddr,
net/ipv4/inet_connection_sock.c
435
tb->fast_ipv6_only,
net/ipv4/inet_connection_sock.c
438
return ipv4_rcv_saddr_equal(tb->fast_rcv_saddr, sk->sk_rcv_saddr,
net/ipv4/inet_connection_sock.c
443
struct inet_bind_bucket *tb,
net/ipv4/inet_connection_sock.c
448
if (hlist_empty(&tb->bhash2)) {
net/ipv4/inet_connection_sock.c
449
tb->fastreuse = reuse;
net/ipv4/inet_connection_sock.c
451
tb->fastreuseport = FASTREUSEPORT_ANY;
net/ipv4/inet_connection_sock.c
452
tb->fastuid = sk_uid(sk);
net/ipv4/inet_connection_sock.c
453
tb->fast_rcv_saddr = sk->sk_rcv_saddr;
net/ipv4/inet_connection_sock.c
454
tb->fast_ipv6_only = ipv6_only_sock(sk);
net/ipv4/inet_connection_sock.c
455
tb->fast_sk_family = sk->sk_family;
net/ipv4/inet_connection_sock.c
457
tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr;
net/ipv4/inet_connection_sock.c
460
tb->fastreuseport = 0;
net/ipv4/inet_connection_sock.c
464
tb->fastreuse = 0;
net/ipv4/inet_connection_sock.c
477
if (!sk_reuseport_match(tb, sk)) {
net/ipv4/inet_connection_sock.c
478
tb->fastreuseport = FASTREUSEPORT_STRICT;
net/ipv4/inet_connection_sock.c
479
tb->fastuid = sk_uid(sk);
net/ipv4/inet_connection_sock.c
480
tb->fast_rcv_saddr = sk->sk_rcv_saddr;
net/ipv4/inet_connection_sock.c
481
tb->fast_ipv6_only = ipv6_only_sock(sk);
net/ipv4/inet_connection_sock.c
482
tb->fast_sk_family = sk->sk_family;
net/ipv4/inet_connection_sock.c
484
tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr;
net/ipv4/inet_connection_sock.c
488
tb->fastreuseport = 0;
net/ipv4/inet_connection_sock.c
492
tb2->fastreuse = tb->fastreuse;
net/ipv4/inet_connection_sock.c
493
tb2->fastreuseport = tb->fastreuseport;
net/ipv4/inet_connection_sock.c
509
struct inet_bind_bucket *tb = NULL;
net/ipv4/inet_connection_sock.c
516
head = inet_csk_find_open_port(sk, &tb, &tb2, &head2, &port);
net/ipv4/inet_connection_sock.c
522
if (tb && tb2)
net/ipv4/inet_connection_sock.c
529
inet_bind_bucket_for_each(tb, &head->chain)
net/ipv4/inet_connection_sock.c
530
if (inet_bind_bucket_match(tb, net, port, l3mdev))
net/ipv4/inet_connection_sock.c
534
if (!tb) {
net/ipv4/inet_connection_sock.c
535
tb = inet_bind_bucket_create(hinfo->bind_bucket_cachep, net,
net/ipv4/inet_connection_sock.c
537
if (!tb)
net/ipv4/inet_connection_sock.c
543
if (!hlist_empty(&tb->bhash2)) {
net/ipv4/inet_connection_sock.c
545
(tb->fastreuse > 0 && reuse) ||
net/ipv4/inet_connection_sock.c
546
sk_reuseport_match(tb, sk))
net/ipv4/inet_connection_sock.c
563
net, head2, tb, sk);
net/ipv4/inet_connection_sock.c
570
if (inet_csk_bind_conflict(sk, tb, tb2, true, true))
net/ipv4/inet_connection_sock.c
575
inet_csk_update_fastreuse(sk, tb, tb2);
net/ipv4/inet_connection_sock.c
578
inet_bind_hash(sk, tb, tb2, port);
net/ipv4/inet_connection_sock.c
579
WARN_ON(inet_csk(sk)->icsk_bind_hash != tb);
net/ipv4/inet_connection_sock.c
588
inet_bind_bucket_destroy(tb);
net/ipv4/inet_hashtables.c
101
void inet_bind_bucket_destroy(struct inet_bind_bucket *tb)
net/ipv4/inet_hashtables.c
105
if (hlist_empty(&tb->bhash2)) {
net/ipv4/inet_hashtables.c
1053
struct inet_bind_bucket *tb;
net/ipv4/inet_hashtables.c
106
hlist_del_rcu(&tb->node);
net/ipv4/inet_hashtables.c
107
kfree_rcu(tb, rcu);
net/ipv4/inet_hashtables.c
111
if (tb->fastreuse == -1 && tb->fastreuseport == -1)
net/ipv4/inet_hashtables.c
1122
hlist_for_each_entry_rcu(tb, &head->chain, node) {
net/ipv4/inet_hashtables.c
1123
if (!inet_bind_bucket_match(tb, net, port, l3mdev))
net/ipv4/inet_hashtables.c
1125
if (tb->fastreuse >= 0 || tb->fastreuseport >= 0) {
net/ipv4/inet_hashtables.c
113
hlist_for_each_entry(tb2, &tb->bhash2, bhash_node) {
net/ipv4/inet_hashtables.c
1142
inet_bind_bucket_for_each(tb, &head->chain) {
net/ipv4/inet_hashtables.c
1143
if (inet_bind_bucket_match(tb, net, port, l3mdev)) {
net/ipv4/inet_hashtables.c
1144
if (tb->fastreuse >= 0 ||
net/ipv4/inet_hashtables.c
1145
tb->fastreuseport >= 0)
net/ipv4/inet_hashtables.c
1147
WARN_ON(hlist_empty(&tb->bhash2));
net/ipv4/inet_hashtables.c
1156
tb = inet_bind_bucket_create(hinfo->bind_bucket_cachep,
net/ipv4/inet_hashtables.c
1158
if (!tb) {
net/ipv4/inet_hashtables.c
1163
tb->fastreuse = -1;
net/ipv4/inet_hashtables.c
1164
tb->fastreuseport = -1;
net/ipv4/inet_hashtables.c
117
tb->fastreuse = -1;
net/ipv4/inet_hashtables.c
118
tb->fastreuseport = -1;
net/ipv4/inet_hashtables.c
1189
head2, tb, sk);
net/ipv4/inet_hashtables.c
1205
inet_bind_hash(sk, tb, tb2, port);
net/ipv4/inet_hashtables.c
121
bool inet_bind_bucket_match(const struct inet_bind_bucket *tb, const struct net *net,
net/ipv4/inet_hashtables.c
124
return net_eq(ib_net(tb), net) && tb->port == port &&
net/ipv4/inet_hashtables.c
1243
inet_bind_bucket_destroy(tb);
net/ipv4/inet_hashtables.c
125
tb->l3mdev == l3mdev;
net/ipv4/inet_hashtables.c
131
struct inet_bind_bucket *tb,
net/ipv4/inet_hashtables.c
135
tb2->l3mdev = tb->l3mdev;
net/ipv4/inet_hashtables.c
136
tb2->port = tb->port;
net/ipv4/inet_hashtables.c
153
hlist_add_head(&tb2->bhash_node, &tb->bhash2);
net/ipv4/inet_hashtables.c
159
struct inet_bind_bucket *tb,
net/ipv4/inet_hashtables.c
165
inet_bind2_bucket_init(tb2, net, head, tb, sk);
net/ipv4/inet_hashtables.c
171
void inet_bind2_bucket_destroy(struct kmem_cache *cachep, struct inet_bind2_bucket *tb)
net/ipv4/inet_hashtables.c
175
if (hlist_empty(&tb->owners)) {
net/ipv4/inet_hashtables.c
176
__hlist_del(&tb->node);
net/ipv4/inet_hashtables.c
177
__hlist_del(&tb->bhash_node);
net/ipv4/inet_hashtables.c
178
kmem_cache_free(cachep, tb);
net/ipv4/inet_hashtables.c
182
if (tb->fastreuse == -1 && tb->fastreuseport == -1)
net/ipv4/inet_hashtables.c
184
sk_for_each_bound(sk, &tb->owners) {
net/ipv4/inet_hashtables.c
188
tb->fastreuse = -1;
net/ipv4/inet_hashtables.c
189
tb->fastreuseport = -1;
net/ipv4/inet_hashtables.c
205
void inet_bind_hash(struct sock *sk, struct inet_bind_bucket *tb,
net/ipv4/inet_hashtables.c
209
inet_csk(sk)->icsk_bind_hash = tb;
net/ipv4/inet_hashtables.c
222
struct inet_bind_bucket *tb;
net/ipv4/inet_hashtables.c
230
tb = inet_csk(sk)->icsk_bind_hash;
net/ipv4/inet_hashtables.c
245
inet_bind_bucket_destroy(tb);
net/ipv4/inet_hashtables.c
265
struct inet_bind_bucket *tb;
net/ipv4/inet_hashtables.c
274
tb = inet_csk(sk)->icsk_bind_hash;
net/ipv4/inet_hashtables.c
276
if (unlikely(!tb || !tb2)) {
net/ipv4/inet_hashtables.c
281
if (tb->port != port) {
net/ipv4/inet_hashtables.c
289
inet_bind_bucket_for_each(tb, &head->chain) {
net/ipv4/inet_hashtables.c
290
if (inet_bind_bucket_match(tb, net, port, l3mdev))
net/ipv4/inet_hashtables.c
293
if (!tb) {
net/ipv4/inet_hashtables.c
294
tb = inet_bind_bucket_create(table->bind_bucket_cachep,
net/ipv4/inet_hashtables.c
296
if (!tb) {
net/ipv4/inet_hashtables.c
313
net, head2, tb, child);
net/ipv4/inet_hashtables.c
319
inet_csk_update_fastreuse(child, tb, tb2);
net/ipv4/inet_hashtables.c
320
inet_bind_hash(child, tb, tb2, port);
net/ipv4/inet_hashtables.c
328
inet_bind_bucket_destroy(tb);
net/ipv4/inet_hashtables.c
763
struct inet_bind_bucket *tb = inet_csk(sk)->icsk_bind_hash;
net/ipv4/inet_hashtables.c
773
inet_csk(sk2)->icsk_bind_hash == tb &&
net/ipv4/inet_hashtables.c
84
struct inet_bind_bucket *tb = kmem_cache_alloc(cachep, GFP_ATOMIC);
net/ipv4/inet_hashtables.c
859
static bool inet_bind2_bucket_match(const struct inet_bind2_bucket *tb,
net/ipv4/inet_hashtables.c
86
if (tb) {
net/ipv4/inet_hashtables.c
863
if (!net_eq(ib2_net(tb), net) || tb->port != port ||
net/ipv4/inet_hashtables.c
864
tb->l3mdev != l3mdev)
net/ipv4/inet_hashtables.c
867
return inet_bind2_bucket_addr_match(tb, sk);
net/ipv4/inet_hashtables.c
87
write_pnet(&tb->ib_net, net);
net/ipv4/inet_hashtables.c
870
bool inet_bind2_bucket_match_addr_any(const struct inet_bind2_bucket *tb, const struct net *net,
net/ipv4/inet_hashtables.c
873
if (!net_eq(ib2_net(tb), net) || tb->port != port ||
net/ipv4/inet_hashtables.c
874
tb->l3mdev != l3mdev)
net/ipv4/inet_hashtables.c
878
if (tb->addr_type == IPV6_ADDR_ANY)
net/ipv4/inet_hashtables.c
88
tb->l3mdev = l3mdev;
net/ipv4/inet_hashtables.c
881
if (tb->addr_type != IPV6_ADDR_MAPPED)
net/ipv4/inet_hashtables.c
888
return tb->rcv_saddr == 0;
net/ipv4/inet_hashtables.c
89
tb->port = snum;
net/ipv4/inet_hashtables.c
90
tb->fastreuse = 0;
net/ipv4/inet_hashtables.c
91
tb->fastreuseport = 0;
net/ipv4/inet_hashtables.c
92
INIT_HLIST_HEAD(&tb->bhash2);
net/ipv4/inet_hashtables.c
93
hlist_add_head_rcu(&tb->node, &head->chain);
net/ipv4/inet_hashtables.c
95
return tb;
net/ipv4/inet_timewait_sock.c
34
struct inet_bind_bucket *tb = tw->tw_tb;
net/ipv4/inet_timewait_sock.c
36
if (!tb)
net/ipv4/inet_timewait_sock.c
43
inet_bind_bucket_destroy(tb);
net/ipv4/ip_gre.c
1093
static int ipgre_tunnel_validate(struct nlattr *tb[], struct nlattr *data[],
net/ipv4/ip_gre.c
1117
static int ipgre_tap_validate(struct nlattr *tb[], struct nlattr *data[],
net/ipv4/ip_gre.c
1122
if (tb[IFLA_ADDRESS]) {
net/ipv4/ip_gre.c
1123
if (nla_len(tb[IFLA_ADDRESS]) != ETH_ALEN)
net/ipv4/ip_gre.c
1125
if (!is_valid_ether_addr(nla_data(tb[IFLA_ADDRESS])))
net/ipv4/ip_gre.c
1139
return ipgre_tunnel_validate(tb, data, extack);
net/ipv4/ip_gre.c
1142
static int erspan_validate(struct nlattr *tb[], struct nlattr *data[],
net/ipv4/ip_gre.c
1151
ret = ipgre_tap_validate(tb, data, extack);
net/ipv4/ip_gre.c
1184
struct nlattr *tb[],
net/ipv4/ip_gre.c
1253
struct nlattr *tb[],
net/ipv4/ip_gre.c
1260
err = ipgre_netlink_parms(dev, data, tb, parms, fwmark);
net/ipv4/ip_gre.c
1414
struct nlattr **tb = params->tb;
net/ipv4/ip_gre.c
1423
err = ipgre_netlink_parms(dev, data, tb, &p, &fwmark);
net/ipv4/ip_gre.c
1426
return ip_tunnel_newlink(params->link_net ? : dev_net(dev), dev, tb, &p,
net/ipv4/ip_gre.c
1435
struct nlattr **tb = params->tb;
net/ipv4/ip_gre.c
1444
err = erspan_netlink_parms(dev, data, tb, &p, &fwmark);
net/ipv4/ip_gre.c
1447
return ip_tunnel_newlink(params->link_net ? : dev_net(dev), dev, tb, &p,
net/ipv4/ip_gre.c
1451
static int ipgre_changelink(struct net_device *dev, struct nlattr *tb[],
net/ipv4/ip_gre.c
1467
err = ipgre_netlink_parms(dev, data, tb, &p, &fwmark);
net/ipv4/ip_gre.c
1471
err = ip_tunnel_changelink(dev, tb, &p, fwmark);
net/ipv4/ip_gre.c
1478
ipgre_link_update(dev, !tb[IFLA_MTU]);
net/ipv4/ip_gre.c
1483
static int erspan_changelink(struct net_device *dev, struct nlattr *tb[],
net/ipv4/ip_gre.c
1499
err = erspan_netlink_parms(dev, data, tb, &p, &fwmark);
net/ipv4/ip_gre.c
1503
err = ip_tunnel_changelink(dev, tb, &p, fwmark);
net/ipv4/ip_gre.c
1723
struct nlattr *tb[IFLA_MAX + 1];
net/ipv4/ip_gre.c
1729
memset(&tb, 0, sizeof(tb));
net/ipv4/ip_gre.c
1730
params.tb = tb;
net/ipv4/ip_gre.c
1733
&ipgre_tap_ops, tb, NULL);
net/ipv4/ip_tunnel.c
1196
struct nlattr *tb[], struct ip_tunnel_parm_kern *p,
net/ipv4/ip_tunnel.c
1222
if (dev->type == ARPHRD_ETHER && !tb[IFLA_ADDRESS])
net/ipv4/ip_tunnel.c
1226
if (tb[IFLA_MTU]) {
net/ipv4/ip_tunnel.c
1249
int ip_tunnel_changelink(struct net_device *dev, struct nlattr *tb[],
net/ipv4/ip_tunnel.c
1282
ip_tunnel_update(itn, t, dev, p, !tb[IFLA_MTU], fwmark);
net/ipv4/ip_tunnel_core.c
1003
err = ip_tun_set_opts(tb[LWTUNNEL_IP6_OPTS], tun_info, extack);
net/ipv4/ip_tunnel_core.c
1009
if (tb[LWTUNNEL_IP6_ID])
net/ipv4/ip_tunnel_core.c
1010
tun_info->key.tun_id = nla_get_be64(tb[LWTUNNEL_IP6_ID]);
net/ipv4/ip_tunnel_core.c
1012
if (tb[LWTUNNEL_IP6_DST])
net/ipv4/ip_tunnel_core.c
1013
tun_info->key.u.ipv6.dst = nla_get_in6_addr(tb[LWTUNNEL_IP6_DST]);
net/ipv4/ip_tunnel_core.c
1015
if (tb[LWTUNNEL_IP6_SRC])
net/ipv4/ip_tunnel_core.c
1016
tun_info->key.u.ipv6.src = nla_get_in6_addr(tb[LWTUNNEL_IP6_SRC]);
net/ipv4/ip_tunnel_core.c
1018
if (tb[LWTUNNEL_IP6_HOPLIMIT])
net/ipv4/ip_tunnel_core.c
1019
tun_info->key.ttl = nla_get_u8(tb[LWTUNNEL_IP6_HOPLIMIT]);
net/ipv4/ip_tunnel_core.c
1021
if (tb[LWTUNNEL_IP6_TC])
net/ipv4/ip_tunnel_core.c
1022
tun_info->key.tos = nla_get_u8(tb[LWTUNNEL_IP6_TC]);
net/ipv4/ip_tunnel_core.c
1024
if (tb[LWTUNNEL_IP6_FLAGS]) {
net/ipv4/ip_tunnel_core.c
1028
data = nla_get_be16(tb[LWTUNNEL_IP6_FLAGS]);
net/ipv4/ip_tunnel_core.c
503
struct nlattr *tb[LWTUNNEL_IP_OPT_GENEVE_MAX + 1];
net/ipv4/ip_tunnel_core.c
506
err = nla_parse_nested(tb, LWTUNNEL_IP_OPT_GENEVE_MAX, attr,
net/ipv4/ip_tunnel_core.c
511
if (!tb[LWTUNNEL_IP_OPT_GENEVE_CLASS] ||
net/ipv4/ip_tunnel_core.c
512
!tb[LWTUNNEL_IP_OPT_GENEVE_TYPE] ||
net/ipv4/ip_tunnel_core.c
513
!tb[LWTUNNEL_IP_OPT_GENEVE_DATA])
net/ipv4/ip_tunnel_core.c
516
attr = tb[LWTUNNEL_IP_OPT_GENEVE_DATA];
net/ipv4/ip_tunnel_core.c
526
attr = tb[LWTUNNEL_IP_OPT_GENEVE_CLASS];
net/ipv4/ip_tunnel_core.c
528
attr = tb[LWTUNNEL_IP_OPT_GENEVE_TYPE];
net/ipv4/ip_tunnel_core.c
540
struct nlattr *tb[LWTUNNEL_IP_OPT_VXLAN_MAX + 1];
net/ipv4/ip_tunnel_core.c
543
err = nla_parse_nested(tb, LWTUNNEL_IP_OPT_VXLAN_MAX, attr,
net/ipv4/ip_tunnel_core.c
548
if (!tb[LWTUNNEL_IP_OPT_VXLAN_GBP])
net/ipv4/ip_tunnel_core.c
555
attr = tb[LWTUNNEL_IP_OPT_VXLAN_GBP];
net/ipv4/ip_tunnel_core.c
568
struct nlattr *tb[LWTUNNEL_IP_OPT_ERSPAN_MAX + 1];
net/ipv4/ip_tunnel_core.c
572
err = nla_parse_nested(tb, LWTUNNEL_IP_OPT_ERSPAN_MAX, attr,
net/ipv4/ip_tunnel_core.c
577
if (!tb[LWTUNNEL_IP_OPT_ERSPAN_VER])
net/ipv4/ip_tunnel_core.c
580
ver = nla_get_u8(tb[LWTUNNEL_IP_OPT_ERSPAN_VER]);
net/ipv4/ip_tunnel_core.c
582
if (!tb[LWTUNNEL_IP_OPT_ERSPAN_INDEX])
net/ipv4/ip_tunnel_core.c
585
if (!tb[LWTUNNEL_IP_OPT_ERSPAN_DIR] ||
net/ipv4/ip_tunnel_core.c
586
!tb[LWTUNNEL_IP_OPT_ERSPAN_HWID])
net/ipv4/ip_tunnel_core.c
598
attr = tb[LWTUNNEL_IP_OPT_ERSPAN_INDEX];
net/ipv4/ip_tunnel_core.c
601
attr = tb[LWTUNNEL_IP_OPT_ERSPAN_DIR];
net/ipv4/ip_tunnel_core.c
603
attr = tb[LWTUNNEL_IP_OPT_ERSPAN_HWID];
net/ipv4/ip_tunnel_core.c
687
struct nlattr *tb[LWTUNNEL_IP_MAX + 1];
net/ipv4/ip_tunnel_core.c
692
err = nla_parse_nested_deprecated(tb, LWTUNNEL_IP_MAX, attr,
net/ipv4/ip_tunnel_core.c
697
opt_len = ip_tun_get_optlen(tb[LWTUNNEL_IP_OPTS], extack);
net/ipv4/ip_tunnel_core.c
709
err = ip_tun_set_opts(tb[LWTUNNEL_IP_OPTS], tun_info, extack);
net/ipv4/ip_tunnel_core.c
723
if (tb[LWTUNNEL_IP_ID])
net/ipv4/ip_tunnel_core.c
724
tun_info->key.tun_id = nla_get_be64(tb[LWTUNNEL_IP_ID]);
net/ipv4/ip_tunnel_core.c
726
if (tb[LWTUNNEL_IP_DST])
net/ipv4/ip_tunnel_core.c
727
tun_info->key.u.ipv4.dst = nla_get_in_addr(tb[LWTUNNEL_IP_DST]);
net/ipv4/ip_tunnel_core.c
729
if (tb[LWTUNNEL_IP_SRC])
net/ipv4/ip_tunnel_core.c
730
tun_info->key.u.ipv4.src = nla_get_in_addr(tb[LWTUNNEL_IP_SRC]);
net/ipv4/ip_tunnel_core.c
732
if (tb[LWTUNNEL_IP_TTL])
net/ipv4/ip_tunnel_core.c
733
tun_info->key.ttl = nla_get_u8(tb[LWTUNNEL_IP_TTL]);
net/ipv4/ip_tunnel_core.c
735
if (tb[LWTUNNEL_IP_TOS])
net/ipv4/ip_tunnel_core.c
736
tun_info->key.tos = nla_get_u8(tb[LWTUNNEL_IP_TOS]);
net/ipv4/ip_tunnel_core.c
738
if (tb[LWTUNNEL_IP_FLAGS]) {
net/ipv4/ip_tunnel_core.c
742
nla_get_be16(tb[LWTUNNEL_IP_FLAGS]));
net/ipv4/ip_tunnel_core.c
981
struct nlattr *tb[LWTUNNEL_IP6_MAX + 1];
net/ipv4/ip_tunnel_core.c
986
err = nla_parse_nested_deprecated(tb, LWTUNNEL_IP6_MAX, attr,
net/ipv4/ip_tunnel_core.c
991
opt_len = ip_tun_get_optlen(tb[LWTUNNEL_IP6_OPTS], extack);
net/ipv4/ip_vti.c
539
static int vti_tunnel_validate(struct nlattr *tb[], struct nlattr *data[],
net/ipv4/ip_vti.c
583
struct nlattr **tb = params->tb;
net/ipv4/ip_vti.c
587
return ip_tunnel_newlink(params->link_net ? : dev_net(dev), dev, tb,
net/ipv4/ip_vti.c
591
static int vti_changelink(struct net_device *dev, struct nlattr *tb[],
net/ipv4/ip_vti.c
603
return ip_tunnel_changelink(dev, tb, &p, fwmark);
net/ipv4/ipip.c
426
static int ipip_tunnel_validate(struct nlattr *tb[], struct nlattr *data[],
net/ipv4/ipip.c
470
struct nlattr **tb = params->tb;
net/ipv4/ipip.c
483
return ip_tunnel_newlink(params->link_net ? : dev_net(dev), dev, tb, &p,
net/ipv4/ipip.c
487
static int ipip_changelink(struct net_device *dev, struct nlattr *tb[],
net/ipv4/ipip.c
515
return ip_tunnel_changelink(dev, tb, &p, fwmark);
net/ipv4/ipmr.c
208
struct fib_rule_hdr *frh, struct nlattr **tb,
net/ipv4/ipmr.c
215
struct nlattr **tb)
net/ipv4/ipmr.c
2670
struct nlattr **tb,
net/ipv4/ipmr.c
2683
return nlmsg_parse_deprecated(nlh, sizeof(*rtm), tb, RTA_MAX,
net/ipv4/ipmr.c
2694
err = nlmsg_parse_deprecated_strict(nlh, sizeof(*rtm), tb, RTA_MAX,
net/ipv4/ipmr.c
2699
if ((tb[RTA_SRC] && !rtm->rtm_src_len) ||
net/ipv4/ipmr.c
2700
(tb[RTA_DST] && !rtm->rtm_dst_len)) {
net/ipv4/ipmr.c
2706
if (!tb[i])
net/ipv4/ipmr.c
2727
struct nlattr *tb[RTA_MAX + 1];
net/ipv4/ipmr.c
2735
err = ipmr_rtm_valid_getroute_req(in_skb, nlh, tb, extack);
net/ipv4/ipmr.c
2739
src = nla_get_in_addr_default(tb[RTA_SRC], 0);
net/ipv4/ipmr.c
2740
grp = nla_get_in_addr_default(tb[RTA_DST], 0);
net/ipv4/ipmr.c
2741
tableid = nla_get_u32_default(tb[RTA_TABLE], 0);
net/ipv4/netfilter/nft_dup_ipv4.c
35
const struct nlattr * const tb[])
net/ipv4/netfilter/nft_dup_ipv4.c
40
if (tb[NFTA_DUP_SREG_ADDR] == NULL)
net/ipv4/netfilter/nft_dup_ipv4.c
43
err = nft_parse_register_load(ctx, tb[NFTA_DUP_SREG_ADDR], &priv->sreg_addr,
net/ipv4/netfilter/nft_dup_ipv4.c
48
if (tb[NFTA_DUP_SREG_DEV])
net/ipv4/netfilter/nft_dup_ipv4.c
49
err = nft_parse_register_load(ctx, tb[NFTA_DUP_SREG_DEV],
net/ipv4/netfilter/nft_fib_ipv4.c
179
const struct nlattr * const tb[])
net/ipv4/netfilter/nft_fib_ipv4.c
183
if (!tb[NFTA_FIB_RESULT])
net/ipv4/netfilter/nft_fib_ipv4.c
186
result = ntohl(nla_get_be32(tb[NFTA_FIB_RESULT]));
net/ipv4/nexthop.c
1283
struct nlattr *tb[], size_t tb_size,
net/ipv4/nexthop.c
1286
unsigned int len = nla_len(tb[NHA_GROUP]);
net/ipv4/nexthop.c
1299
nhg = nla_data(tb[NHA_GROUP]);
net/ipv4/nexthop.c
1320
nhg = nla_data(tb[NHA_GROUP]);
net/ipv4/nexthop.c
1322
if (!tb[i])
net/ipv4/nexthop.c
1341
static int nh_check_attr_group_rtnl(struct net *net, struct nlattr *tb[],
net/ipv4/nexthop.c
1350
len = nla_len(tb[NHA_GROUP]) / sizeof(*nhg);
net/ipv4/nexthop.c
1351
nhg = nla_data(tb[NHA_GROUP]);
net/ipv4/nexthop.c
1352
nhg_fdb = !!tb[NHA_FDB];
net/ipv4/nexthop.c
3066
struct nlattr *tb[ARRAY_SIZE(rtm_nh_res_policy_new)] = {};
net/ipv4/nexthop.c
3070
err = nla_parse_nested(tb,
net/ipv4/nexthop.c
3077
if (tb[NHA_RES_GROUP_BUCKETS]) {
net/ipv4/nexthop.c
3079
nla_get_u16(tb[NHA_RES_GROUP_BUCKETS]);
net/ipv4/nexthop.c
3087
err = rtm_nh_get_timer(tb[NHA_RES_GROUP_IDLE_TIMER],
net/ipv4/nexthop.c
3095
return rtm_nh_get_timer(tb[NHA_RES_GROUP_UNBALANCED_TIMER],
net/ipv4/nexthop.c
3103
struct nlmsghdr *nlh, struct nlattr **tb,
net/ipv4/nexthop.c
3125
if (tb[NHA_GROUP])
net/ipv4/nexthop.c
3143
if (tb[NHA_ID])
net/ipv4/nexthop.c
3144
cfg->nh_id = nla_get_u32(tb[NHA_ID]);
net/ipv4/nexthop.c
3146
if (tb[NHA_FDB]) {
net/ipv4/nexthop.c
3147
if (tb[NHA_OIF] || tb[NHA_BLACKHOLE] ||
net/ipv4/nexthop.c
3148
tb[NHA_ENCAP] || tb[NHA_ENCAP_TYPE]) {
net/ipv4/nexthop.c
3156
cfg->nh_fdb = nla_get_flag(tb[NHA_FDB]);
net/ipv4/nexthop.c
3159
if (tb[NHA_GROUP]) {
net/ipv4/nexthop.c
3164
cfg->nh_grp = tb[NHA_GROUP];
net/ipv4/nexthop.c
3167
if (tb[NHA_GROUP_TYPE])
net/ipv4/nexthop.c
3168
cfg->nh_grp_type = nla_get_u16(tb[NHA_GROUP_TYPE]);
net/ipv4/nexthop.c
3175
err = nh_check_attr_group(net, tb, ARRAY_SIZE(rtm_nh_policy_new),
net/ipv4/nexthop.c
3181
err = rtm_to_nh_config_grp_res(tb[NHA_RES_GROUP],
net/ipv4/nexthop.c
3184
if (tb[NHA_HW_STATS_ENABLE])
net/ipv4/nexthop.c
3185
cfg->nh_hw_stats = nla_get_u32(tb[NHA_HW_STATS_ENABLE]);
net/ipv4/nexthop.c
3191
if (tb[NHA_BLACKHOLE]) {
net/ipv4/nexthop.c
3192
if (tb[NHA_GATEWAY] || tb[NHA_OIF] ||
net/ipv4/nexthop.c
3193
tb[NHA_ENCAP] || tb[NHA_ENCAP_TYPE] || tb[NHA_FDB]) {
net/ipv4/nexthop.c
3203
if (!cfg->nh_fdb && !tb[NHA_OIF]) {
net/ipv4/nexthop.c
3209
if (tb[NHA_GATEWAY]) {
net/ipv4/nexthop.c
3210
struct nlattr *gwa = tb[NHA_GATEWAY];
net/ipv4/nexthop.c
3241
if (tb[NHA_ENCAP]) {
net/ipv4/nexthop.c
3242
cfg->nh_encap = tb[NHA_ENCAP];
net/ipv4/nexthop.c
3244
if (!tb[NHA_ENCAP_TYPE]) {
net/ipv4/nexthop.c
3249
cfg->nh_encap_type = nla_get_u16(tb[NHA_ENCAP_TYPE]);
net/ipv4/nexthop.c
3254
} else if (tb[NHA_ENCAP_TYPE]) {
net/ipv4/nexthop.c
3259
if (tb[NHA_HW_STATS_ENABLE]) {
net/ipv4/nexthop.c
3269
static int rtm_to_nh_config_rtnl(struct net *net, struct nlattr **tb,
net/ipv4/nexthop.c
3273
if (tb[NHA_GROUP])
net/ipv4/nexthop.c
3274
return nh_check_attr_group_rtnl(net, tb, extack);
net/ipv4/nexthop.c
3276
if (tb[NHA_OIF]) {
net/ipv4/nexthop.c
3277
cfg->nh_ifindex = nla_get_u32(tb[NHA_OIF]);
net/ipv4/nexthop.c
3304
struct nlattr *tb[ARRAY_SIZE(rtm_nh_policy_new)];
net/ipv4/nexthop.c
3310
err = nlmsg_parse(nlh, sizeof(struct nhmsg), tb,
net/ipv4/nexthop.c
3316
err = rtm_to_nh_config(net, skb, nlh, tb, &cfg, extack);
net/ipv4/nexthop.c
3328
err = rtm_to_nh_config_rtnl(net, tb, &cfg, extack);
net/ipv4/nexthop.c
3343
struct nlattr **tb, u32 *id, u32 *op_flags,
net/ipv4/nexthop.c
3353
if (!tb[NHA_ID]) {
net/ipv4/nexthop.c
3358
*id = nla_get_u32(tb[NHA_ID]);
net/ipv4/nexthop.c
3365
*op_flags = nla_get_u32_default(tb[NHA_OP_FLAGS], 0);
net/ipv4/nexthop.c
3374
struct nlattr *tb[ARRAY_SIZE(rtm_nh_policy_del)];
net/ipv4/nexthop.c
3385
err = nlmsg_parse(nlh, sizeof(struct nhmsg), tb,
net/ipv4/nexthop.c
3391
err = nh_valid_get_del_req(nlh, tb, &id, NULL, extack);
net/ipv4/nexthop.c
3412
struct nlattr *tb[ARRAY_SIZE(rtm_nh_policy_get)];
net/ipv4/nexthop.c
3420
err = nlmsg_parse(nlh, sizeof(struct nhmsg), tb,
net/ipv4/nexthop.c
3426
err = nh_valid_get_del_req(nlh, tb, &id, &op_flags, extack);
net/ipv4/nexthop.c
3502
static int __nh_valid_dump_req(const struct nlmsghdr *nlh, struct nlattr **tb,
net/ipv4/nexthop.c
3509
if (tb[NHA_OIF]) {
net/ipv4/nexthop.c
3510
idx = nla_get_u32(tb[NHA_OIF]);
net/ipv4/nexthop.c
3517
if (tb[NHA_MASTER]) {
net/ipv4/nexthop.c
3518
idx = nla_get_u32(tb[NHA_MASTER]);
net/ipv4/nexthop.c
3525
filter->group_filter = nla_get_flag(tb[NHA_GROUPS]);
net/ipv4/nexthop.c
3526
filter->fdb_filter = nla_get_flag(tb[NHA_FDB]);
net/ipv4/nexthop.c
3541
struct nlattr *tb[ARRAY_SIZE(rtm_nh_policy_dump)];
net/ipv4/nexthop.c
3544
err = nlmsg_parse(nlh, sizeof(struct nhmsg), tb,
net/ipv4/nexthop.c
3550
filter->op_flags = nla_get_u32_default(tb[NHA_OP_FLAGS], 0);
net/ipv4/nexthop.c
3552
return __nh_valid_dump_req(nlh, tb, filter, cb->extack);
net/ipv4/nexthop.c
3712
struct nlattr *tb[ARRAY_SIZE(rtm_nh_policy_dump_bucket)];
net/ipv4/nexthop.c
3715
err = nlmsg_parse(nlh, sizeof(struct nhmsg), tb,
net/ipv4/nexthop.c
3721
err = nh_valid_dump_nhid(tb[NHA_ID], &filter->nh_id, cb->extack);
net/ipv4/nexthop.c
3725
if (tb[NHA_RES_BUCKET]) {
net/ipv4/nexthop.c
3729
tb[NHA_RES_BUCKET],
net/ipv4/nexthop.c
3742
return __nh_valid_dump_req(nlh, tb, filter, cb->extack);
net/ipv4/nexthop.c
3860
struct nlattr *tb[ARRAY_SIZE(rtm_nh_res_bucket_policy_get)];
net/ipv4/nexthop.c
3863
err = nla_parse_nested(tb, ARRAY_SIZE(rtm_nh_res_bucket_policy_get) - 1,
net/ipv4/nexthop.c
3868
if (!tb[NHA_RES_BUCKET_INDEX]) {
net/ipv4/nexthop.c
3873
*bucket_index = nla_get_u16(tb[NHA_RES_BUCKET_INDEX]);
net/ipv4/nexthop.c
3881
struct nlattr *tb[ARRAY_SIZE(rtm_nh_policy_get_bucket)];
net/ipv4/nexthop.c
3884
err = nlmsg_parse(nlh, sizeof(struct nhmsg), tb,
net/ipv4/nexthop.c
3890
err = nh_valid_get_del_req(nlh, tb, id, NULL, extack);
net/ipv4/nexthop.c
3894
if (!tb[NHA_RES_BUCKET]) {
net/ipv4/nexthop.c
3899
err = nh_valid_get_bucket_req_res_bucket(tb[NHA_RES_BUCKET],
net/ipv4/route.c
3218
struct nlattr **tb,
net/ipv4/route.c
3232
return nlmsg_parse_deprecated(nlh, sizeof(*rtm), tb, RTA_MAX,
net/ipv4/route.c
3250
err = nlmsg_parse_deprecated_strict(nlh, sizeof(*rtm), tb, RTA_MAX,
net/ipv4/route.c
3255
if ((tb[RTA_SRC] && !rtm->rtm_src_len) ||
net/ipv4/route.c
3256
(tb[RTA_DST] && !rtm->rtm_dst_len)) {
net/ipv4/route.c
3262
if (!tb[i])
net/ipv4/route.c
3289
struct nlattr *tb[RTA_MAX+1];
net/ipv4/route.c
3306
err = inet_rtm_valid_getroute_req(in_skb, nlh, tb, extack);
net/ipv4/route.c
3311
src = nla_get_in_addr_default(tb[RTA_SRC], 0);
net/ipv4/route.c
3312
dst = nla_get_in_addr_default(tb[RTA_DST], 0);
net/ipv4/route.c
3313
iif = nla_get_u32_default(tb[RTA_IIF], 0);
net/ipv4/route.c
3314
mark = nla_get_u32_default(tb[RTA_MARK], 0);
net/ipv4/route.c
3316
if (tb[RTA_UID])
net/ipv4/route.c
3317
uid = make_kuid(current_user_ns(), nla_get_u32(tb[RTA_UID]));
net/ipv4/route.c
3321
if (tb[RTA_IP_PROTO]) {
net/ipv4/route.c
3322
err = rtm_getroute_parse_ip_proto(tb[RTA_IP_PROTO],
net/ipv4/route.c
3328
if (tb[RTA_SPORT])
net/ipv4/route.c
3329
sport = nla_get_be16(tb[RTA_SPORT]);
net/ipv4/route.c
3331
if (tb[RTA_DPORT])
net/ipv4/route.c
3332
dport = nla_get_be16(tb[RTA_DPORT]);
net/ipv4/route.c
3341
fl4.flowi4_oif = nla_get_u32_default(tb[RTA_OIF], 0);
net/ipv6/addrconf.c
4814
struct nlattr *tb[IFA_MAX+1];
net/ipv6/addrconf.c
4819
err = nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFA_MAX,
net/ipv6/addrconf.c
4825
pfx = extract_addr(tb[IFA_ADDRESS], tb[IFA_LOCAL], &peer_pfx);
net/ipv6/addrconf.c
4829
ifa_flags = nla_get_u32_default(tb[IFA_FLAGS], ifm->ifa_flags);
net/ipv6/addrconf.c
4988
struct nlattr *tb[IFA_MAX+1];
net/ipv6/addrconf.c
5000
err = nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFA_MAX,
net/ipv6/addrconf.c
5008
cfg.pfx = extract_addr(tb[IFA_ADDRESS], tb[IFA_LOCAL], &peer_pfx);
net/ipv6/addrconf.c
5014
if (tb[IFA_RT_PRIORITY])
net/ipv6/addrconf.c
5015
cfg.rt_priority = nla_get_u32(tb[IFA_RT_PRIORITY]);
net/ipv6/addrconf.c
5017
if (tb[IFA_PROTO])
net/ipv6/addrconf.c
5018
cfg.ifa_proto = nla_get_u8(tb[IFA_PROTO]);
net/ipv6/addrconf.c
5020
cfg.ifa_flags = nla_get_u32_default(tb[IFA_FLAGS], ifm->ifa_flags);
net/ipv6/addrconf.c
5033
if (tb[IFA_CACHEINFO]) {
net/ipv6/addrconf.c
5036
ci = nla_data(tb[IFA_CACHEINFO]);
net/ipv6/addrconf.c
5379
struct nlattr *tb[IFA_MAX+1];
net/ipv6/addrconf.c
5400
err = nlmsg_parse_deprecated_strict(nlh, sizeof(*ifm), tb, IFA_MAX,
net/ipv6/addrconf.c
5406
if (!tb[i])
net/ipv6/addrconf.c
5412
fillargs->netnsid = nla_get_s32(tb[i]);
net/ipv6/addrconf.c
5515
struct nlattr **tb,
net/ipv6/addrconf.c
5528
return nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFA_MAX,
net/ipv6/addrconf.c
5536
err = nlmsg_parse_deprecated_strict(nlh, sizeof(*ifm), tb, IFA_MAX,
net/ipv6/addrconf.c
5542
if (!tb[i])
net/ipv6/addrconf.c
5572
struct nlattr *tb[IFA_MAX+1];
net/ipv6/addrconf.c
5579
err = inet6_rtm_valid_getaddr_req(in_skb, nlh, tb, extack);
net/ipv6/addrconf.c
5583
if (tb[IFA_TARGET_NETNSID]) {
net/ipv6/addrconf.c
5584
fillargs.netnsid = nla_get_s32(tb[IFA_TARGET_NETNSID]);
net/ipv6/addrconf.c
5592
addr = extract_addr(tb[IFA_ADDRESS], tb[IFA_LOCAL], &peer);
net/ipv6/addrconf.c
6038
struct nlattr *tb[IFLA_INET6_MAX + 1];
net/ipv6/addrconf.c
6048
err = nla_parse_nested_deprecated(tb, IFLA_INET6_MAX, nla,
net/ipv6/addrconf.c
6053
if (!tb[IFLA_INET6_TOKEN] && !tb[IFLA_INET6_ADDR_GEN_MODE])
net/ipv6/addrconf.c
6056
if (tb[IFLA_INET6_ADDR_GEN_MODE]) {
net/ipv6/addrconf.c
6057
u8 mode = nla_get_u8(tb[IFLA_INET6_ADDR_GEN_MODE]);
net/ipv6/addrconf.c
6072
struct nlattr *tb[IFLA_INET6_MAX + 1];
net/ipv6/addrconf.c
6078
if (nla_parse_nested_deprecated(tb, IFLA_INET6_MAX, nla, NULL, NULL) < 0)
net/ipv6/addrconf.c
6081
if (tb[IFLA_INET6_TOKEN]) {
net/ipv6/addrconf.c
6082
err = inet6_set_iftoken(idev, nla_data(tb[IFLA_INET6_TOKEN]),
net/ipv6/addrconf.c
6088
if (tb[IFLA_INET6_ADDR_GEN_MODE]) {
net/ipv6/addrconf.c
6089
u8 mode = nla_get_u8(tb[IFLA_INET6_ADDR_GEN_MODE]);
net/ipv6/addrconf.c
620
struct nlattr **tb,
net/ipv6/addrconf.c
632
tb, NETCONFA_MAX,
net/ipv6/addrconf.c
636
tb, NETCONFA_MAX,
net/ipv6/addrconf.c
642
if (!tb[i])
net/ipv6/addrconf.c
662
struct nlattr *tb[NETCONFA_MAX+1];
net/ipv6/addrconf.c
670
err = inet6_netconf_valid_get_req(in_skb, nlh, tb, extack);
net/ipv6/addrconf.c
674
if (!tb[NETCONFA_IFINDEX])
net/ipv6/addrconf.c
678
ifindex = nla_get_s32(tb[NETCONFA_IFINDEX]);
net/ipv6/addrlabel.c
380
struct nlattr *tb[IFAL_MAX+1];
net/ipv6/addrlabel.c
385
err = nlmsg_parse_deprecated(nlh, sizeof(*ifal), tb, IFAL_MAX,
net/ipv6/addrlabel.c
396
if (!tb[IFAL_ADDRESS])
net/ipv6/addrlabel.c
398
pfx = nla_data(tb[IFAL_ADDRESS]);
net/ipv6/addrlabel.c
400
if (!tb[IFAL_LABEL])
net/ipv6/addrlabel.c
402
label = nla_get_u32(tb[IFAL_LABEL]);
net/ipv6/addrlabel.c
530
struct nlattr **tb,
net/ipv6/addrlabel.c
543
return nlmsg_parse_deprecated(nlh, sizeof(*ifal), tb,
net/ipv6/addrlabel.c
551
err = nlmsg_parse_deprecated_strict(nlh, sizeof(*ifal), tb, IFAL_MAX,
net/ipv6/addrlabel.c
557
if (!tb[i])
net/ipv6/addrlabel.c
577
struct nlattr *tb[IFAL_MAX+1];
net/ipv6/addrlabel.c
584
err = ip6addrlbl_valid_get_req(in_skb, nlh, tb, extack);
net/ipv6/addrlabel.c
598
if (!tb[IFAL_ADDRESS])
net/ipv6/addrlabel.c
600
addr = nla_data(tb[IFAL_ADDRESS]);
net/ipv6/fib6_rules.c
397
static int fib6_nl2rule_flowlabel(struct nlattr **tb, struct fib6_rule *rule6,
net/ipv6/fib6_rules.c
402
if (NL_REQ_ATTR_CHECK(extack, NULL, tb, FRA_FLOWLABEL) ||
net/ipv6/fib6_rules.c
403
NL_REQ_ATTR_CHECK(extack, NULL, tb, FRA_FLOWLABEL_MASK))
net/ipv6/fib6_rules.c
406
flowlabel = nla_get_be32(tb[FRA_FLOWLABEL]);
net/ipv6/fib6_rules.c
407
flowlabel_mask = nla_get_be32(tb[FRA_FLOWLABEL_MASK]);
net/ipv6/fib6_rules.c
410
NL_SET_ERR_MSG_ATTR(extack, tb[FRA_FLOWLABEL_MASK],
net/ipv6/fib6_rules.c
428
struct nlattr **tb,
net/ipv6/fib6_rules.c
443
if (tb[FRA_DSCP] && fib6_nl2rule_dscp(tb[FRA_DSCP], rule6, extack) < 0)
net/ipv6/fib6_rules.c
446
if (tb[FRA_DSCP_MASK] &&
net/ipv6/fib6_rules.c
447
fib6_nl2rule_dscp_mask(tb[FRA_DSCP_MASK], rule6, extack) < 0)
net/ipv6/fib6_rules.c
450
if ((tb[FRA_FLOWLABEL] || tb[FRA_FLOWLABEL_MASK]) &&
net/ipv6/fib6_rules.c
451
fib6_nl2rule_flowlabel(tb, rule6, extack) < 0)
net/ipv6/fib6_rules.c
467
rule6->src.addr = nla_get_in6_addr(tb[FRA_SRC]);
net/ipv6/fib6_rules.c
470
rule6->dst.addr = nla_get_in6_addr(tb[FRA_DST]);
net/ipv6/fib6_rules.c
496
struct nlattr **tb)
net/ipv6/fib6_rules.c
511
if (tb[FRA_DSCP]) {
net/ipv6/fib6_rules.c
514
dscp = inet_dsfield_to_dscp(nla_get_u8(tb[FRA_DSCP]) << 2);
net/ipv6/fib6_rules.c
519
if (tb[FRA_DSCP_MASK]) {
net/ipv6/fib6_rules.c
522
dscp_mask = inet_dsfield_to_dscp(nla_get_u8(tb[FRA_DSCP_MASK]) << 2);
net/ipv6/fib6_rules.c
527
if (tb[FRA_FLOWLABEL] &&
net/ipv6/fib6_rules.c
528
nla_get_be32(tb[FRA_FLOWLABEL]) != rule6->flowlabel)
net/ipv6/fib6_rules.c
531
if (tb[FRA_FLOWLABEL_MASK] &&
net/ipv6/fib6_rules.c
532
nla_get_be32(tb[FRA_FLOWLABEL_MASK]) != rule6->flowlabel_mask)
net/ipv6/fib6_rules.c
536
nla_memcmp(tb[FRA_SRC], &rule6->src.addr, sizeof(struct in6_addr)))
net/ipv6/fib6_rules.c
540
nla_memcmp(tb[FRA_DST], &rule6->dst.addr, sizeof(struct in6_addr)))
net/ipv6/ila/ila_lwt.c
142
struct nlattr *tb[ILA_ATTR_MAX + 1];
net/ipv6/ila/ila_lwt.c
156
ret = nla_parse_nested_deprecated(tb, ILA_ATTR_MAX, nla,
net/ipv6/ila/ila_lwt.c
161
if (!tb[ILA_ATTR_LOCATOR])
net/ipv6/ila/ila_lwt.c
166
if (tb[ILA_ATTR_IDENT_TYPE])
net/ipv6/ila/ila_lwt.c
167
ident_type = nla_get_u8(tb[ILA_ATTR_IDENT_TYPE]);
net/ipv6/ila/ila_lwt.c
201
if (tb[ILA_ATTR_HOOK_TYPE])
net/ipv6/ila/ila_lwt.c
202
hook_type = nla_get_u8(tb[ILA_ATTR_HOOK_TYPE]);
net/ipv6/ila/ila_lwt.c
215
if (tb[ILA_ATTR_CSUM_MODE])
net/ipv6/ila/ila_lwt.c
216
csum_mode = nla_get_u8(tb[ILA_ATTR_CSUM_MODE]);
net/ipv6/ila/ila_lwt.c
243
p->locator.v64 = (__force __be64)nla_get_u64(tb[ILA_ATTR_LOCATOR]);
net/ipv6/ioam6_iptunnel.c
104
struct nlattr *tb[IOAM6_IPTUNNEL_MAX + 1];
net/ipv6/ioam6_iptunnel.c
116
err = nla_parse_nested(tb, IOAM6_IPTUNNEL_MAX, nla,
net/ipv6/ioam6_iptunnel.c
121
if ((!tb[IOAM6_IPTUNNEL_FREQ_K] && tb[IOAM6_IPTUNNEL_FREQ_N]) ||
net/ipv6/ioam6_iptunnel.c
122
(tb[IOAM6_IPTUNNEL_FREQ_K] && !tb[IOAM6_IPTUNNEL_FREQ_N])) {
net/ipv6/ioam6_iptunnel.c
125
} else if (!tb[IOAM6_IPTUNNEL_FREQ_K] && !tb[IOAM6_IPTUNNEL_FREQ_N]) {
net/ipv6/ioam6_iptunnel.c
129
freq_k = nla_get_u32(tb[IOAM6_IPTUNNEL_FREQ_K]);
net/ipv6/ioam6_iptunnel.c
130
freq_n = nla_get_u32(tb[IOAM6_IPTUNNEL_FREQ_N]);
net/ipv6/ioam6_iptunnel.c
138
mode = nla_get_u8_default(tb[IOAM6_IPTUNNEL_MODE],
net/ipv6/ioam6_iptunnel.c
141
if (tb[IOAM6_IPTUNNEL_SRC] && mode == IOAM6_IPTUNNEL_MODE_INLINE) {
net/ipv6/ioam6_iptunnel.c
146
if (!tb[IOAM6_IPTUNNEL_DST] && mode != IOAM6_IPTUNNEL_MODE_INLINE) {
net/ipv6/ioam6_iptunnel.c
151
if (!tb[IOAM6_IPTUNNEL_TRACE]) {
net/ipv6/ioam6_iptunnel.c
156
trace = nla_data(tb[IOAM6_IPTUNNEL_TRACE]);
net/ipv6/ioam6_iptunnel.c
158
NL_SET_ERR_MSG_ATTR(extack, tb[IOAM6_IPTUNNEL_TRACE],
net/ipv6/ioam6_iptunnel.c
187
if (!tb[IOAM6_IPTUNNEL_SRC]) {
net/ipv6/ioam6_iptunnel.c
191
ilwt->tunsrc = nla_get_in6_addr(tb[IOAM6_IPTUNNEL_SRC]);
net/ipv6/ioam6_iptunnel.c
194
NL_SET_ERR_MSG_ATTR(extack, tb[IOAM6_IPTUNNEL_SRC],
net/ipv6/ioam6_iptunnel.c
201
if (tb[IOAM6_IPTUNNEL_DST]) {
net/ipv6/ioam6_iptunnel.c
202
ilwt->tundst = nla_get_in6_addr(tb[IOAM6_IPTUNNEL_DST]);
net/ipv6/ioam6_iptunnel.c
205
NL_SET_ERR_MSG_ATTR(extack, tb[IOAM6_IPTUNNEL_DST],
net/ipv6/ip6_fib.c
213
static void fib6_link_table(struct net *net, struct fib6_table *tb)
net/ipv6/ip6_fib.c
221
spin_lock_init(&tb->tb6_lock);
net/ipv6/ip6_fib.c
222
h = tb->tb6_id & (FIB6_TABLE_HASHSZ - 1);
net/ipv6/ip6_fib.c
228
hlist_add_head_rcu(&tb->tb6_hlist, &net->ipv6.fib_table_hash[h]);
net/ipv6/ip6_fib.c
252
struct fib6_table *tb, *new_tb;
net/ipv6/ip6_fib.c
2543
struct fib6_table *tb;
net/ipv6/ip6_fib.c
2545
hlist_for_each_entry_safe(tb, tmp, head, tb6_hlist) {
net/ipv6/ip6_fib.c
2546
hlist_del(&tb->tb6_hlist);
net/ipv6/ip6_fib.c
2547
fib6_free_table(tb);
net/ipv6/ip6_fib.c
257
tb = fib6_get_table(net, id);
net/ipv6/ip6_fib.c
258
if (tb)
net/ipv6/ip6_fib.c
259
return tb;
net/ipv6/ip6_fib.c
267
tb = fib6_get_table(net, id);
net/ipv6/ip6_fib.c
268
if (unlikely(tb)) {
net/ipv6/ip6_fib.c
271
return tb;
net/ipv6/ip6_fib.c
285
struct fib6_table *tb;
net/ipv6/ip6_fib.c
295
hlist_for_each_entry_rcu(tb, head, tb6_hlist, true)
net/ipv6/ip6_fib.c
296
if (tb->tb6_id == id)
net/ipv6/ip6_fib.c
297
return tb;
net/ipv6/ip6_fib.c
363
const struct fib6_table *tb;
net/ipv6/ip6_fib.c
365
hlist_for_each_entry_rcu(tb, head, tb6_hlist)
net/ipv6/ip6_fib.c
366
fib_seq += READ_ONCE(tb->fib_seq);
net/ipv6/ip6_fib.c
479
static int fib6_table_dump(struct net *net, struct fib6_table *tb,
net/ipv6/ip6_fib.c
484
w->root = &tb->tb6_root;
net/ipv6/ip6_fib.c
485
spin_lock_bh(&tb->tb6_lock);
net/ipv6/ip6_fib.c
487
spin_unlock_bh(&tb->tb6_lock);
net/ipv6/ip6_fib.c
512
struct fib6_table *tb;
net/ipv6/ip6_fib.c
514
hlist_for_each_entry_rcu(tb, head, tb6_hlist) {
net/ipv6/ip6_fib.c
515
err = fib6_table_dump(net, tb, w);
net/ipv6/ip6_fib.c
641
struct fib6_table *tb;
net/ipv6/ip6_fib.c
685
tb = fib6_get_table(net, arg.filter.table_id);
net/ipv6/ip6_fib.c
686
if (!tb) {
net/ipv6/ip6_fib.c
696
err = fib6_dump_table(tb, skb, cb);
net/ipv6/ip6_fib.c
708
hlist_for_each_entry_rcu(tb, head, tb6_hlist) {
net/ipv6/ip6_fib.c
709
if (s_id && tb->tb6_id != s_id)
net/ipv6/ip6_fib.c
713
cb->args[1] = tb->tb6_id;
net/ipv6/ip6_fib.c
714
err = fib6_dump_table(tb, skb, cb);
net/ipv6/ip6_gre.c
1630
static int ip6gre_tunnel_validate(struct nlattr *tb[], struct nlattr *data[],
net/ipv6/ip6_gre.c
1649
static int ip6gre_tap_validate(struct nlattr *tb[], struct nlattr *data[],
net/ipv6/ip6_gre.c
1654
if (tb[IFLA_ADDRESS]) {
net/ipv6/ip6_gre.c
1655
if (nla_len(tb[IFLA_ADDRESS]) != ETH_ALEN)
net/ipv6/ip6_gre.c
1657
if (!is_valid_ether_addr(nla_data(tb[IFLA_ADDRESS])))
net/ipv6/ip6_gre.c
1671
return ip6gre_tunnel_validate(tb, data, extack);
net/ipv6/ip6_gre.c
1674
static int ip6erspan_tap_validate(struct nlattr *tb[], struct nlattr *data[],
net/ipv6/ip6_gre.c
1683
ret = ip6gre_tap_validate(tb, data, extack);
net/ipv6/ip6_gre.c
1944
struct nlattr *tb[], struct nlattr *data[],
net/ipv6/ip6_gre.c
1960
if (dev->type == ARPHRD_ETHER && !tb[IFLA_ADDRESS])
net/ipv6/ip6_gre.c
1970
if (tb[IFLA_MTU])
net/ipv6/ip6_gre.c
1971
ip6_tnl_change_mtu(dev, nla_get_u32(tb[IFLA_MTU]));
net/ipv6/ip6_gre.c
1984
struct nlattr **tb = params->tb;
net/ipv6/ip6_gre.c
1999
err = ip6gre_newlink_common(net, dev, tb, data, extack);
net/ipv6/ip6_gre.c
2001
ip6gre_tnl_link_config(nt, !tb[IFLA_MTU]);
net/ipv6/ip6_gre.c
2009
ip6gre_changelink_common(struct net_device *dev, struct nlattr *tb[],
net/ipv6/ip6_gre.c
2042
static int ip6gre_changelink(struct net_device *dev, struct nlattr *tb[],
net/ipv6/ip6_gre.c
2053
t = ip6gre_changelink_common(dev, tb, data, &p, extack);
net/ipv6/ip6_gre.c
2059
ip6gre_tnl_change(t, &p, !tb[IFLA_MTU]);
net/ipv6/ip6_gre.c
2225
struct nlattr **tb = params->tb;
net/ipv6/ip6_gre.c
2241
err = ip6gre_newlink_common(net, dev, tb, data, extack);
net/ipv6/ip6_gre.c
2243
ip6erspan_tnl_link_config(nt, !tb[IFLA_MTU]);
net/ipv6/ip6_gre.c
2264
static int ip6erspan_changelink(struct net_device *dev, struct nlattr *tb[],
net/ipv6/ip6_gre.c
2276
t = ip6gre_changelink_common(dev, tb, data, &p, extack);
net/ipv6/ip6_gre.c
2283
ip6erspan_tnl_change(t, &p, !tb[IFLA_MTU]);
net/ipv6/ip6_tunnel.c
2006
static int ip6_tnl_validate(struct nlattr *tb[], struct nlattr *data[],
net/ipv6/ip6_tunnel.c
2067
struct nlattr **tb = params->tb;
net/ipv6/ip6_tunnel.c
2097
if (!err && tb[IFLA_MTU])
net/ipv6/ip6_tunnel.c
2098
ip6_tnl_change_mtu(dev, nla_get_u32(tb[IFLA_MTU]));
net/ipv6/ip6_tunnel.c
2103
static int ip6_tnl_changelink(struct net_device *dev, struct nlattr *tb[],
net/ipv6/ip6_vti.c
1040
static int vti6_changelink(struct net_device *dev, struct nlattr *tb[],
net/ipv6/ip6_vti.c
1066
return vti6_update(t, &p, tb && tb[IFLA_MTU]);
net/ipv6/ip6_vti.c
977
static int vti6_validate(struct nlattr *tb[], struct nlattr *data[],
net/ipv6/ip6mr.c
195
struct fib_rule_hdr *frh, struct nlattr **tb,
net/ipv6/ip6mr.c
202
struct nlattr **tb)
net/ipv6/ip6mr.c
2702
struct nlattr **tb,
net/ipv6/ip6mr.c
2708
err = nlmsg_parse(nlh, sizeof(*rtm), tb, RTA_MAX, ip6mr_getroute_policy,
net/ipv6/ip6mr.c
2723
if ((tb[RTA_SRC] && !rtm->rtm_src_len) ||
net/ipv6/ip6mr.c
2724
(tb[RTA_DST] && !rtm->rtm_dst_len)) {
net/ipv6/ip6mr.c
2737
struct nlattr *tb[RTA_MAX + 1];
net/ipv6/ip6mr.c
2744
err = ip6mr_rtm_valid_getroute_req(in_skb, nlh, tb, extack);
net/ipv6/ip6mr.c
2752
if (tb[RTA_SRC])
net/ipv6/ip6mr.c
2753
src = nla_get_in6_addr(tb[RTA_SRC]);
net/ipv6/ip6mr.c
2754
if (tb[RTA_DST])
net/ipv6/ip6mr.c
2755
grp = nla_get_in6_addr(tb[RTA_DST]);
net/ipv6/ip6mr.c
2756
tableid = nla_get_u32_default(tb[RTA_TABLE], 0);
net/ipv6/netfilter/nft_dup_ipv6.c
33
const struct nlattr * const tb[])
net/ipv6/netfilter/nft_dup_ipv6.c
38
if (tb[NFTA_DUP_SREG_ADDR] == NULL)
net/ipv6/netfilter/nft_dup_ipv6.c
41
err = nft_parse_register_load(ctx, tb[NFTA_DUP_SREG_ADDR], &priv->sreg_addr,
net/ipv6/netfilter/nft_dup_ipv6.c
46
if (tb[NFTA_DUP_SREG_DEV])
net/ipv6/netfilter/nft_dup_ipv6.c
47
err = nft_parse_register_load(ctx, tb[NFTA_DUP_SREG_DEV],
net/ipv6/netfilter/nft_fib_ipv6.c
279
const struct nlattr * const tb[])
net/ipv6/netfilter/nft_fib_ipv6.c
283
if (!tb[NFTA_FIB_RESULT])
net/ipv6/netfilter/nft_fib_ipv6.c
286
result = ntohl(nla_get_be32(tb[NFTA_FIB_RESULT]));
net/ipv6/route.c
5186
struct nlattr *tb[RTA_MAX+1];
net/ipv6/route.c
5191
err = nlmsg_parse_deprecated(nlh, sizeof(*rtm), tb, RTA_MAX,
net/ipv6/route.c
5205
if (tb[RTA_FLOWLABEL]) {
net/ipv6/route.c
5206
NL_SET_ERR_MSG_ATTR(extack, tb[RTA_FLOWLABEL],
net/ipv6/route.c
5238
if (tb[RTA_NH_ID]) {
net/ipv6/route.c
5239
if (tb[RTA_GATEWAY] || tb[RTA_OIF] ||
net/ipv6/route.c
5240
tb[RTA_MULTIPATH] || tb[RTA_ENCAP]) {
net/ipv6/route.c
5245
cfg->fc_nh_id = nla_get_u32(tb[RTA_NH_ID]);
net/ipv6/route.c
5248
if (tb[RTA_GATEWAY]) {
net/ipv6/route.c
5249
cfg->fc_gateway = nla_get_in6_addr(tb[RTA_GATEWAY]);
net/ipv6/route.c
5252
if (tb[RTA_VIA]) {
net/ipv6/route.c
5257
if (tb[RTA_DST]) {
net/ipv6/route.c
5260
if (nla_len(tb[RTA_DST]) < plen)
net/ipv6/route.c
5263
nla_memcpy(&cfg->fc_dst, tb[RTA_DST], plen);
net/ipv6/route.c
5266
if (tb[RTA_SRC]) {
net/ipv6/route.c
5269
if (nla_len(tb[RTA_SRC]) < plen)
net/ipv6/route.c
5272
nla_memcpy(&cfg->fc_src, tb[RTA_SRC], plen);
net/ipv6/route.c
5275
if (tb[RTA_PREFSRC])
net/ipv6/route.c
5276
cfg->fc_prefsrc = nla_get_in6_addr(tb[RTA_PREFSRC]);
net/ipv6/route.c
5278
if (tb[RTA_OIF])
net/ipv6/route.c
5279
cfg->fc_ifindex = nla_get_u32(tb[RTA_OIF]);
net/ipv6/route.c
5281
if (tb[RTA_PRIORITY])
net/ipv6/route.c
5282
cfg->fc_metric = nla_get_u32(tb[RTA_PRIORITY]);
net/ipv6/route.c
5284
if (tb[RTA_METRICS]) {
net/ipv6/route.c
5285
cfg->fc_mx = nla_data(tb[RTA_METRICS]);
net/ipv6/route.c
5286
cfg->fc_mx_len = nla_len(tb[RTA_METRICS]);
net/ipv6/route.c
5289
if (tb[RTA_TABLE])
net/ipv6/route.c
5290
cfg->fc_table = nla_get_u32(tb[RTA_TABLE]);
net/ipv6/route.c
5292
if (tb[RTA_MULTIPATH]) {
net/ipv6/route.c
5293
cfg->fc_mp = nla_data(tb[RTA_MULTIPATH]);
net/ipv6/route.c
5294
cfg->fc_mp_len = nla_len(tb[RTA_MULTIPATH]);
net/ipv6/route.c
5301
if (tb[RTA_PREF]) {
net/ipv6/route.c
5302
pref = nla_get_u8(tb[RTA_PREF]);
net/ipv6/route.c
5309
if (tb[RTA_ENCAP])
net/ipv6/route.c
5310
cfg->fc_encap = tb[RTA_ENCAP];
net/ipv6/route.c
5312
if (tb[RTA_ENCAP_TYPE]) {
net/ipv6/route.c
5313
cfg->fc_encap_type = nla_get_u16(tb[RTA_ENCAP_TYPE]);
net/ipv6/route.c
5320
if (tb[RTA_EXPIRES]) {
net/ipv6/route.c
5321
unsigned long timeout = addrconf_timeout_fixup(nla_get_u32(tb[RTA_EXPIRES]), HZ);
net/ipv6/route.c
6140
struct nlattr **tb,
net/ipv6/route.c
6154
return nlmsg_parse_deprecated(nlh, sizeof(*rtm), tb, RTA_MAX,
net/ipv6/route.c
6170
err = nlmsg_parse_deprecated_strict(nlh, sizeof(*rtm), tb, RTA_MAX,
net/ipv6/route.c
6175
if ((tb[RTA_SRC] && !rtm->rtm_src_len) ||
net/ipv6/route.c
6176
(tb[RTA_DST] && !rtm->rtm_dst_len)) {
net/ipv6/route.c
6181
if (tb[RTA_FLOWLABEL] &&
net/ipv6/route.c
6182
(nla_get_be32(tb[RTA_FLOWLABEL]) & ~IPV6_FLOWLABEL_MASK)) {
net/ipv6/route.c
6183
NL_SET_ERR_MSG_ATTR(extack, tb[RTA_FLOWLABEL],
net/ipv6/route.c
6189
if (!tb[i])
net/ipv6/route.c
6217
struct nlattr *tb[RTA_MAX+1];
net/ipv6/route.c
6228
err = inet6_rtm_valid_getroute_req(in_skb, nlh, tb, extack);
net/ipv6/route.c
6236
if (tb[RTA_SRC]) {
net/ipv6/route.c
6237
if (nla_len(tb[RTA_SRC]) < sizeof(struct in6_addr))
net/ipv6/route.c
6240
fl6.saddr = *(struct in6_addr *)nla_data(tb[RTA_SRC]);
net/ipv6/route.c
6243
if (tb[RTA_DST]) {
net/ipv6/route.c
6244
if (nla_len(tb[RTA_DST]) < sizeof(struct in6_addr))
net/ipv6/route.c
6247
fl6.daddr = *(struct in6_addr *)nla_data(tb[RTA_DST]);
net/ipv6/route.c
6250
if (tb[RTA_IIF])
net/ipv6/route.c
6251
iif = nla_get_u32(tb[RTA_IIF]);
net/ipv6/route.c
6253
if (tb[RTA_OIF])
net/ipv6/route.c
6254
oif = nla_get_u32(tb[RTA_OIF]);
net/ipv6/route.c
6256
if (tb[RTA_MARK])
net/ipv6/route.c
6257
fl6.flowi6_mark = nla_get_u32(tb[RTA_MARK]);
net/ipv6/route.c
6259
if (tb[RTA_UID])
net/ipv6/route.c
6261
nla_get_u32(tb[RTA_UID]));
net/ipv6/route.c
6265
if (tb[RTA_SPORT])
net/ipv6/route.c
6266
fl6.fl6_sport = nla_get_be16(tb[RTA_SPORT]);
net/ipv6/route.c
6268
if (tb[RTA_DPORT])
net/ipv6/route.c
6269
fl6.fl6_dport = nla_get_be16(tb[RTA_DPORT]);
net/ipv6/route.c
6271
if (tb[RTA_IP_PROTO]) {
net/ipv6/route.c
6272
err = rtm_getroute_parse_ip_proto(tb[RTA_IP_PROTO],
net/ipv6/route.c
6279
flowlabel = nla_get_be32_default(tb[RTA_FLOWLABEL], 0);
net/ipv6/rpl_iptunnel.c
72
struct nlattr *tb[RPL_IPTUNNEL_MAX + 1];
net/ipv6/rpl_iptunnel.c
81
err = nla_parse_nested(tb, RPL_IPTUNNEL_MAX, nla,
net/ipv6/rpl_iptunnel.c
86
if (!tb[RPL_IPTUNNEL_SRH])
net/ipv6/rpl_iptunnel.c
89
srh = nla_data(tb[RPL_IPTUNNEL_SRH]);
net/ipv6/rpl_iptunnel.c
90
srh_len = nla_len(tb[RPL_IPTUNNEL_SRH]);
net/ipv6/seg6_iptunnel.c
671
struct nlattr *tb[SEG6_IPTUNNEL_MAX + 1];
net/ipv6/seg6_iptunnel.c
681
err = nla_parse_nested_deprecated(tb, SEG6_IPTUNNEL_MAX, nla,
net/ipv6/seg6_iptunnel.c
687
if (!tb[SEG6_IPTUNNEL_SRH])
net/ipv6/seg6_iptunnel.c
690
tuninfo = nla_data(tb[SEG6_IPTUNNEL_SRH]);
net/ipv6/seg6_iptunnel.c
691
tuninfo_len = nla_len(tb[SEG6_IPTUNNEL_SRH]);
net/ipv6/seg6_iptunnel.c
706
if (tb[SEG6_IPTUNNEL_SRC]) {
net/ipv6/seg6_iptunnel.c
743
if (tb[SEG6_IPTUNNEL_SRC]) {
net/ipv6/seg6_iptunnel.c
744
slwt->tunsrc = nla_get_in6_addr(tb[SEG6_IPTUNNEL_SRC]);
net/ipv6/seg6_local.c
1902
struct nlattr *tb[SEG6_LOCAL_BPF_PROG_MAX + 1];
net/ipv6/seg6_local.c
1907
ret = nla_parse_nested_deprecated(tb, SEG6_LOCAL_BPF_PROG_MAX,
net/ipv6/seg6_local.c
1913
if (!tb[SEG6_LOCAL_BPF_PROG] || !tb[SEG6_LOCAL_BPF_PROG_NAME])
net/ipv6/seg6_local.c
1916
slwt->bpf.name = nla_memdup(tb[SEG6_LOCAL_BPF_PROG_NAME], GFP_KERNEL);
net/ipv6/seg6_local.c
1920
fd = nla_get_u32(tb[SEG6_LOCAL_BPF_PROG]);
net/ipv6/seg6_local.c
1982
struct nlattr *tb[SEG6_LOCAL_CNT_MAX + 1];
net/ipv6/seg6_local.c
1985
ret = nla_parse_nested_deprecated(tb, SEG6_LOCAL_CNT_MAX,
net/ipv6/seg6_local.c
1994
if (!tb[SEG6_LOCAL_CNT_PACKETS] || !tb[SEG6_LOCAL_CNT_BYTES] ||
net/ipv6/seg6_local.c
1995
!tb[SEG6_LOCAL_CNT_ERRORS])
net/ipv6/seg6_local.c
2110
static int seg6_parse_nla_next_csid_cfg(struct nlattr **tb,
net/ipv6/seg6_local.c
2118
if (tb[SEG6_LOCAL_FLV_LCBLOCK_BITS])
net/ipv6/seg6_local.c
2119
block_len = nla_get_u8(tb[SEG6_LOCAL_FLV_LCBLOCK_BITS]);
net/ipv6/seg6_local.c
2121
if (tb[SEG6_LOCAL_FLV_LCNODE_FN_BITS])
net/ipv6/seg6_local.c
2122
func_len = nla_get_u8(tb[SEG6_LOCAL_FLV_LCNODE_FN_BITS]);
net/ipv6/seg6_local.c
2141
struct nlattr *tb[SEG6_LOCAL_FLV_MAX + 1];
net/ipv6/seg6_local.c
2146
rc = nla_parse_nested_deprecated(tb, SEG6_LOCAL_FLV_MAX,
net/ipv6/seg6_local.c
2155
if (!tb[SEG6_LOCAL_FLV_OPERATION])
net/ipv6/seg6_local.c
2158
fops = nla_get_u32(tb[SEG6_LOCAL_FLV_OPERATION]);
net/ipv6/seg6_local.c
2172
rc = seg6_parse_nla_next_csid_cfg(tb, finfo, extack);
net/ipv6/seg6_local.c
2506
struct nlattr *tb[SEG6_LOCAL_MAX + 1];
net/ipv6/seg6_local.c
2514
err = nla_parse_nested_deprecated(tb, SEG6_LOCAL_MAX, nla,
net/ipv6/seg6_local.c
2520
if (!tb[SEG6_LOCAL_ACTION])
net/ipv6/seg6_local.c
2528
slwt->action = nla_get_u32(tb[SEG6_LOCAL_ACTION]);
net/ipv6/seg6_local.c
2530
err = parse_nla_action(tb, slwt, extack);
net/ipv6/sit.c
1477
static int ipip6_validate(struct nlattr *tb[], struct nlattr *data[],
net/ipv6/sit.c
1554
struct nlattr **tb = params->tb;
net/ipv6/sit.c
1582
if (tb[IFLA_MTU]) {
net/ipv6/sit.c
1583
u32 mtu = nla_get_u32(tb[IFLA_MTU]);
net/ipv6/sit.c
1601
static int ipip6_changelink(struct net_device *dev, struct nlattr *tb[],
net/mctp/device.c
187
struct nlattr *tb[IFA_MAX + 1];
net/mctp/device.c
196
rc = nlmsg_parse(nlh, sizeof(*ifm), tb, IFA_MAX, ifa_mctp_policy,
net/mctp/device.c
203
if (tb[IFA_LOCAL])
net/mctp/device.c
204
addr = nla_data(tb[IFA_LOCAL]);
net/mctp/device.c
205
else if (tb[IFA_ADDRESS])
net/mctp/device.c
206
addr = nla_data(tb[IFA_ADDRESS]);
net/mctp/device.c
250
struct nlattr *tb[IFA_MAX + 1];
net/mctp/device.c
259
rc = nlmsg_parse(nlh, sizeof(*ifm), tb, IFA_MAX, ifa_mctp_policy,
net/mctp/device.c
266
if (tb[IFA_LOCAL])
net/mctp/device.c
267
addr = nla_data(tb[IFA_LOCAL]);
net/mctp/device.c
268
else if (tb[IFA_ADDRESS])
net/mctp/device.c
269
addr = nla_data(tb[IFA_ADDRESS]);
net/mctp/device.c
395
struct nlattr *tb[IFLA_MCTP_MAX + 1];
net/mctp/device.c
399
rc = nla_parse_nested(tb, IFLA_MCTP_MAX, attr, ifla_af_mctp_policy,
net/mctp/device.c
408
if (tb[IFLA_MCTP_NET])
net/mctp/device.c
409
WRITE_ONCE(mdev->net, nla_get_u32(tb[IFLA_MCTP_NET]));
net/mctp/neigh.c
122
struct nlattr *tb[NDA_MAX + 1];
net/mctp/neigh.c
128
rc = nlmsg_parse(nlh, sizeof(*ndm), tb, NDA_MAX, nd_mctp_policy,
net/mctp/neigh.c
135
if (!tb[NDA_DST]) {
net/mctp/neigh.c
140
if (!tb[NDA_LLADDR]) {
net/mctp/neigh.c
145
eid = nla_get_u8(tb[NDA_DST]);
net/mctp/neigh.c
151
lladdr = nla_data(tb[NDA_LLADDR]);
net/mctp/neigh.c
152
lladdr_len = nla_len(tb[NDA_LLADDR]);
net/mctp/neigh.c
177
struct nlattr *tb[NDA_MAX + 1];
net/mctp/neigh.c
184
rc = nlmsg_parse(nlh, sizeof(*ndm), tb, NDA_MAX, nd_mctp_policy,
net/mctp/neigh.c
191
if (!tb[NDA_DST]) {
net/mctp/neigh.c
195
eid = nla_get_u8(tb[NDA_DST]);
net/mctp/route.c
1411
struct nlattr **tb, struct rtmsg **rtm,
net/mctp/route.c
1421
rc = nlmsg_parse(nlh, sizeof(struct rtmsg), tb, RTA_MAX,
net/mctp/route.c
1428
if (!tb[RTA_DST]) {
net/mctp/route.c
1432
*daddr_start = nla_get_u8(tb[RTA_DST]);
net/mctp/route.c
1434
if (tb[RTA_OIF])
net/mctp/route.c
1435
ifindex = nla_get_u32(tb[RTA_OIF]);
net/mctp/route.c
1437
if (tb[RTA_GATEWAY])
net/mctp/route.c
1438
gateway = nla_data(tb[RTA_GATEWAY]);
net/mctp/route.c
1496
struct nlattr *tb[RTA_MAX + 1];
net/mctp/route.c
1502
rc = mctp_route_nlparse_common(net, nlh, extack, tb, &rtm,
net/mctp/route.c
1531
struct nlattr *tb[RTA_MAX + 1];
net/mctp/route.c
1540
rc = mctp_route_nlparse_common(net, nlh, extack, tb, &rtm,
net/mctp/route.c
1552
if (tb[RTA_METRICS]) {
net/mctp/route.c
1553
rc = nla_parse_nested(tbx, RTAX_MAX, tb[RTA_METRICS],
net/mpls/af_mpls.c
1243
struct nlattr **tb,
net/mpls/af_mpls.c
1256
tb, NETCONFA_MAX,
net/mpls/af_mpls.c
1260
tb, NETCONFA_MAX,
net/mpls/af_mpls.c
1266
if (!tb[i])
net/mpls/af_mpls.c
1286
struct nlattr *tb[NETCONFA_MAX + 1];
net/mpls/af_mpls.c
1293
err = mpls_netconf_valid_get_req(in_skb, nlh, tb, extack);
net/mpls/af_mpls.c
1297
if (!tb[NETCONFA_IFINDEX]) {
net/mpls/af_mpls.c
1302
ifindex = nla_get_s32(tb[NETCONFA_IFINDEX]);
net/mpls/af_mpls.c
1854
struct nlattr *tb[RTA_MAX+1];
net/mpls/af_mpls.c
1858
err = nlmsg_parse_deprecated(nlh, sizeof(*rtm), tb, RTA_MAX,
net/mpls/af_mpls.c
1918
struct nlattr *nla = tb[index];
net/mpls/af_mpls.c
2159
struct nlattr *tb[RTA_MAX + 1];
net/mpls/af_mpls.c
2182
err = nlmsg_parse_deprecated_strict(nlh, sizeof(*rtm), tb, RTA_MAX,
net/mpls/af_mpls.c
2191
if (!tb[i])
net/mpls/af_mpls.c
2194
ifindex = nla_get_u32(tb[i]);
net/mpls/af_mpls.c
2199
} else if (tb[i]) {
net/mpls/af_mpls.c
2355
struct nlattr **tb,
net/mpls/af_mpls.c
2369
return nlmsg_parse_deprecated(nlh, sizeof(*rtm), tb, RTA_MAX,
net/mpls/af_mpls.c
2384
err = nlmsg_parse_deprecated_strict(nlh, sizeof(*rtm), tb, RTA_MAX,
net/mpls/af_mpls.c
2389
if ((tb[RTA_DST] || tb[RTA_NEWDST]) && !rtm->rtm_dst_len) {
net/mpls/af_mpls.c
2395
if (!tb[i])
net/mpls/af_mpls.c
2417
struct nlattr *tb[RTA_MAX + 1];
net/mpls/af_mpls.c
2432
err = mpls_valid_getroute_req(in_skb, in_nlh, tb, extack);
net/mpls/af_mpls.c
2438
if (tb[RTA_DST]) {
net/mpls/af_mpls.c
2441
if (nla_get_labels(tb[RTA_DST], 1, &label_count,
net/mpls/af_mpls.c
2479
if (tb[RTA_NEWDST]) {
net/mpls/af_mpls.c
2480
if (nla_get_labels(tb[RTA_NEWDST], MAX_NEW_LABELS, &n_labels,
net/mpls/mpls_iptunnel.c
169
struct nlattr *tb[MPLS_IPTUNNEL_MAX + 1];
net/mpls/mpls_iptunnel.c
174
ret = nla_parse_nested_deprecated(tb, MPLS_IPTUNNEL_MAX, nla,
net/mpls/mpls_iptunnel.c
179
if (!tb[MPLS_IPTUNNEL_DST]) {
net/mpls/mpls_iptunnel.c
185
if (nla_get_labels(tb[MPLS_IPTUNNEL_DST], MAX_NEW_LABELS,
net/mpls/mpls_iptunnel.c
195
ret = nla_get_labels(tb[MPLS_IPTUNNEL_DST], n_labels,
net/mpls/mpls_iptunnel.c
203
if (tb[MPLS_IPTUNNEL_TTL]) {
net/mpls/mpls_iptunnel.c
204
tun_encap_info->default_ttl = nla_get_u8(tb[MPLS_IPTUNNEL_TTL]);
net/mptcp/pm_netlink.c
106
struct nlattr *tb[MPTCP_PM_ADDR_ATTR_MAX + 1];
net/mptcp/pm_netlink.c
111
err = mptcp_pm_parse_pm_addr_attr(tb, attr, info, &entry->addr, require_family);
net/mptcp/pm_netlink.c
115
if (tb[MPTCP_PM_ADDR_ATTR_IF_IDX]) {
net/mptcp/pm_netlink.c
116
s32 val = nla_get_s32(tb[MPTCP_PM_ADDR_ATTR_IF_IDX]);
net/mptcp/pm_netlink.c
121
if (tb[MPTCP_PM_ADDR_ATTR_FLAGS])
net/mptcp/pm_netlink.c
122
entry->flags = nla_get_u32(tb[MPTCP_PM_ADDR_ATTR_FLAGS]) &
net/mptcp/pm_netlink.c
125
if (tb[MPTCP_PM_ADDR_ATTR_PORT])
net/mptcp/pm_netlink.c
126
entry->addr.port = htons(nla_get_u16(tb[MPTCP_PM_ADDR_ATTR_PORT]));
net/mptcp/pm_netlink.c
31
static int mptcp_pm_parse_pm_addr_attr(struct nlattr *tb[],
net/mptcp/pm_netlink.c
45
err = nla_parse_nested_deprecated(tb, MPTCP_PM_ADDR_ATTR_MAX, attr,
net/mptcp/pm_netlink.c
50
if (tb[MPTCP_PM_ADDR_ATTR_ID])
net/mptcp/pm_netlink.c
51
addr->id = nla_get_u8(tb[MPTCP_PM_ADDR_ATTR_ID]);
net/mptcp/pm_netlink.c
53
if (!tb[MPTCP_PM_ADDR_ATTR_FAMILY]) {
net/mptcp/pm_netlink.c
62
addr->family = nla_get_u16(tb[MPTCP_PM_ADDR_ATTR_FAMILY]);
net/mptcp/pm_netlink.c
73
if (!tb[addr_addr]) {
net/mptcp/pm_netlink.c
81
addr->addr6 = nla_get_in6_addr(tb[addr_addr]);
net/mptcp/pm_netlink.c
84
addr->addr.s_addr = nla_get_in_addr(tb[addr_addr]);
net/mptcp/pm_netlink.c
86
if (tb[MPTCP_PM_ADDR_ATTR_PORT])
net/mptcp/pm_netlink.c
87
addr->port = htons(nla_get_u16(tb[MPTCP_PM_ADDR_ATTR_PORT]));
net/mptcp/pm_netlink.c
95
struct nlattr *tb[MPTCP_PM_ADDR_ATTR_MAX + 1];
net/mptcp/pm_netlink.c
99
return mptcp_pm_parse_pm_addr_attr(tb, attr, info, addr, true);
net/netfilter/ipset/ip_set_bitmap_ip.c
130
bitmap_ip_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_bitmap_ip.c
140
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_bitmap_ip.c
141
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_bitmap_ip.c
143
if (unlikely(!tb[IPSET_ATTR_IP]))
net/netfilter/ipset/ip_set_bitmap_ip.c
146
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP], &ip);
net/netfilter/ipset/ip_set_bitmap_ip.c
150
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_bitmap_ip.c
162
if (tb[IPSET_ATTR_IP_TO]) {
net/netfilter/ipset/ip_set_bitmap_ip.c
163
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &ip_to);
net/netfilter/ipset/ip_set_bitmap_ip.c
168
} else if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_bitmap_ip.c
169
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_bitmap_ip.c
250
bitmap_ip_create(struct net *net, struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_bitmap_ip.c
259
if (unlikely(!tb[IPSET_ATTR_IP] ||
net/netfilter/ipset/ip_set_bitmap_ip.c
260
!ip_set_optattr_netorder(tb, IPSET_ATTR_TIMEOUT) ||
net/netfilter/ipset/ip_set_bitmap_ip.c
261
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_bitmap_ip.c
264
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP], &first_ip);
net/netfilter/ipset/ip_set_bitmap_ip.c
268
if (tb[IPSET_ATTR_IP_TO]) {
net/netfilter/ipset/ip_set_bitmap_ip.c
269
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &last_ip);
net/netfilter/ipset/ip_set_bitmap_ip.c
274
} else if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_bitmap_ip.c
275
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_bitmap_ip.c
284
if (tb[IPSET_ATTR_NETMASK]) {
net/netfilter/ipset/ip_set_bitmap_ip.c
285
netmask = nla_get_u8(tb[IPSET_ATTR_NETMASK]);
net/netfilter/ipset/ip_set_bitmap_ip.c
317
set->dsize = ip_set_elem_len(set, tb, 0, 0);
net/netfilter/ipset/ip_set_bitmap_ip.c
329
if (tb[IPSET_ATTR_TIMEOUT]) {
net/netfilter/ipset/ip_set_bitmap_ip.c
330
set->timeout = ip_set_timeout_uget(tb[IPSET_ATTR_TIMEOUT]);
net/netfilter/ipset/ip_set_bitmap_ipmac.c
242
bitmap_ipmac_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_bitmap_ipmac.c
252
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_bitmap_ipmac.c
253
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_bitmap_ipmac.c
255
if (unlikely(!tb[IPSET_ATTR_IP]))
net/netfilter/ipset/ip_set_bitmap_ipmac.c
258
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP], &ip);
net/netfilter/ipset/ip_set_bitmap_ipmac.c
262
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_bitmap_ipmac.c
270
if (tb[IPSET_ATTR_ETHER]) {
net/netfilter/ipset/ip_set_bitmap_ipmac.c
271
if (nla_len(tb[IPSET_ATTR_ETHER]) != ETH_ALEN)
net/netfilter/ipset/ip_set_bitmap_ipmac.c
273
memcpy(e.ether, nla_data(tb[IPSET_ATTR_ETHER]), ETH_ALEN);
net/netfilter/ipset/ip_set_bitmap_ipmac.c
319
bitmap_ipmac_create(struct net *net, struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_bitmap_ipmac.c
327
if (unlikely(!tb[IPSET_ATTR_IP] ||
net/netfilter/ipset/ip_set_bitmap_ipmac.c
328
!ip_set_optattr_netorder(tb, IPSET_ATTR_TIMEOUT) ||
net/netfilter/ipset/ip_set_bitmap_ipmac.c
329
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_bitmap_ipmac.c
332
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP], &first_ip);
net/netfilter/ipset/ip_set_bitmap_ipmac.c
336
if (tb[IPSET_ATTR_IP_TO]) {
net/netfilter/ipset/ip_set_bitmap_ipmac.c
337
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &last_ip);
net/netfilter/ipset/ip_set_bitmap_ipmac.c
342
} else if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_bitmap_ipmac.c
343
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_bitmap_ipmac.c
357
set->dsize = ip_set_elem_len(set, tb,
net/netfilter/ipset/ip_set_bitmap_ipmac.c
370
if (tb[IPSET_ATTR_TIMEOUT]) {
net/netfilter/ipset/ip_set_bitmap_ipmac.c
371
set->timeout = ip_set_timeout_uget(tb[IPSET_ATTR_TIMEOUT]);
net/netfilter/ipset/ip_set_bitmap_port.c
153
bitmap_port_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_bitmap_port.c
164
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_bitmap_port.c
165
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_bitmap_port.c
167
if (unlikely(!ip_set_attr_netorder(tb, IPSET_ATTR_PORT) ||
net/netfilter/ipset/ip_set_bitmap_port.c
168
!ip_set_optattr_netorder(tb, IPSET_ATTR_PORT_TO)))
net/netfilter/ipset/ip_set_bitmap_port.c
171
port = ip_set_get_h16(tb[IPSET_ATTR_PORT]);
net/netfilter/ipset/ip_set_bitmap_port.c
174
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_bitmap_port.c
183
if (tb[IPSET_ATTR_PORT_TO]) {
net/netfilter/ipset/ip_set_bitmap_port.c
184
port_to = ip_set_get_h16(tb[IPSET_ATTR_PORT_TO]);
net/netfilter/ipset/ip_set_bitmap_port.c
249
bitmap_port_create(struct net *net, struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_bitmap_port.c
256
if (unlikely(!ip_set_attr_netorder(tb, IPSET_ATTR_PORT) ||
net/netfilter/ipset/ip_set_bitmap_port.c
257
!ip_set_attr_netorder(tb, IPSET_ATTR_PORT_TO) ||
net/netfilter/ipset/ip_set_bitmap_port.c
258
!ip_set_optattr_netorder(tb, IPSET_ATTR_TIMEOUT) ||
net/netfilter/ipset/ip_set_bitmap_port.c
259
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_bitmap_port.c
262
first_port = ip_set_get_h16(tb[IPSET_ATTR_PORT]);
net/netfilter/ipset/ip_set_bitmap_port.c
263
last_port = ip_set_get_h16(tb[IPSET_ATTR_PORT_TO]);
net/netfilter/ipset/ip_set_bitmap_port.c
268
set->dsize = ip_set_elem_len(set, tb, 0, 0);
net/netfilter/ipset/ip_set_bitmap_port.c
280
if (tb[IPSET_ATTR_TIMEOUT]) {
net/netfilter/ipset/ip_set_bitmap_port.c
281
set->timeout = ip_set_timeout_uget(tb[IPSET_ATTR_TIMEOUT]);
net/netfilter/ipset/ip_set_core.c
1055
struct nlattr *tb[IPSET_ATTR_CREATE_MAX + 1] = {};
net/netfilter/ipset/ip_set_core.c
1101
nla_parse_nested(tb, IPSET_ATTR_CREATE_MAX, attr[IPSET_ATTR_DATA],
net/netfilter/ipset/ip_set_core.c
1109
ret = set->type->create(info->net, set, tb, flags);
net/netfilter/ipset/ip_set_core.c
1741
struct ip_set *set, struct nlattr *tb[], enum ipset_adt adt,
net/netfilter/ipset/ip_set_core.c
1758
ret = set->variant->uadt(set, tb, adt, &lineno, flags, retried);
net/netfilter/ipset/ip_set_core.c
1821
struct nlattr *tb[IPSET_ATTR_ADT_MAX + 1] = {};
net/netfilter/ipset/ip_set_core.c
1844
if (nla_parse_nested(tb, IPSET_ATTR_ADT_MAX,
net/netfilter/ipset/ip_set_core.c
1848
ret = call_ad(net, ctnl, skb, set, tb, adt, flags,
net/netfilter/ipset/ip_set_core.c
1856
nla_parse_nested(tb, IPSET_ATTR_ADT_MAX, nla,
net/netfilter/ipset/ip_set_core.c
1859
ret = call_ad(net, ctnl, skb, set, tb, adt,
net/netfilter/ipset/ip_set_core.c
1887
struct nlattr *tb[IPSET_ATTR_ADT_MAX + 1] = {};
net/netfilter/ipset/ip_set_core.c
1901
if (nla_parse_nested(tb, IPSET_ATTR_ADT_MAX, attr[IPSET_ATTR_DATA],
net/netfilter/ipset/ip_set_core.c
1906
ret = set->variant->uadt(set, tb, IPSET_TEST, &lineno, 0, 0);
net/netfilter/ipset/ip_set_core.c
288
struct nlattr *tb[IPSET_ATTR_IPADDR_MAX + 1];
net/netfilter/ipset/ip_set_core.c
292
if (nla_parse_nested(tb, IPSET_ATTR_IPADDR_MAX, nla,
net/netfilter/ipset/ip_set_core.c
295
if (unlikely(!ip_set_attr_netorder(tb, IPSET_ATTR_IPADDR_IPV4)))
net/netfilter/ipset/ip_set_core.c
298
*ipaddr = nla_get_be32(tb[IPSET_ATTR_IPADDR_IPV4]);
net/netfilter/ipset/ip_set_core.c
306
struct nlattr *tb[IPSET_ATTR_IPADDR_MAX + 1];
net/netfilter/ipset/ip_set_core.c
311
if (nla_parse_nested(tb, IPSET_ATTR_IPADDR_MAX, nla,
net/netfilter/ipset/ip_set_core.c
314
if (unlikely(!ip_set_attr_netorder(tb, IPSET_ATTR_IPADDR_IPV6)))
net/netfilter/ipset/ip_set_core.c
317
memcpy(ipaddr, nla_data(tb[IPSET_ATTR_IPADDR_IPV6]),
net/netfilter/ipset/ip_set_core.c
337
ip_set_comment_uget(struct nlattr *tb)
net/netfilter/ipset/ip_set_core.c
339
return nla_data(tb);
net/netfilter/ipset/ip_set_core.c
432
add_extension(enum ip_set_ext_id id, u32 flags, struct nlattr *tb[])
net/netfilter/ipset/ip_set_core.c
436
!!tb[IPSET_ATTR_TIMEOUT];
net/netfilter/ipset/ip_set_core.c
440
ip_set_elem_len(struct ip_set *set, struct nlattr *tb[], size_t len,
net/netfilter/ipset/ip_set_core.c
446
if (tb[IPSET_ATTR_CADT_FLAGS])
net/netfilter/ipset/ip_set_core.c
447
cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
net/netfilter/ipset/ip_set_core.c
453
if (!add_extension(id, cadt_flags, tb))
net/netfilter/ipset/ip_set_core.c
467
ip_set_get_extensions(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_core.c
472
if (unlikely(!ip_set_optattr_netorder(tb, IPSET_ATTR_TIMEOUT) ||
net/netfilter/ipset/ip_set_core.c
473
!ip_set_optattr_netorder(tb, IPSET_ATTR_PACKETS) ||
net/netfilter/ipset/ip_set_core.c
474
!ip_set_optattr_netorder(tb, IPSET_ATTR_BYTES) ||
net/netfilter/ipset/ip_set_core.c
475
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBMARK) ||
net/netfilter/ipset/ip_set_core.c
476
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBPRIO) ||
net/netfilter/ipset/ip_set_core.c
477
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBQUEUE)))
net/netfilter/ipset/ip_set_core.c
480
if (tb[IPSET_ATTR_TIMEOUT]) {
net/netfilter/ipset/ip_set_core.c
483
ext->timeout = ip_set_timeout_uget(tb[IPSET_ATTR_TIMEOUT]);
net/netfilter/ipset/ip_set_core.c
485
if (tb[IPSET_ATTR_BYTES] || tb[IPSET_ATTR_PACKETS]) {
net/netfilter/ipset/ip_set_core.c
488
if (tb[IPSET_ATTR_BYTES])
net/netfilter/ipset/ip_set_core.c
490
tb[IPSET_ATTR_BYTES]));
net/netfilter/ipset/ip_set_core.c
491
if (tb[IPSET_ATTR_PACKETS])
net/netfilter/ipset/ip_set_core.c
493
tb[IPSET_ATTR_PACKETS]));
net/netfilter/ipset/ip_set_core.c
495
if (tb[IPSET_ATTR_COMMENT]) {
net/netfilter/ipset/ip_set_core.c
498
ext->comment = ip_set_comment_uget(tb[IPSET_ATTR_COMMENT]);
net/netfilter/ipset/ip_set_core.c
500
if (tb[IPSET_ATTR_SKBMARK]) {
net/netfilter/ipset/ip_set_core.c
503
fullmark = be64_to_cpu(nla_get_be64(tb[IPSET_ATTR_SKBMARK]));
net/netfilter/ipset/ip_set_core.c
507
if (tb[IPSET_ATTR_SKBPRIO]) {
net/netfilter/ipset/ip_set_core.c
511
be32_to_cpu(nla_get_be32(tb[IPSET_ATTR_SKBPRIO]));
net/netfilter/ipset/ip_set_core.c
513
if (tb[IPSET_ATTR_SKBQUEUE]) {
net/netfilter/ipset/ip_set_core.c
517
be16_to_cpu(nla_get_be16(tb[IPSET_ATTR_SKBQUEUE]));
net/netfilter/ipset/ip_set_core.c
948
static inline u8 protocol(const struct nlattr * const tb[])
net/netfilter/ipset/ip_set_core.c
950
return nla_get_u8(tb[IPSET_ATTR_PROTOCOL]);
net/netfilter/ipset/ip_set_core.c
954
protocol_failed(const struct nlattr * const tb[])
net/netfilter/ipset/ip_set_core.c
956
return !tb[IPSET_ATTR_PROTOCOL] || protocol(tb) != IPSET_PROTOCOL;
net/netfilter/ipset/ip_set_core.c
960
protocol_min_failed(const struct nlattr * const tb[])
net/netfilter/ipset/ip_set_core.c
962
return !tb[IPSET_ATTR_PROTOCOL] || protocol(tb) < IPSET_PROTOCOL_MIN;
net/netfilter/ipset/ip_set_hash_gen.h
1470
IPSET_TOKEN(MTYPE, _uadt)(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_gen.h
1496
struct nlattr *tb[], u32 flags)
net/netfilter/ipset/ip_set_hash_gen.h
1524
if (unlikely(!ip_set_optattr_netorder(tb, IPSET_ATTR_HASHSIZE) ||
net/netfilter/ipset/ip_set_hash_gen.h
1525
!ip_set_optattr_netorder(tb, IPSET_ATTR_MAXELEM) ||
net/netfilter/ipset/ip_set_hash_gen.h
1526
!ip_set_optattr_netorder(tb, IPSET_ATTR_TIMEOUT) ||
net/netfilter/ipset/ip_set_hash_gen.h
1527
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_hash_gen.h
1532
if (unlikely(!ip_set_optattr_netorder(tb, IPSET_ATTR_MARKMASK)))
net/netfilter/ipset/ip_set_hash_gen.h
1536
if (tb[IPSET_ATTR_MARKMASK]) {
net/netfilter/ipset/ip_set_hash_gen.h
1537
markmask = ntohl(nla_get_be32(tb[IPSET_ATTR_MARKMASK]));
net/netfilter/ipset/ip_set_hash_gen.h
1544
if (tb[IPSET_ATTR_NETMASK]) {
net/netfilter/ipset/ip_set_hash_gen.h
1545
netmask = nla_get_u8(tb[IPSET_ATTR_NETMASK]);
net/netfilter/ipset/ip_set_hash_gen.h
1561
if (tb[IPSET_ATTR_BITMASK]) {
net/netfilter/ipset/ip_set_hash_gen.h
1563
if (tb[IPSET_ATTR_NETMASK])
net/netfilter/ipset/ip_set_hash_gen.h
1567
ret = ip_set_get_ipaddr4(tb[IPSET_ATTR_BITMASK], &bitmask.ip);
net/netfilter/ipset/ip_set_hash_gen.h
1571
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_BITMASK], &bitmask);
net/netfilter/ipset/ip_set_hash_gen.h
1581
if (tb[IPSET_ATTR_HASHSIZE]) {
net/netfilter/ipset/ip_set_hash_gen.h
1582
hashsize = ip_set_get_h32(tb[IPSET_ATTR_HASHSIZE]);
net/netfilter/ipset/ip_set_hash_gen.h
1587
if (tb[IPSET_ATTR_MAXELEM])
net/netfilter/ipset/ip_set_hash_gen.h
1588
maxelem = ip_set_get_h32(tb[IPSET_ATTR_MAXELEM]);
net/netfilter/ipset/ip_set_hash_gen.h
1634
if (tb[IPSET_ATTR_INITVAL])
net/netfilter/ipset/ip_set_hash_gen.h
1635
h->initval = ntohl(nla_get_be32(tb[IPSET_ATTR_INITVAL]));
net/netfilter/ipset/ip_set_hash_gen.h
1639
if (tb[IPSET_ATTR_BUCKETSIZE]) {
net/netfilter/ipset/ip_set_hash_gen.h
1640
h->bucketsize = nla_get_u8(tb[IPSET_ATTR_BUCKETSIZE]);
net/netfilter/ipset/ip_set_hash_gen.h
1657
set->dsize = ip_set_elem_len(set, tb,
net/netfilter/ipset/ip_set_hash_gen.h
1663
set->dsize = ip_set_elem_len(set, tb,
net/netfilter/ipset/ip_set_hash_gen.h
1669
if (tb[IPSET_ATTR_TIMEOUT]) {
net/netfilter/ipset/ip_set_hash_gen.h
1670
set->timeout = ip_set_timeout_uget(tb[IPSET_ATTR_TIMEOUT]);
net/netfilter/ipset/ip_set_hash_ip.c
100
hash_ip4_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_ip.c
110
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_ip.c
111
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_ip.c
113
if (unlikely(!tb[IPSET_ATTR_IP]))
net/netfilter/ipset/ip_set_hash_ip.c
116
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP], &ip);
net/netfilter/ipset/ip_set_hash_ip.c
120
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_ip.c
133
if (tb[IPSET_ATTR_IP_TO]) {
net/netfilter/ipset/ip_set_hash_ip.c
134
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &ip_to);
net/netfilter/ipset/ip_set_hash_ip.c
142
} else if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_hash_ip.c
143
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_ip.c
234
hash_ip6_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_ip.c
243
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_ip.c
244
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_ip.c
246
if (unlikely(!tb[IPSET_ATTR_IP]))
net/netfilter/ipset/ip_set_hash_ip.c
248
if (unlikely(tb[IPSET_ATTR_IP_TO]))
net/netfilter/ipset/ip_set_hash_ip.c
250
if (unlikely(tb[IPSET_ATTR_CIDR])) {
net/netfilter/ipset/ip_set_hash_ip.c
251
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_ip.c
257
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_IP], &e.ip);
net/netfilter/ipset/ip_set_hash_ip.c
261
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_ipmac.c
111
hash_ipmac4_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_ipmac.c
119
if (unlikely(!tb[IPSET_ATTR_IP] ||
net/netfilter/ipset/ip_set_hash_ipmac.c
120
!tb[IPSET_ATTR_ETHER] ||
net/netfilter/ipset/ip_set_hash_ipmac.c
121
nla_len(tb[IPSET_ATTR_ETHER]) != ETH_ALEN ||
net/netfilter/ipset/ip_set_hash_ipmac.c
122
!ip_set_optattr_netorder(tb, IPSET_ATTR_TIMEOUT) ||
net/netfilter/ipset/ip_set_hash_ipmac.c
123
!ip_set_optattr_netorder(tb, IPSET_ATTR_PACKETS) ||
net/netfilter/ipset/ip_set_hash_ipmac.c
124
!ip_set_optattr_netorder(tb, IPSET_ATTR_BYTES) ||
net/netfilter/ipset/ip_set_hash_ipmac.c
125
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBMARK) ||
net/netfilter/ipset/ip_set_hash_ipmac.c
126
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBPRIO) ||
net/netfilter/ipset/ip_set_hash_ipmac.c
127
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBQUEUE)))
net/netfilter/ipset/ip_set_hash_ipmac.c
130
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_ipmac.c
131
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_ipmac.c
133
ret = ip_set_get_ipaddr4(tb[IPSET_ATTR_IP], &e.ip) ||
net/netfilter/ipset/ip_set_hash_ipmac.c
134
ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_ipmac.c
137
memcpy(e.ether, nla_data(tb[IPSET_ATTR_ETHER]), ETH_ALEN);
net/netfilter/ipset/ip_set_hash_ipmac.c
227
hash_ipmac6_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_ipmac.c
238
if (unlikely(!tb[IPSET_ATTR_IP] ||
net/netfilter/ipset/ip_set_hash_ipmac.c
239
!tb[IPSET_ATTR_ETHER] ||
net/netfilter/ipset/ip_set_hash_ipmac.c
240
nla_len(tb[IPSET_ATTR_ETHER]) != ETH_ALEN ||
net/netfilter/ipset/ip_set_hash_ipmac.c
241
!ip_set_optattr_netorder(tb, IPSET_ATTR_TIMEOUT) ||
net/netfilter/ipset/ip_set_hash_ipmac.c
242
!ip_set_optattr_netorder(tb, IPSET_ATTR_PACKETS) ||
net/netfilter/ipset/ip_set_hash_ipmac.c
243
!ip_set_optattr_netorder(tb, IPSET_ATTR_BYTES) ||
net/netfilter/ipset/ip_set_hash_ipmac.c
244
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBMARK) ||
net/netfilter/ipset/ip_set_hash_ipmac.c
245
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBPRIO) ||
net/netfilter/ipset/ip_set_hash_ipmac.c
246
!ip_set_optattr_netorder(tb, IPSET_ATTR_SKBQUEUE)))
net/netfilter/ipset/ip_set_hash_ipmac.c
249
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_ipmac.c
250
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_ipmac.c
252
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_IP], &e.ip) ||
net/netfilter/ipset/ip_set_hash_ipmac.c
253
ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_ipmac.c
257
memcpy(e.ether, nla_data(tb[IPSET_ATTR_ETHER]), ETH_ALEN);
net/netfilter/ipset/ip_set_hash_ipmark.c
107
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_ipmark.c
108
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_ipmark.c
110
if (unlikely(!tb[IPSET_ATTR_IP] ||
net/netfilter/ipset/ip_set_hash_ipmark.c
111
!ip_set_attr_netorder(tb, IPSET_ATTR_MARK)))
net/netfilter/ipset/ip_set_hash_ipmark.c
114
ret = ip_set_get_ipaddr4(tb[IPSET_ATTR_IP], &e.ip);
net/netfilter/ipset/ip_set_hash_ipmark.c
118
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_ipmark.c
122
e.mark = ntohl(nla_get_be32(tb[IPSET_ATTR_MARK]));
net/netfilter/ipset/ip_set_hash_ipmark.c
128
!(tb[IPSET_ATTR_IP_TO] || tb[IPSET_ATTR_CIDR])) {
net/netfilter/ipset/ip_set_hash_ipmark.c
134
if (tb[IPSET_ATTR_IP_TO]) {
net/netfilter/ipset/ip_set_hash_ipmark.c
135
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &ip_to);
net/netfilter/ipset/ip_set_hash_ipmark.c
143
} else if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_hash_ipmark.c
144
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_ipmark.c
236
hash_ipmark6_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_ipmark.c
245
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_ipmark.c
246
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_ipmark.c
248
if (unlikely(!tb[IPSET_ATTR_IP] ||
net/netfilter/ipset/ip_set_hash_ipmark.c
249
!ip_set_attr_netorder(tb, IPSET_ATTR_MARK)))
net/netfilter/ipset/ip_set_hash_ipmark.c
251
if (unlikely(tb[IPSET_ATTR_IP_TO]))
net/netfilter/ipset/ip_set_hash_ipmark.c
253
if (unlikely(tb[IPSET_ATTR_CIDR])) {
net/netfilter/ipset/ip_set_hash_ipmark.c
254
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_ipmark.c
260
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_IP], &e.ip);
net/netfilter/ipset/ip_set_hash_ipmark.c
264
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_ipmark.c
268
e.mark = ntohl(nla_get_be32(tb[IPSET_ATTR_MARK]));
net/netfilter/ipset/ip_set_hash_ipmark.c
97
hash_ipmark4_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_ipport.c
112
hash_ipport4_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_ipport.c
123
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_ipport.c
124
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_ipport.c
126
if (unlikely(!tb[IPSET_ATTR_IP] ||
net/netfilter/ipset/ip_set_hash_ipport.c
127
!ip_set_attr_netorder(tb, IPSET_ATTR_PORT) ||
net/netfilter/ipset/ip_set_hash_ipport.c
128
!ip_set_optattr_netorder(tb, IPSET_ATTR_PORT_TO)))
net/netfilter/ipset/ip_set_hash_ipport.c
131
ret = ip_set_get_ipaddr4(tb[IPSET_ATTR_IP], &e.ip);
net/netfilter/ipset/ip_set_hash_ipport.c
135
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_ipport.c
143
e.port = nla_get_be16(tb[IPSET_ATTR_PORT]);
net/netfilter/ipset/ip_set_hash_ipport.c
145
if (tb[IPSET_ATTR_PROTO]) {
net/netfilter/ipset/ip_set_hash_ipport.c
146
e.proto = nla_get_u8(tb[IPSET_ATTR_PROTO]);
net/netfilter/ipset/ip_set_hash_ipport.c
159
!(tb[IPSET_ATTR_IP_TO] || tb[IPSET_ATTR_CIDR] ||
net/netfilter/ipset/ip_set_hash_ipport.c
160
tb[IPSET_ATTR_PORT_TO])) {
net/netfilter/ipset/ip_set_hash_ipport.c
166
if (tb[IPSET_ATTR_IP_TO]) {
net/netfilter/ipset/ip_set_hash_ipport.c
167
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &ip_to);
net/netfilter/ipset/ip_set_hash_ipport.c
172
} else if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_hash_ipport.c
173
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_ipport.c
181
if (with_ports && tb[IPSET_ATTR_PORT_TO]) {
net/netfilter/ipset/ip_set_hash_ipport.c
182
port_to = ip_set_get_h16(tb[IPSET_ATTR_PORT_TO]);
net/netfilter/ipset/ip_set_hash_ipport.c
286
hash_ipport6_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_ipport.c
297
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_ipport.c
298
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_ipport.c
300
if (unlikely(!tb[IPSET_ATTR_IP] ||
net/netfilter/ipset/ip_set_hash_ipport.c
301
!ip_set_attr_netorder(tb, IPSET_ATTR_PORT) ||
net/netfilter/ipset/ip_set_hash_ipport.c
302
!ip_set_optattr_netorder(tb, IPSET_ATTR_PORT_TO)))
net/netfilter/ipset/ip_set_hash_ipport.c
304
if (unlikely(tb[IPSET_ATTR_IP_TO]))
net/netfilter/ipset/ip_set_hash_ipport.c
306
if (unlikely(tb[IPSET_ATTR_CIDR])) {
net/netfilter/ipset/ip_set_hash_ipport.c
307
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_ipport.c
313
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_IP], &e.ip);
net/netfilter/ipset/ip_set_hash_ipport.c
317
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_ipport.c
325
e.port = nla_get_be16(tb[IPSET_ATTR_PORT]);
net/netfilter/ipset/ip_set_hash_ipport.c
327
if (tb[IPSET_ATTR_PROTO]) {
net/netfilter/ipset/ip_set_hash_ipport.c
328
e.proto = nla_get_u8(tb[IPSET_ATTR_PROTO]);
net/netfilter/ipset/ip_set_hash_ipport.c
340
if (adt == IPSET_TEST || !with_ports || !tb[IPSET_ATTR_PORT_TO]) {
net/netfilter/ipset/ip_set_hash_ipport.c
346
port_to = ip_set_get_h16(tb[IPSET_ATTR_PORT_TO]);
net/netfilter/ipset/ip_set_hash_ipportip.c
108
hash_ipportip4_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_ipportip.c
119
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_ipportip.c
120
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_ipportip.c
122
if (unlikely(!tb[IPSET_ATTR_IP] || !tb[IPSET_ATTR_IP2] ||
net/netfilter/ipset/ip_set_hash_ipportip.c
123
!ip_set_attr_netorder(tb, IPSET_ATTR_PORT) ||
net/netfilter/ipset/ip_set_hash_ipportip.c
124
!ip_set_optattr_netorder(tb, IPSET_ATTR_PORT_TO)))
net/netfilter/ipset/ip_set_hash_ipportip.c
127
ret = ip_set_get_ipaddr4(tb[IPSET_ATTR_IP], &e.ip);
net/netfilter/ipset/ip_set_hash_ipportip.c
131
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_ipportip.c
135
ret = ip_set_get_ipaddr4(tb[IPSET_ATTR_IP2], &e.ip2);
net/netfilter/ipset/ip_set_hash_ipportip.c
139
e.port = nla_get_be16(tb[IPSET_ATTR_PORT]);
net/netfilter/ipset/ip_set_hash_ipportip.c
141
if (tb[IPSET_ATTR_PROTO]) {
net/netfilter/ipset/ip_set_hash_ipportip.c
142
e.proto = nla_get_u8(tb[IPSET_ATTR_PROTO]);
net/netfilter/ipset/ip_set_hash_ipportip.c
155
!(tb[IPSET_ATTR_IP_TO] || tb[IPSET_ATTR_CIDR] ||
net/netfilter/ipset/ip_set_hash_ipportip.c
156
tb[IPSET_ATTR_PORT_TO])) {
net/netfilter/ipset/ip_set_hash_ipportip.c
162
if (tb[IPSET_ATTR_IP_TO]) {
net/netfilter/ipset/ip_set_hash_ipportip.c
163
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &ip_to);
net/netfilter/ipset/ip_set_hash_ipportip.c
168
} else if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_hash_ipportip.c
169
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_ipportip.c
177
if (with_ports && tb[IPSET_ATTR_PORT_TO]) {
net/netfilter/ipset/ip_set_hash_ipportip.c
178
port_to = ip_set_get_h16(tb[IPSET_ATTR_PORT_TO]);
net/netfilter/ipset/ip_set_hash_ipportip.c
281
hash_ipportip6_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_ipportip.c
292
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_ipportip.c
293
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_ipportip.c
295
if (unlikely(!tb[IPSET_ATTR_IP] || !tb[IPSET_ATTR_IP2] ||
net/netfilter/ipset/ip_set_hash_ipportip.c
296
!ip_set_attr_netorder(tb, IPSET_ATTR_PORT) ||
net/netfilter/ipset/ip_set_hash_ipportip.c
297
!ip_set_optattr_netorder(tb, IPSET_ATTR_PORT_TO)))
net/netfilter/ipset/ip_set_hash_ipportip.c
299
if (unlikely(tb[IPSET_ATTR_IP_TO]))
net/netfilter/ipset/ip_set_hash_ipportip.c
301
if (unlikely(tb[IPSET_ATTR_CIDR])) {
net/netfilter/ipset/ip_set_hash_ipportip.c
302
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_ipportip.c
308
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_IP], &e.ip);
net/netfilter/ipset/ip_set_hash_ipportip.c
312
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_ipportip.c
316
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_IP2], &e.ip2);
net/netfilter/ipset/ip_set_hash_ipportip.c
320
e.port = nla_get_be16(tb[IPSET_ATTR_PORT]);
net/netfilter/ipset/ip_set_hash_ipportip.c
322
if (tb[IPSET_ATTR_PROTO]) {
net/netfilter/ipset/ip_set_hash_ipportip.c
323
e.proto = nla_get_u8(tb[IPSET_ATTR_PROTO]);
net/netfilter/ipset/ip_set_hash_ipportip.c
335
if (adt == IPSET_TEST || !with_ports || !tb[IPSET_ATTR_PORT_TO]) {
net/netfilter/ipset/ip_set_hash_ipportip.c
341
port_to = ip_set_get_h16(tb[IPSET_ATTR_PORT_TO]);
net/netfilter/ipset/ip_set_hash_ipportnet.c
160
hash_ipportnet4_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_ipportnet.c
173
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_ipportnet.c
174
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_ipportnet.c
176
if (unlikely(!tb[IPSET_ATTR_IP] || !tb[IPSET_ATTR_IP2] ||
net/netfilter/ipset/ip_set_hash_ipportnet.c
177
!ip_set_attr_netorder(tb, IPSET_ATTR_PORT) ||
net/netfilter/ipset/ip_set_hash_ipportnet.c
178
!ip_set_optattr_netorder(tb, IPSET_ATTR_PORT_TO) ||
net/netfilter/ipset/ip_set_hash_ipportnet.c
179
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_hash_ipportnet.c
182
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP], &ip);
net/netfilter/ipset/ip_set_hash_ipportnet.c
186
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_ipportnet.c
190
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP2], &ip2_from);
net/netfilter/ipset/ip_set_hash_ipportnet.c
194
if (tb[IPSET_ATTR_CIDR2]) {
net/netfilter/ipset/ip_set_hash_ipportnet.c
195
cidr = nla_get_u8(tb[IPSET_ATTR_CIDR2]);
net/netfilter/ipset/ip_set_hash_ipportnet.c
201
e.port = nla_get_be16(tb[IPSET_ATTR_PORT]);
net/netfilter/ipset/ip_set_hash_ipportnet.c
203
if (tb[IPSET_ATTR_PROTO]) {
net/netfilter/ipset/ip_set_hash_ipportnet.c
204
e.proto = nla_get_u8(tb[IPSET_ATTR_PROTO]);
net/netfilter/ipset/ip_set_hash_ipportnet.c
216
if (tb[IPSET_ATTR_CADT_FLAGS]) {
net/netfilter/ipset/ip_set_hash_ipportnet.c
217
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
net/netfilter/ipset/ip_set_hash_ipportnet.c
223
with_ports = with_ports && tb[IPSET_ATTR_PORT_TO];
net/netfilter/ipset/ip_set_hash_ipportnet.c
225
!(tb[IPSET_ATTR_CIDR] || tb[IPSET_ATTR_IP_TO] || with_ports ||
net/netfilter/ipset/ip_set_hash_ipportnet.c
226
tb[IPSET_ATTR_IP2_TO])) {
net/netfilter/ipset/ip_set_hash_ipportnet.c
235
if (tb[IPSET_ATTR_IP_TO]) {
net/netfilter/ipset/ip_set_hash_ipportnet.c
236
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &ip_to);
net/netfilter/ipset/ip_set_hash_ipportnet.c
241
} else if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_hash_ipportnet.c
242
cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_ipportnet.c
250
if (tb[IPSET_ATTR_PORT_TO]) {
net/netfilter/ipset/ip_set_hash_ipportnet.c
251
port_to = ip_set_get_h16(tb[IPSET_ATTR_PORT_TO]);
net/netfilter/ipset/ip_set_hash_ipportnet.c
257
if (tb[IPSET_ATTR_IP2_TO]) {
net/netfilter/ipset/ip_set_hash_ipportnet.c
258
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP2_TO], &ip2_to);
net/netfilter/ipset/ip_set_hash_ipportnet.c
420
hash_ipportnet6_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_ipportnet.c
432
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_ipportnet.c
433
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_ipportnet.c
435
if (unlikely(!tb[IPSET_ATTR_IP] || !tb[IPSET_ATTR_IP2] ||
net/netfilter/ipset/ip_set_hash_ipportnet.c
436
!ip_set_attr_netorder(tb, IPSET_ATTR_PORT) ||
net/netfilter/ipset/ip_set_hash_ipportnet.c
437
!ip_set_optattr_netorder(tb, IPSET_ATTR_PORT_TO) ||
net/netfilter/ipset/ip_set_hash_ipportnet.c
438
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_hash_ipportnet.c
440
if (unlikely(tb[IPSET_ATTR_IP_TO]))
net/netfilter/ipset/ip_set_hash_ipportnet.c
442
if (unlikely(tb[IPSET_ATTR_CIDR])) {
net/netfilter/ipset/ip_set_hash_ipportnet.c
443
cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_ipportnet.c
449
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_IP], &e.ip);
net/netfilter/ipset/ip_set_hash_ipportnet.c
453
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_ipportnet.c
457
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_IP2], &e.ip2);
net/netfilter/ipset/ip_set_hash_ipportnet.c
461
if (tb[IPSET_ATTR_CIDR2]) {
net/netfilter/ipset/ip_set_hash_ipportnet.c
462
cidr = nla_get_u8(tb[IPSET_ATTR_CIDR2]);
net/netfilter/ipset/ip_set_hash_ipportnet.c
470
e.port = nla_get_be16(tb[IPSET_ATTR_PORT]);
net/netfilter/ipset/ip_set_hash_ipportnet.c
472
if (tb[IPSET_ATTR_PROTO]) {
net/netfilter/ipset/ip_set_hash_ipportnet.c
473
e.proto = nla_get_u8(tb[IPSET_ATTR_PROTO]);
net/netfilter/ipset/ip_set_hash_ipportnet.c
485
if (tb[IPSET_ATTR_CADT_FLAGS]) {
net/netfilter/ipset/ip_set_hash_ipportnet.c
486
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
net/netfilter/ipset/ip_set_hash_ipportnet.c
492
if (adt == IPSET_TEST || !with_ports || !tb[IPSET_ATTR_PORT_TO]) {
net/netfilter/ipset/ip_set_hash_ipportnet.c
499
port_to = ip_set_get_h16(tb[IPSET_ATTR_PORT_TO]);
net/netfilter/ipset/ip_set_hash_mac.c
104
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_mac.c
105
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_mac.c
107
if (unlikely(!tb[IPSET_ATTR_ETHER] ||
net/netfilter/ipset/ip_set_hash_mac.c
108
nla_len(tb[IPSET_ATTR_ETHER]) != ETH_ALEN))
net/netfilter/ipset/ip_set_hash_mac.c
111
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_mac.c
114
ether_addr_copy(e.ether, nla_data(tb[IPSET_ATTR_ETHER]));
net/netfilter/ipset/ip_set_hash_mac.c
96
hash_mac4_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_net.c
136
hash_net4_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_net.c
146
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_net.c
147
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_net.c
149
if (unlikely(!tb[IPSET_ATTR_IP] ||
net/netfilter/ipset/ip_set_hash_net.c
150
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_hash_net.c
153
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP], &ip);
net/netfilter/ipset/ip_set_hash_net.c
157
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_net.c
161
if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_hash_net.c
162
e.cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_net.c
167
if (tb[IPSET_ATTR_CADT_FLAGS]) {
net/netfilter/ipset/ip_set_hash_net.c
168
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
net/netfilter/ipset/ip_set_hash_net.c
174
if (adt == IPSET_TEST || !tb[IPSET_ATTR_IP_TO]) {
net/netfilter/ipset/ip_set_hash_net.c
182
if (tb[IPSET_ATTR_IP_TO]) {
net/netfilter/ipset/ip_set_hash_net.c
183
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &ip_to);
net/netfilter/ipset/ip_set_hash_net.c
310
hash_net6_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_net.c
318
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_net.c
319
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_net.c
321
if (unlikely(!tb[IPSET_ATTR_IP] ||
net/netfilter/ipset/ip_set_hash_net.c
322
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_hash_net.c
324
if (unlikely(tb[IPSET_ATTR_IP_TO]))
net/netfilter/ipset/ip_set_hash_net.c
327
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_IP], &e.ip);
net/netfilter/ipset/ip_set_hash_net.c
331
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_net.c
335
if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_hash_net.c
336
e.cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_net.c
343
if (tb[IPSET_ATTR_CADT_FLAGS]) {
net/netfilter/ipset/ip_set_hash_net.c
344
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
net/netfilter/ipset/ip_set_hash_netiface.c
198
hash_netiface4_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_netiface.c
208
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_netiface.c
209
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_netiface.c
211
if (unlikely(!tb[IPSET_ATTR_IP] ||
net/netfilter/ipset/ip_set_hash_netiface.c
212
!tb[IPSET_ATTR_IFACE] ||
net/netfilter/ipset/ip_set_hash_netiface.c
213
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_hash_netiface.c
216
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP], &ip);
net/netfilter/ipset/ip_set_hash_netiface.c
220
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_netiface.c
224
if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_hash_netiface.c
225
e.cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_netiface.c
229
nla_strscpy(e.iface, tb[IPSET_ATTR_IFACE], IFNAMSIZ);
net/netfilter/ipset/ip_set_hash_netiface.c
231
if (tb[IPSET_ATTR_CADT_FLAGS]) {
net/netfilter/ipset/ip_set_hash_netiface.c
232
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
net/netfilter/ipset/ip_set_hash_netiface.c
241
if (adt == IPSET_TEST || !tb[IPSET_ATTR_IP_TO]) {
net/netfilter/ipset/ip_set_hash_netiface.c
248
if (tb[IPSET_ATTR_IP_TO]) {
net/netfilter/ipset/ip_set_hash_netiface.c
249
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &ip_to);
net/netfilter/ipset/ip_set_hash_netiface.c
417
hash_netiface6_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_netiface.c
425
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_netiface.c
426
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_netiface.c
428
if (unlikely(!tb[IPSET_ATTR_IP] ||
net/netfilter/ipset/ip_set_hash_netiface.c
429
!tb[IPSET_ATTR_IFACE] ||
net/netfilter/ipset/ip_set_hash_netiface.c
430
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_hash_netiface.c
432
if (unlikely(tb[IPSET_ATTR_IP_TO]))
net/netfilter/ipset/ip_set_hash_netiface.c
435
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_IP], &e.ip);
net/netfilter/ipset/ip_set_hash_netiface.c
439
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_netiface.c
443
if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_hash_netiface.c
444
e.cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_netiface.c
451
nla_strscpy(e.iface, tb[IPSET_ATTR_IFACE], IFNAMSIZ);
net/netfilter/ipset/ip_set_hash_netiface.c
453
if (tb[IPSET_ATTR_CADT_FLAGS]) {
net/netfilter/ipset/ip_set_hash_netiface.c
454
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
net/netfilter/ipset/ip_set_hash_netnet.c
166
hash_netnet4_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_netnet.c
177
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_netnet.c
178
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_netnet.c
181
if (unlikely(!tb[IPSET_ATTR_IP] || !tb[IPSET_ATTR_IP2] ||
net/netfilter/ipset/ip_set_hash_netnet.c
182
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_hash_netnet.c
185
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP], &ip);
net/netfilter/ipset/ip_set_hash_netnet.c
189
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP2], &ip2_from);
net/netfilter/ipset/ip_set_hash_netnet.c
193
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_netnet.c
197
if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_hash_netnet.c
198
e.cidr[0] = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_netnet.c
203
if (tb[IPSET_ATTR_CIDR2]) {
net/netfilter/ipset/ip_set_hash_netnet.c
204
e.cidr[1] = nla_get_u8(tb[IPSET_ATTR_CIDR2]);
net/netfilter/ipset/ip_set_hash_netnet.c
209
if (tb[IPSET_ATTR_CADT_FLAGS]) {
net/netfilter/ipset/ip_set_hash_netnet.c
210
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
net/netfilter/ipset/ip_set_hash_netnet.c
216
if (adt == IPSET_TEST || !(tb[IPSET_ATTR_IP_TO] ||
net/netfilter/ipset/ip_set_hash_netnet.c
217
tb[IPSET_ATTR_IP2_TO])) {
net/netfilter/ipset/ip_set_hash_netnet.c
226
if (tb[IPSET_ATTR_IP_TO]) {
net/netfilter/ipset/ip_set_hash_netnet.c
227
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &ip_to);
net/netfilter/ipset/ip_set_hash_netnet.c
239
if (tb[IPSET_ATTR_IP2_TO]) {
net/netfilter/ipset/ip_set_hash_netnet.c
240
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP2_TO], &ip2_to);
net/netfilter/ipset/ip_set_hash_netnet.c
410
hash_netnet6_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_netnet.c
419
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_netnet.c
420
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_netnet.c
423
if (unlikely(!tb[IPSET_ATTR_IP] || !tb[IPSET_ATTR_IP2] ||
net/netfilter/ipset/ip_set_hash_netnet.c
424
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_hash_netnet.c
426
if (unlikely(tb[IPSET_ATTR_IP_TO] || tb[IPSET_ATTR_IP2_TO]))
net/netfilter/ipset/ip_set_hash_netnet.c
429
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_IP], &e.ip[0]);
net/netfilter/ipset/ip_set_hash_netnet.c
433
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_IP2], &e.ip[1]);
net/netfilter/ipset/ip_set_hash_netnet.c
437
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_netnet.c
441
if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_hash_netnet.c
442
e.cidr[0] = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_netnet.c
447
if (tb[IPSET_ATTR_CIDR2]) {
net/netfilter/ipset/ip_set_hash_netnet.c
448
e.cidr[1] = nla_get_u8(tb[IPSET_ATTR_CIDR2]);
net/netfilter/ipset/ip_set_hash_netnet.c
461
if (tb[IPSET_ATTR_CADT_FLAGS]) {
net/netfilter/ipset/ip_set_hash_netnet.c
462
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
net/netfilter/ipset/ip_set_hash_netport.c
154
hash_netport4_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_netport.c
166
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_netport.c
167
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_netport.c
169
if (unlikely(!tb[IPSET_ATTR_IP] ||
net/netfilter/ipset/ip_set_hash_netport.c
170
!ip_set_attr_netorder(tb, IPSET_ATTR_PORT) ||
net/netfilter/ipset/ip_set_hash_netport.c
171
!ip_set_optattr_netorder(tb, IPSET_ATTR_PORT_TO) ||
net/netfilter/ipset/ip_set_hash_netport.c
172
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_hash_netport.c
175
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP], &ip);
net/netfilter/ipset/ip_set_hash_netport.c
179
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_netport.c
183
if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_hash_netport.c
184
cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_netport.c
190
e.port = nla_get_be16(tb[IPSET_ATTR_PORT]);
net/netfilter/ipset/ip_set_hash_netport.c
192
if (tb[IPSET_ATTR_PROTO]) {
net/netfilter/ipset/ip_set_hash_netport.c
193
e.proto = nla_get_u8(tb[IPSET_ATTR_PROTO]);
net/netfilter/ipset/ip_set_hash_netport.c
205
with_ports = with_ports && tb[IPSET_ATTR_PORT_TO];
net/netfilter/ipset/ip_set_hash_netport.c
207
if (tb[IPSET_ATTR_CADT_FLAGS]) {
net/netfilter/ipset/ip_set_hash_netport.c
208
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
net/netfilter/ipset/ip_set_hash_netport.c
214
if (adt == IPSET_TEST || !(with_ports || tb[IPSET_ATTR_IP_TO])) {
net/netfilter/ipset/ip_set_hash_netport.c
222
if (tb[IPSET_ATTR_PORT_TO]) {
net/netfilter/ipset/ip_set_hash_netport.c
223
port_to = ip_set_get_h16(tb[IPSET_ATTR_PORT_TO]);
net/netfilter/ipset/ip_set_hash_netport.c
227
if (tb[IPSET_ATTR_IP_TO]) {
net/netfilter/ipset/ip_set_hash_netport.c
228
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &ip_to);
net/netfilter/ipset/ip_set_hash_netport.c
374
hash_netport6_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_netport.c
386
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_netport.c
387
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_netport.c
389
if (unlikely(!tb[IPSET_ATTR_IP] ||
net/netfilter/ipset/ip_set_hash_netport.c
390
!ip_set_attr_netorder(tb, IPSET_ATTR_PORT) ||
net/netfilter/ipset/ip_set_hash_netport.c
391
!ip_set_optattr_netorder(tb, IPSET_ATTR_PORT_TO) ||
net/netfilter/ipset/ip_set_hash_netport.c
392
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_hash_netport.c
394
if (unlikely(tb[IPSET_ATTR_IP_TO]))
net/netfilter/ipset/ip_set_hash_netport.c
397
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_IP], &e.ip);
net/netfilter/ipset/ip_set_hash_netport.c
401
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_netport.c
405
if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_hash_netport.c
406
cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_netport.c
413
e.port = nla_get_be16(tb[IPSET_ATTR_PORT]);
net/netfilter/ipset/ip_set_hash_netport.c
415
if (tb[IPSET_ATTR_PROTO]) {
net/netfilter/ipset/ip_set_hash_netport.c
416
e.proto = nla_get_u8(tb[IPSET_ATTR_PROTO]);
net/netfilter/ipset/ip_set_hash_netport.c
428
if (tb[IPSET_ATTR_CADT_FLAGS]) {
net/netfilter/ipset/ip_set_hash_netport.c
429
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
net/netfilter/ipset/ip_set_hash_netport.c
435
if (adt == IPSET_TEST || !with_ports || !tb[IPSET_ATTR_PORT_TO]) {
net/netfilter/ipset/ip_set_hash_netport.c
442
port_to = ip_set_get_h16(tb[IPSET_ATTR_PORT_TO]);
net/netfilter/ipset/ip_set_hash_netportnet.c
188
hash_netportnet4_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_netportnet.c
200
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_netportnet.c
201
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_netportnet.c
204
if (unlikely(!tb[IPSET_ATTR_IP] || !tb[IPSET_ATTR_IP2] ||
net/netfilter/ipset/ip_set_hash_netportnet.c
205
!ip_set_attr_netorder(tb, IPSET_ATTR_PORT) ||
net/netfilter/ipset/ip_set_hash_netportnet.c
206
!ip_set_optattr_netorder(tb, IPSET_ATTR_PORT_TO) ||
net/netfilter/ipset/ip_set_hash_netportnet.c
207
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_hash_netportnet.c
210
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP], &ip);
net/netfilter/ipset/ip_set_hash_netportnet.c
214
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP2], &ip2_from);
net/netfilter/ipset/ip_set_hash_netportnet.c
218
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_netportnet.c
222
if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_hash_netportnet.c
223
e.cidr[0] = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_netportnet.c
228
if (tb[IPSET_ATTR_CIDR2]) {
net/netfilter/ipset/ip_set_hash_netportnet.c
229
e.cidr[1] = nla_get_u8(tb[IPSET_ATTR_CIDR2]);
net/netfilter/ipset/ip_set_hash_netportnet.c
234
e.port = nla_get_be16(tb[IPSET_ATTR_PORT]);
net/netfilter/ipset/ip_set_hash_netportnet.c
236
if (tb[IPSET_ATTR_PROTO]) {
net/netfilter/ipset/ip_set_hash_netportnet.c
237
e.proto = nla_get_u8(tb[IPSET_ATTR_PROTO]);
net/netfilter/ipset/ip_set_hash_netportnet.c
249
if (tb[IPSET_ATTR_CADT_FLAGS]) {
net/netfilter/ipset/ip_set_hash_netportnet.c
250
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
net/netfilter/ipset/ip_set_hash_netportnet.c
256
with_ports = with_ports && tb[IPSET_ATTR_PORT_TO];
net/netfilter/ipset/ip_set_hash_netportnet.c
258
!(tb[IPSET_ATTR_IP_TO] || with_ports || tb[IPSET_ATTR_IP2_TO])) {
net/netfilter/ipset/ip_set_hash_netportnet.c
267
if (tb[IPSET_ATTR_IP_TO]) {
net/netfilter/ipset/ip_set_hash_netportnet.c
268
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &ip_to);
net/netfilter/ipset/ip_set_hash_netportnet.c
280
if (tb[IPSET_ATTR_PORT_TO]) {
net/netfilter/ipset/ip_set_hash_netportnet.c
281
port_to = ip_set_get_h16(tb[IPSET_ATTR_PORT_TO]);
net/netfilter/ipset/ip_set_hash_netportnet.c
287
if (tb[IPSET_ATTR_IP2_TO]) {
net/netfilter/ipset/ip_set_hash_netportnet.c
288
ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP2_TO], &ip2_to);
net/netfilter/ipset/ip_set_hash_netportnet.c
473
hash_netportnet6_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_hash_netportnet.c
484
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_hash_netportnet.c
485
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_hash_netportnet.c
488
if (unlikely(!tb[IPSET_ATTR_IP] || !tb[IPSET_ATTR_IP2] ||
net/netfilter/ipset/ip_set_hash_netportnet.c
489
!ip_set_attr_netorder(tb, IPSET_ATTR_PORT) ||
net/netfilter/ipset/ip_set_hash_netportnet.c
490
!ip_set_optattr_netorder(tb, IPSET_ATTR_PORT_TO) ||
net/netfilter/ipset/ip_set_hash_netportnet.c
491
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_hash_netportnet.c
493
if (unlikely(tb[IPSET_ATTR_IP_TO] || tb[IPSET_ATTR_IP2_TO]))
net/netfilter/ipset/ip_set_hash_netportnet.c
496
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_IP], &e.ip[0]);
net/netfilter/ipset/ip_set_hash_netportnet.c
500
ret = ip_set_get_ipaddr6(tb[IPSET_ATTR_IP2], &e.ip[1]);
net/netfilter/ipset/ip_set_hash_netportnet.c
504
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_hash_netportnet.c
508
if (tb[IPSET_ATTR_CIDR]) {
net/netfilter/ipset/ip_set_hash_netportnet.c
509
e.cidr[0] = nla_get_u8(tb[IPSET_ATTR_CIDR]);
net/netfilter/ipset/ip_set_hash_netportnet.c
514
if (tb[IPSET_ATTR_CIDR2]) {
net/netfilter/ipset/ip_set_hash_netportnet.c
515
e.cidr[1] = nla_get_u8(tb[IPSET_ATTR_CIDR2]);
net/netfilter/ipset/ip_set_hash_netportnet.c
523
e.port = nla_get_be16(tb[IPSET_ATTR_PORT]);
net/netfilter/ipset/ip_set_hash_netportnet.c
525
if (tb[IPSET_ATTR_PROTO]) {
net/netfilter/ipset/ip_set_hash_netportnet.c
526
e.proto = nla_get_u8(tb[IPSET_ATTR_PROTO]);
net/netfilter/ipset/ip_set_hash_netportnet.c
538
if (tb[IPSET_ATTR_CADT_FLAGS]) {
net/netfilter/ipset/ip_set_hash_netportnet.c
539
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
net/netfilter/ipset/ip_set_hash_netportnet.c
545
if (adt == IPSET_TEST || !with_ports || !tb[IPSET_ATTR_PORT_TO]) {
net/netfilter/ipset/ip_set_hash_netportnet.c
552
port_to = ip_set_get_h16(tb[IPSET_ATTR_PORT_TO]);
net/netfilter/ipset/ip_set_list_set.c
350
list_set_uadt(struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_list_set.c
360
if (tb[IPSET_ATTR_LINENO])
net/netfilter/ipset/ip_set_list_set.c
361
*lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
net/netfilter/ipset/ip_set_list_set.c
363
if (unlikely(!tb[IPSET_ATTR_NAME] ||
net/netfilter/ipset/ip_set_list_set.c
364
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_list_set.c
367
ret = ip_set_get_extensions(set, tb, &ext);
net/netfilter/ipset/ip_set_list_set.c
370
e.id = ip_set_get_byname(map->net, tb[IPSET_ATTR_NAME], &s);
net/netfilter/ipset/ip_set_list_set.c
379
if (tb[IPSET_ATTR_CADT_FLAGS]) {
net/netfilter/ipset/ip_set_list_set.c
380
u32 f = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
net/netfilter/ipset/ip_set_list_set.c
385
if (e.before && !tb[IPSET_ATTR_NAMEREF]) {
net/netfilter/ipset/ip_set_list_set.c
390
if (tb[IPSET_ATTR_NAMEREF]) {
net/netfilter/ipset/ip_set_list_set.c
392
tb[IPSET_ATTR_NAMEREF],
net/netfilter/ipset/ip_set_list_set.c
617
list_set_create(struct net *net, struct ip_set *set, struct nlattr *tb[],
net/netfilter/ipset/ip_set_list_set.c
622
if (unlikely(!ip_set_optattr_netorder(tb, IPSET_ATTR_SIZE) ||
net/netfilter/ipset/ip_set_list_set.c
623
!ip_set_optattr_netorder(tb, IPSET_ATTR_TIMEOUT) ||
net/netfilter/ipset/ip_set_list_set.c
624
!ip_set_optattr_netorder(tb, IPSET_ATTR_CADT_FLAGS)))
net/netfilter/ipset/ip_set_list_set.c
627
if (tb[IPSET_ATTR_SIZE])
net/netfilter/ipset/ip_set_list_set.c
628
size = ip_set_get_h32(tb[IPSET_ATTR_SIZE]);
net/netfilter/ipset/ip_set_list_set.c
634
set->dsize = ip_set_elem_len(set, tb, sizeof(struct set_elem),
net/netfilter/ipset/ip_set_list_set.c
638
if (tb[IPSET_ATTR_TIMEOUT]) {
net/netfilter/ipset/ip_set_list_set.c
639
set->timeout = ip_set_timeout_uget(tb[IPSET_ATTR_TIMEOUT]);
net/netfilter/nf_conntrack_core.c
2147
int nf_ct_port_nlattr_to_tuple(struct nlattr *tb[],
net/netfilter/nf_conntrack_core.c
2152
if (!tb[CTA_PROTO_SRC_PORT])
net/netfilter/nf_conntrack_core.c
2155
t->src.u.tcp.port = nla_get_be16(tb[CTA_PROTO_SRC_PORT]);
net/netfilter/nf_conntrack_core.c
2159
if (!tb[CTA_PROTO_DST_PORT])
net/netfilter/nf_conntrack_core.c
2162
t->dst.u.tcp.port = nla_get_be16(tb[CTA_PROTO_DST_PORT]);
net/netfilter/nf_conntrack_netlink.c
1301
static int ipv4_nlattr_to_tuple(struct nlattr *tb[],
net/netfilter/nf_conntrack_netlink.c
1306
if (!tb[CTA_IP_V4_SRC])
net/netfilter/nf_conntrack_netlink.c
1309
t->src.u3.ip = nla_get_in_addr(tb[CTA_IP_V4_SRC]);
net/netfilter/nf_conntrack_netlink.c
1313
if (!tb[CTA_IP_V4_DST])
net/netfilter/nf_conntrack_netlink.c
1316
t->dst.u3.ip = nla_get_in_addr(tb[CTA_IP_V4_DST]);
net/netfilter/nf_conntrack_netlink.c
1322
static int ipv6_nlattr_to_tuple(struct nlattr *tb[],
net/netfilter/nf_conntrack_netlink.c
1327
if (!tb[CTA_IP_V6_SRC])
net/netfilter/nf_conntrack_netlink.c
1330
t->src.u3.in6 = nla_get_in6_addr(tb[CTA_IP_V6_SRC]);
net/netfilter/nf_conntrack_netlink.c
1334
if (!tb[CTA_IP_V6_DST])
net/netfilter/nf_conntrack_netlink.c
1337
t->dst.u3.in6 = nla_get_in6_addr(tb[CTA_IP_V6_DST]);
net/netfilter/nf_conntrack_netlink.c
1347
struct nlattr *tb[CTA_IP_MAX+1];
net/netfilter/nf_conntrack_netlink.c
1350
ret = nla_parse_nested_deprecated(tb, CTA_IP_MAX, attr,
net/netfilter/nf_conntrack_netlink.c
1357
ret = ipv4_nlattr_to_tuple(tb, tuple, flags);
net/netfilter/nf_conntrack_netlink.c
1360
ret = ipv6_nlattr_to_tuple(tb, tuple, flags);
net/netfilter/nf_conntrack_netlink.c
1376
struct nlattr *tb[CTA_PROTO_MAX+1];
net/netfilter/nf_conntrack_netlink.c
1379
ret = nla_parse_nested_deprecated(tb, CTA_PROTO_MAX, attr,
net/netfilter/nf_conntrack_netlink.c
1387
if (!tb[CTA_PROTO_NUM])
net/netfilter/nf_conntrack_netlink.c
1390
tuple->dst.protonum = nla_get_u8(tb[CTA_PROTO_NUM]);
net/netfilter/nf_conntrack_netlink.c
1400
ret = l4proto->nlattr_to_tuple(tb, tuple, flags);
net/netfilter/nf_conntrack_netlink.c
1467
struct nlattr *tb[CTA_TUPLE_MAX+1];
net/netfilter/nf_conntrack_netlink.c
1472
err = nla_parse_nested_deprecated(tb, CTA_TUPLE_MAX, cda[type],
net/netfilter/nf_conntrack_netlink.c
1483
if (!tb[CTA_TUPLE_IP])
net/netfilter/nf_conntrack_netlink.c
1486
err = ctnetlink_parse_tuple_ip(tb[CTA_TUPLE_IP], tuple, flags);
net/netfilter/nf_conntrack_netlink.c
1492
if (!tb[CTA_TUPLE_PROTO])
net/netfilter/nf_conntrack_netlink.c
1495
err = ctnetlink_parse_tuple_proto(tb[CTA_TUPLE_PROTO], tuple, flags);
net/netfilter/nf_conntrack_netlink.c
1503
if ((flags & CTA_FILTER_FLAG(CTA_TUPLE_ZONE)) && tb[CTA_TUPLE_ZONE]) {
net/netfilter/nf_conntrack_netlink.c
1507
err = ctnetlink_parse_tuple_zone(tb[CTA_TUPLE_ZONE],
net/netfilter/nf_conntrack_netlink.c
1540
struct nlattr *tb[CTA_HELP_MAX+1];
net/netfilter/nf_conntrack_netlink.c
1542
err = nla_parse_nested_deprecated(tb, CTA_HELP_MAX, attr,
net/netfilter/nf_conntrack_netlink.c
1547
if (!tb[CTA_HELP_NAME])
net/netfilter/nf_conntrack_netlink.c
1550
*helper_name = nla_data(tb[CTA_HELP_NAME]);
net/netfilter/nf_conntrack_netlink.c
1552
if (tb[CTA_HELP_INFO])
net/netfilter/nf_conntrack_netlink.c
1553
*helpinfo = tb[CTA_HELP_INFO];
net/netfilter/nf_conntrack_netlink.c
2013
struct nlattr *tb[CTA_PROTOINFO_MAX+1];
net/netfilter/nf_conntrack_netlink.c
2016
err = nla_parse_nested_deprecated(tb, CTA_PROTOINFO_MAX, attr,
net/netfilter/nf_conntrack_netlink.c
2023
err = l4proto->from_nlattr(tb, ct);
net/netfilter/nf_conntrack_netlink.c
2112
struct nlattr *tb[CTA_SYNPROXY_MAX + 1];
net/netfilter/nf_conntrack_netlink.c
2118
err = nla_parse_nested_deprecated(tb, CTA_SYNPROXY_MAX,
net/netfilter/nf_conntrack_netlink.c
2124
if (!tb[CTA_SYNPROXY_ISN] ||
net/netfilter/nf_conntrack_netlink.c
2125
!tb[CTA_SYNPROXY_ITS] ||
net/netfilter/nf_conntrack_netlink.c
2126
!tb[CTA_SYNPROXY_TSOFF])
net/netfilter/nf_conntrack_netlink.c
2129
synproxy->isn = ntohl(nla_get_be32(tb[CTA_SYNPROXY_ISN]));
net/netfilter/nf_conntrack_netlink.c
2130
synproxy->its = ntohl(nla_get_be32(tb[CTA_SYNPROXY_ITS]));
net/netfilter/nf_conntrack_netlink.c
2131
synproxy->tsoff = ntohl(nla_get_be32(tb[CTA_SYNPROXY_TSOFF]));
net/netfilter/nf_conntrack_netlink.c
3491
struct nlattr *tb[CTA_EXPECT_NAT_MAX+1];
net/netfilter/nf_conntrack_netlink.c
3495
err = nla_parse_nested_deprecated(tb, CTA_EXPECT_NAT_MAX, attr,
net/netfilter/nf_conntrack_netlink.c
3500
if (!tb[CTA_EXPECT_NAT_DIR] || !tb[CTA_EXPECT_NAT_TUPLE])
net/netfilter/nf_conntrack_netlink.c
3503
err = ctnetlink_parse_tuple((const struct nlattr * const *)tb,
net/netfilter/nf_conntrack_netlink.c
3511
exp->dir = ntohl(nla_get_be32(tb[CTA_EXPECT_NAT_DIR]));
net/netfilter/nf_conntrack_netlink.c
919
struct nlattr *tb[CTA_FILTER_MAX + 1];
net/netfilter/nf_conntrack_netlink.c
922
ret = nla_parse_nested(tb, CTA_FILTER_MAX, attr, cta_filter_nla_policy,
net/netfilter/nf_conntrack_netlink.c
927
if (tb[CTA_FILTER_ORIG_FLAGS])
net/netfilter/nf_conntrack_netlink.c
928
filter->orig_flags = nla_get_u32(tb[CTA_FILTER_ORIG_FLAGS]);
net/netfilter/nf_conntrack_netlink.c
930
if (tb[CTA_FILTER_REPLY_FLAGS])
net/netfilter/nf_conntrack_netlink.c
931
filter->reply_flags = nla_get_u32(tb[CTA_FILTER_REPLY_FLAGS]);
net/netfilter/nf_conntrack_proto_generic.c
20
static int generic_timeout_nlattr_to_obj(struct nlattr *tb[],
net/netfilter/nf_conntrack_proto_generic.c
29
if (tb[CTA_TIMEOUT_GENERIC_TIMEOUT])
net/netfilter/nf_conntrack_proto_generic.c
31
ntohl(nla_get_be32(tb[CTA_TIMEOUT_GENERIC_TIMEOUT])) * HZ;
net/netfilter/nf_conntrack_proto_gre.c
312
static int gre_timeout_nlattr_to_obj(struct nlattr *tb[],
net/netfilter/nf_conntrack_proto_gre.c
324
if (tb[CTA_TIMEOUT_GRE_UNREPLIED]) {
net/netfilter/nf_conntrack_proto_gre.c
326
ntohl(nla_get_be32(tb[CTA_TIMEOUT_GRE_UNREPLIED])) * HZ;
net/netfilter/nf_conntrack_proto_gre.c
328
if (tb[CTA_TIMEOUT_GRE_REPLIED]) {
net/netfilter/nf_conntrack_proto_gre.c
330
ntohl(nla_get_be32(tb[CTA_TIMEOUT_GRE_REPLIED])) * HZ;
net/netfilter/nf_conntrack_proto_icmp.c
274
static int icmp_nlattr_to_tuple(struct nlattr *tb[],
net/netfilter/nf_conntrack_proto_icmp.c
279
if (!tb[CTA_PROTO_ICMP_TYPE])
net/netfilter/nf_conntrack_proto_icmp.c
282
tuple->dst.u.icmp.type = nla_get_u8(tb[CTA_PROTO_ICMP_TYPE]);
net/netfilter/nf_conntrack_proto_icmp.c
289
if (!tb[CTA_PROTO_ICMP_CODE])
net/netfilter/nf_conntrack_proto_icmp.c
292
tuple->dst.u.icmp.code = nla_get_u8(tb[CTA_PROTO_ICMP_CODE]);
net/netfilter/nf_conntrack_proto_icmp.c
296
if (!tb[CTA_PROTO_ICMP_ID])
net/netfilter/nf_conntrack_proto_icmp.c
299
tuple->src.u.icmp.id = nla_get_be16(tb[CTA_PROTO_ICMP_ID]);
net/netfilter/nf_conntrack_proto_icmp.c
321
static int icmp_timeout_nlattr_to_obj(struct nlattr *tb[],
net/netfilter/nf_conntrack_proto_icmp.c
327
if (tb[CTA_TIMEOUT_ICMP_TIMEOUT]) {
net/netfilter/nf_conntrack_proto_icmp.c
331
ntohl(nla_get_be32(tb[CTA_TIMEOUT_ICMP_TIMEOUT])) * HZ;
net/netfilter/nf_conntrack_proto_icmpv6.c
251
static int icmpv6_nlattr_to_tuple(struct nlattr *tb[],
net/netfilter/nf_conntrack_proto_icmpv6.c
256
if (!tb[CTA_PROTO_ICMPV6_TYPE])
net/netfilter/nf_conntrack_proto_icmpv6.c
259
tuple->dst.u.icmp.type = nla_get_u8(tb[CTA_PROTO_ICMPV6_TYPE]);
net/netfilter/nf_conntrack_proto_icmpv6.c
267
if (!tb[CTA_PROTO_ICMPV6_CODE])
net/netfilter/nf_conntrack_proto_icmpv6.c
270
tuple->dst.u.icmp.code = nla_get_u8(tb[CTA_PROTO_ICMPV6_CODE]);
net/netfilter/nf_conntrack_proto_icmpv6.c
274
if (!tb[CTA_PROTO_ICMPV6_ID])
net/netfilter/nf_conntrack_proto_icmpv6.c
277
tuple->src.u.icmp.id = nla_get_be16(tb[CTA_PROTO_ICMPV6_ID]);
net/netfilter/nf_conntrack_proto_icmpv6.c
299
static int icmpv6_timeout_nlattr_to_obj(struct nlattr *tb[],
net/netfilter/nf_conntrack_proto_icmpv6.c
307
if (tb[CTA_TIMEOUT_ICMPV6_TIMEOUT]) {
net/netfilter/nf_conntrack_proto_icmpv6.c
309
ntohl(nla_get_be32(tb[CTA_TIMEOUT_ICMPV6_TIMEOUT])) * HZ;
net/netfilter/nf_conntrack_proto_sctp.c
603
struct nlattr *tb[CTA_PROTOINFO_SCTP_MAX+1];
net/netfilter/nf_conntrack_proto_sctp.c
610
err = nla_parse_nested_deprecated(tb, CTA_PROTOINFO_SCTP_MAX, attr,
net/netfilter/nf_conntrack_proto_sctp.c
615
if (!tb[CTA_PROTOINFO_SCTP_STATE] ||
net/netfilter/nf_conntrack_proto_sctp.c
616
!tb[CTA_PROTOINFO_SCTP_VTAG_ORIGINAL] ||
net/netfilter/nf_conntrack_proto_sctp.c
617
!tb[CTA_PROTOINFO_SCTP_VTAG_REPLY])
net/netfilter/nf_conntrack_proto_sctp.c
621
ct->proto.sctp.state = nla_get_u8(tb[CTA_PROTOINFO_SCTP_STATE]);
net/netfilter/nf_conntrack_proto_sctp.c
623
nla_get_be32(tb[CTA_PROTOINFO_SCTP_VTAG_ORIGINAL]);
net/netfilter/nf_conntrack_proto_sctp.c
625
nla_get_be32(tb[CTA_PROTOINFO_SCTP_VTAG_REPLY]);
net/netfilter/nf_conntrack_proto_sctp.c
637
static int sctp_timeout_nlattr_to_obj(struct nlattr *tb[],
net/netfilter/nf_conntrack_proto_sctp.c
653
if (tb[i]) {
net/netfilter/nf_conntrack_proto_sctp.c
654
timeouts[i] = ntohl(nla_get_be32(tb[i])) * HZ;
net/netfilter/nf_conntrack_proto_tcp.c
1405
struct nlattr *tb[CTA_PROTOINFO_TCP_MAX+1];
net/netfilter/nf_conntrack_proto_tcp.c
1413
err = nla_parse_nested_deprecated(tb, CTA_PROTOINFO_TCP_MAX, pattr,
net/netfilter/nf_conntrack_proto_tcp.c
1419
if (tb[CTA_PROTOINFO_TCP_STATE])
net/netfilter/nf_conntrack_proto_tcp.c
1420
ct->proto.tcp.state = nla_get_u8(tb[CTA_PROTOINFO_TCP_STATE]);
net/netfilter/nf_conntrack_proto_tcp.c
1422
if (tb[CTA_PROTOINFO_TCP_FLAGS_ORIGINAL]) {
net/netfilter/nf_conntrack_proto_tcp.c
1424
nla_data(tb[CTA_PROTOINFO_TCP_FLAGS_ORIGINAL]);
net/netfilter/nf_conntrack_proto_tcp.c
1429
if (tb[CTA_PROTOINFO_TCP_FLAGS_REPLY]) {
net/netfilter/nf_conntrack_proto_tcp.c
1431
nla_data(tb[CTA_PROTOINFO_TCP_FLAGS_REPLY]);
net/netfilter/nf_conntrack_proto_tcp.c
1436
if (tb[CTA_PROTOINFO_TCP_WSCALE_ORIGINAL] &&
net/netfilter/nf_conntrack_proto_tcp.c
1437
tb[CTA_PROTOINFO_TCP_WSCALE_REPLY] &&
net/netfilter/nf_conntrack_proto_tcp.c
1441
nla_get_u8(tb[CTA_PROTOINFO_TCP_WSCALE_ORIGINAL]);
net/netfilter/nf_conntrack_proto_tcp.c
1443
nla_get_u8(tb[CTA_PROTOINFO_TCP_WSCALE_REPLY]);
net/netfilter/nf_conntrack_proto_tcp.c
1466
static int tcp_timeout_nlattr_to_obj(struct nlattr *tb[],
net/netfilter/nf_conntrack_proto_tcp.c
1479
if (tb[CTA_TIMEOUT_TCP_SYN_SENT]) {
net/netfilter/nf_conntrack_proto_tcp.c
1481
ntohl(nla_get_be32(tb[CTA_TIMEOUT_TCP_SYN_SENT]))*HZ;
net/netfilter/nf_conntrack_proto_tcp.c
1484
if (tb[CTA_TIMEOUT_TCP_SYN_RECV]) {
net/netfilter/nf_conntrack_proto_tcp.c
1486
ntohl(nla_get_be32(tb[CTA_TIMEOUT_TCP_SYN_RECV]))*HZ;
net/netfilter/nf_conntrack_proto_tcp.c
1488
if (tb[CTA_TIMEOUT_TCP_ESTABLISHED]) {
net/netfilter/nf_conntrack_proto_tcp.c
1490
ntohl(nla_get_be32(tb[CTA_TIMEOUT_TCP_ESTABLISHED]))*HZ;
net/netfilter/nf_conntrack_proto_tcp.c
1492
if (tb[CTA_TIMEOUT_TCP_FIN_WAIT]) {
net/netfilter/nf_conntrack_proto_tcp.c
1494
ntohl(nla_get_be32(tb[CTA_TIMEOUT_TCP_FIN_WAIT]))*HZ;
net/netfilter/nf_conntrack_proto_tcp.c
1496
if (tb[CTA_TIMEOUT_TCP_CLOSE_WAIT]) {
net/netfilter/nf_conntrack_proto_tcp.c
1498
ntohl(nla_get_be32(tb[CTA_TIMEOUT_TCP_CLOSE_WAIT]))*HZ;
net/netfilter/nf_conntrack_proto_tcp.c
1500
if (tb[CTA_TIMEOUT_TCP_LAST_ACK]) {
net/netfilter/nf_conntrack_proto_tcp.c
1502
ntohl(nla_get_be32(tb[CTA_TIMEOUT_TCP_LAST_ACK]))*HZ;
net/netfilter/nf_conntrack_proto_tcp.c
1504
if (tb[CTA_TIMEOUT_TCP_TIME_WAIT]) {
net/netfilter/nf_conntrack_proto_tcp.c
1506
ntohl(nla_get_be32(tb[CTA_TIMEOUT_TCP_TIME_WAIT]))*HZ;
net/netfilter/nf_conntrack_proto_tcp.c
1508
if (tb[CTA_TIMEOUT_TCP_CLOSE]) {
net/netfilter/nf_conntrack_proto_tcp.c
1510
ntohl(nla_get_be32(tb[CTA_TIMEOUT_TCP_CLOSE]))*HZ;
net/netfilter/nf_conntrack_proto_tcp.c
1512
if (tb[CTA_TIMEOUT_TCP_SYN_SENT2]) {
net/netfilter/nf_conntrack_proto_tcp.c
1514
ntohl(nla_get_be32(tb[CTA_TIMEOUT_TCP_SYN_SENT2]))*HZ;
net/netfilter/nf_conntrack_proto_tcp.c
1516
if (tb[CTA_TIMEOUT_TCP_RETRANS]) {
net/netfilter/nf_conntrack_proto_tcp.c
1518
ntohl(nla_get_be32(tb[CTA_TIMEOUT_TCP_RETRANS]))*HZ;
net/netfilter/nf_conntrack_proto_tcp.c
1520
if (tb[CTA_TIMEOUT_TCP_UNACK]) {
net/netfilter/nf_conntrack_proto_tcp.c
1522
ntohl(nla_get_be32(tb[CTA_TIMEOUT_TCP_UNACK]))*HZ;
net/netfilter/nf_conntrack_proto_udp.c
137
static int udp_timeout_nlattr_to_obj(struct nlattr *tb[],
net/netfilter/nf_conntrack_proto_udp.c
150
if (tb[CTA_TIMEOUT_UDP_UNREPLIED]) {
net/netfilter/nf_conntrack_proto_udp.c
152
ntohl(nla_get_be32(tb[CTA_TIMEOUT_UDP_UNREPLIED])) * HZ;
net/netfilter/nf_conntrack_proto_udp.c
154
if (tb[CTA_TIMEOUT_UDP_REPLIED]) {
net/netfilter/nf_conntrack_proto_udp.c
156
ntohl(nla_get_be32(tb[CTA_TIMEOUT_UDP_REPLIED])) * HZ;
net/netfilter/nf_nat_core.c
1029
static int nf_nat_l4proto_nlattr_to_range(struct nlattr *tb[],
net/netfilter/nf_nat_core.c
1032
if (tb[CTA_PROTONAT_PORT_MIN]) {
net/netfilter/nf_nat_core.c
1033
range->min_proto.all = nla_get_be16(tb[CTA_PROTONAT_PORT_MIN]);
net/netfilter/nf_nat_core.c
1037
if (tb[CTA_PROTONAT_PORT_MAX]) {
net/netfilter/nf_nat_core.c
1038
range->max_proto.all = nla_get_be16(tb[CTA_PROTONAT_PORT_MAX]);
net/netfilter/nf_nat_core.c
1048
struct nlattr *tb[CTA_PROTONAT_MAX+1];
net/netfilter/nf_nat_core.c
1051
err = nla_parse_nested_deprecated(tb, CTA_PROTONAT_MAX, attr,
net/netfilter/nf_nat_core.c
1056
return nf_nat_l4proto_nlattr_to_range(tb, range);
net/netfilter/nf_nat_core.c
1067
static int nf_nat_ipv4_nlattr_to_range(struct nlattr *tb[],
net/netfilter/nf_nat_core.c
1070
if (tb[CTA_NAT_V4_MINIP]) {
net/netfilter/nf_nat_core.c
1071
range->min_addr.ip = nla_get_be32(tb[CTA_NAT_V4_MINIP]);
net/netfilter/nf_nat_core.c
1075
range->max_addr.ip = nla_get_be32_default(tb[CTA_NAT_V4_MAXIP],
net/netfilter/nf_nat_core.c
1081
static int nf_nat_ipv6_nlattr_to_range(struct nlattr *tb[],
net/netfilter/nf_nat_core.c
1084
if (tb[CTA_NAT_V6_MINIP]) {
net/netfilter/nf_nat_core.c
1085
nla_memcpy(&range->min_addr.ip6, tb[CTA_NAT_V6_MINIP],
net/netfilter/nf_nat_core.c
1090
if (tb[CTA_NAT_V6_MAXIP])
net/netfilter/nf_nat_core.c
1091
nla_memcpy(&range->max_addr.ip6, tb[CTA_NAT_V6_MAXIP],
net/netfilter/nf_nat_core.c
1103
struct nlattr *tb[CTA_NAT_MAX+1];
net/netfilter/nf_nat_core.c
1108
err = nla_parse_nested_deprecated(tb, CTA_NAT_MAX, nat,
net/netfilter/nf_nat_core.c
1115
err = nf_nat_ipv4_nlattr_to_range(tb, range);
net/netfilter/nf_nat_core.c
1118
err = nf_nat_ipv6_nlattr_to_range(tb, range);
net/netfilter/nf_nat_core.c
1128
if (!tb[CTA_NAT_PROTO])
net/netfilter/nf_nat_core.c
1131
return nfnetlink_parse_nat_proto(tb[CTA_NAT_PROTO], ct, range);
net/netfilter/nf_tables_api.c
11752
struct nlattr *tb[NFTA_VERDICT_MAX + 1];
net/netfilter/nf_tables_api.c
11756
err = nla_parse_nested_deprecated(tb, NFTA_VERDICT_MAX, nla,
net/netfilter/nf_tables_api.c
11761
if (!tb[NFTA_VERDICT_CODE])
net/netfilter/nf_tables_api.c
11766
data->verdict.code = ntohl(nla_get_be32(tb[NFTA_VERDICT_CODE]));
net/netfilter/nf_tables_api.c
11777
if (tb[NFTA_VERDICT_CHAIN]) {
net/netfilter/nf_tables_api.c
11779
tb[NFTA_VERDICT_CHAIN],
net/netfilter/nf_tables_api.c
11781
} else if (tb[NFTA_VERDICT_CHAIN_ID]) {
net/netfilter/nf_tables_api.c
11783
tb[NFTA_VERDICT_CHAIN_ID],
net/netfilter/nf_tables_api.c
11908
struct nlattr *tb[NFTA_DATA_MAX + 1];
net/netfilter/nf_tables_api.c
11916
err = nla_parse_nested_deprecated(tb, NFTA_DATA_MAX, nla,
net/netfilter/nf_tables_api.c
11921
if (tb[NFTA_DATA_VALUE]) {
net/netfilter/nf_tables_api.c
11925
err = nft_value_init(ctx, data, desc, tb[NFTA_DATA_VALUE]);
net/netfilter/nf_tables_api.c
11926
} else if (tb[NFTA_DATA_VERDICT] && ctx != NULL) {
net/netfilter/nf_tables_api.c
11930
err = nft_verdict_init(ctx, data, desc, tb[NFTA_DATA_VERDICT]);
net/netfilter/nf_tables_api.c
2299
struct nlattr *tb[NFTA_COUNTER_MAX+1];
net/netfilter/nf_tables_api.c
2304
err = nla_parse_nested_deprecated(tb, NFTA_COUNTER_MAX, attr,
net/netfilter/nf_tables_api.c
2309
if (!tb[NFTA_COUNTER_BYTES] || !tb[NFTA_COUNTER_PACKETS])
net/netfilter/nf_tables_api.c
2321
stats->bytes = be64_to_cpu(nla_get_be64(tb[NFTA_COUNTER_BYTES]));
net/netfilter/nf_tables_api.c
2322
stats->pkts = be64_to_cpu(nla_get_be64(tb[NFTA_COUNTER_PACKETS]));
net/netfilter/nf_tables_api.c
2516
static int nft_chain_parse_netdev(struct net *net, struct nlattr *tb[],
net/netfilter/nf_tables_api.c
2523
if (tb[NFTA_HOOK_DEV]) {
net/netfilter/nf_tables_api.c
2524
hook = nft_netdev_hook_alloc(net, tb[NFTA_HOOK_DEV], false);
net/netfilter/nf_tables_api.c
2526
NL_SET_BAD_ATTR(extack, tb[NFTA_HOOK_DEV]);
net/netfilter/nf_tables_api.c
2531
} else if (tb[NFTA_HOOK_DEVS]) {
net/netfilter/nf_tables_api.c
2532
err = nf_tables_parse_netdev_hooks(net, tb[NFTA_HOOK_DEVS],
net/netfilter/nf_tables_api.c
3523
struct nlattr *tb[NFT_EXPR_MAXATTR + 1];
net/netfilter/nf_tables_api.c
3532
struct nlattr *tb[NFTA_EXPR_MAX + 1];
net/netfilter/nf_tables_api.c
3535
err = nla_parse_nested_deprecated(tb, NFTA_EXPR_MAX, nla,
net/netfilter/nf_tables_api.c
3540
type = nft_expr_type_get(ctx->net, ctx->family, tb[NFTA_EXPR_NAME]);
net/netfilter/nf_tables_api.c
3544
if (tb[NFTA_EXPR_DATA]) {
net/netfilter/nf_tables_api.c
3545
err = nla_parse_nested_deprecated(info->tb, type->maxattr,
net/netfilter/nf_tables_api.c
3546
tb[NFTA_EXPR_DATA],
net/netfilter/nf_tables_api.c
3551
memset(info->tb, 0, sizeof(info->tb[0]) * (type->maxattr + 1));
net/netfilter/nf_tables_api.c
3555
(const struct nlattr * const *)info->tb);
net/netfilter/nf_tables_api.c
3562
tb[NFTA_EXPR_NAME]) != -EAGAIN)
net/netfilter/nf_tables_api.c
3583
struct nlattr *tb[NFTA_EXPR_MAX + 1];
net/netfilter/nf_tables_api.c
3587
err = nla_parse_nested_deprecated(tb, NFTA_EXPR_MAX, nla,
net/netfilter/nf_tables_api.c
3592
if (!tb[NFTA_EXPR_DATA] || !tb[NFTA_EXPR_NAME])
net/netfilter/nf_tables_api.c
3597
type = __nft_expr_type_get(ctx->family, tb[NFTA_EXPR_NAME]);
net/netfilter/nf_tables_api.c
3608
err = nla_parse_nested_deprecated(info->tb, type->maxattr,
net/netfilter/nf_tables_api.c
3609
tb[NFTA_EXPR_DATA],
net/netfilter/nf_tables_api.c
3638
err = ops->init(ctx, expr, (const struct nlattr **)expr_info->tb);
net/netfilter/nf_tables_api.c
5269
struct nlattr *tb[NFTA_SET_FIELD_MAX + 1];
net/netfilter/nf_tables_api.c
5276
err = nla_parse_nested_deprecated(tb, NFTA_SET_FIELD_MAX, attr,
net/netfilter/nf_tables_api.c
5281
if (!tb[NFTA_SET_FIELD_LEN])
net/netfilter/nf_tables_api.c
5284
len = ntohl(nla_get_be32(tb[NFTA_SET_FIELD_LEN]));
net/netfilter/nf_tables_api.c
8157
struct nlattr **tb;
net/netfilter/nf_tables_api.c
8162
tb = kmalloc_objs(*tb, type->maxattr + 1);
net/netfilter/nf_tables_api.c
8163
if (!tb)
net/netfilter/nf_tables_api.c
8167
err = nla_parse_nested_deprecated(tb, type->maxattr, attr,
net/netfilter/nf_tables_api.c
8172
memset(tb, 0, sizeof(tb[0]) * (type->maxattr + 1));
net/netfilter/nf_tables_api.c
8176
ops = type->select_ops(ctx, (const struct nlattr * const *)tb);
net/netfilter/nf_tables_api.c
8190
err = ops->init(ctx, (const struct nlattr * const *)tb, obj);
net/netfilter/nf_tables_api.c
8196
kfree(tb);
net/netfilter/nf_tables_api.c
8201
kfree(tb);
net/netfilter/nf_tables_api.c
8872
struct nlattr *tb[NFTA_FLOWTABLE_HOOK_MAX + 1];
net/netfilter/nf_tables_api.c
8880
err = nla_parse_nested_deprecated(tb, NFTA_FLOWTABLE_HOOK_MAX,
net/netfilter/nf_tables_api.c
8887
if (!tb[NFTA_FLOWTABLE_HOOK_NUM] ||
net/netfilter/nf_tables_api.c
8888
!tb[NFTA_FLOWTABLE_HOOK_PRIORITY]) {
net/netfilter/nf_tables_api.c
8893
hooknum = ntohl(nla_get_be32(tb[NFTA_FLOWTABLE_HOOK_NUM]));
net/netfilter/nf_tables_api.c
8897
priority = ntohl(nla_get_be32(tb[NFTA_FLOWTABLE_HOOK_PRIORITY]));
net/netfilter/nf_tables_api.c
8902
if (tb[NFTA_FLOWTABLE_HOOK_NUM]) {
net/netfilter/nf_tables_api.c
8903
hooknum = ntohl(nla_get_be32(tb[NFTA_FLOWTABLE_HOOK_NUM]));
net/netfilter/nf_tables_api.c
8908
if (tb[NFTA_FLOWTABLE_HOOK_PRIORITY]) {
net/netfilter/nf_tables_api.c
8909
priority = ntohl(nla_get_be32(tb[NFTA_FLOWTABLE_HOOK_PRIORITY]));
net/netfilter/nf_tables_api.c
8918
if (tb[NFTA_FLOWTABLE_HOOK_DEVS]) {
net/netfilter/nf_tables_api.c
8920
tb[NFTA_FLOWTABLE_HOOK_DEVS],
net/netfilter/nfnetlink_acct.c
101
if (tb[NFACCT_FLAGS]) {
net/netfilter/nfnetlink_acct.c
102
flags = ntohl(nla_get_be32(tb[NFACCT_FLAGS]));
net/netfilter/nfnetlink_acct.c
109
if ((flags & NFACCT_F_QUOTA) && !tb[NFACCT_QUOTA])
net/netfilter/nfnetlink_acct.c
122
*quota = be64_to_cpu(nla_get_be64(tb[NFACCT_QUOTA]));
net/netfilter/nfnetlink_acct.c
126
nla_strscpy(nfacct->name, tb[NFACCT_NAME], NFACCT_NAME_MAX);
net/netfilter/nfnetlink_acct.c
128
if (tb[NFACCT_BYTES]) {
net/netfilter/nfnetlink_acct.c
130
be64_to_cpu(nla_get_be64(tb[NFACCT_BYTES])));
net/netfilter/nfnetlink_acct.c
132
if (tb[NFACCT_PKTS]) {
net/netfilter/nfnetlink_acct.c
134
be64_to_cpu(nla_get_be64(tb[NFACCT_PKTS])));
net/netfilter/nfnetlink_acct.c
248
struct nlattr *tb[NFACCT_FILTER_MAX + 1];
net/netfilter/nfnetlink_acct.c
255
err = nla_parse_nested_deprecated(tb, NFACCT_FILTER_MAX, attr,
net/netfilter/nfnetlink_acct.c
260
if (!tb[NFACCT_FILTER_MASK] || !tb[NFACCT_FILTER_VALUE])
net/netfilter/nfnetlink_acct.c
267
filter->mask = ntohl(nla_get_be32(tb[NFACCT_FILTER_MASK]));
net/netfilter/nfnetlink_acct.c
268
filter->value = ntohl(nla_get_be32(tb[NFACCT_FILTER_VALUE]));
net/netfilter/nfnetlink_acct.c
275
const struct nlattr * const tb[])
net/netfilter/nfnetlink_acct.c
287
.data = (void *)tb[NFACCT_FILTER],
net/netfilter/nfnetlink_acct.c
293
if (!tb[NFACCT_NAME])
net/netfilter/nfnetlink_acct.c
295
acct_name = nla_data(tb[NFACCT_NAME]);
net/netfilter/nfnetlink_acct.c
344
const struct nlattr * const tb[])
net/netfilter/nfnetlink_acct.c
351
if (!tb[NFACCT_NAME]) {
net/netfilter/nfnetlink_acct.c
357
acct_name = nla_data(tb[NFACCT_NAME]);
net/netfilter/nfnetlink_acct.c
60
const struct nlattr * const tb[])
net/netfilter/nfnetlink_acct.c
68
if (!tb[NFACCT_NAME])
net/netfilter/nfnetlink_acct.c
71
acct_name = nla_data(tb[NFACCT_NAME]);
net/netfilter/nfnetlink_cthelper.c
150
struct nlattr *tb[NFCTH_POLICY_MAX+1];
net/netfilter/nfnetlink_cthelper.c
152
err = nla_parse_nested_deprecated(tb, NFCTH_POLICY_MAX, attr,
net/netfilter/nfnetlink_cthelper.c
157
if (!tb[NFCTH_POLICY_NAME] ||
net/netfilter/nfnetlink_cthelper.c
158
!tb[NFCTH_POLICY_EXPECT_MAX] ||
net/netfilter/nfnetlink_cthelper.c
159
!tb[NFCTH_POLICY_EXPECT_TIMEOUT])
net/netfilter/nfnetlink_cthelper.c
163
tb[NFCTH_POLICY_NAME], NF_CT_HELPER_NAME_LEN);
net/netfilter/nfnetlink_cthelper.c
165
ntohl(nla_get_be32(tb[NFCTH_POLICY_EXPECT_MAX]));
net/netfilter/nfnetlink_cthelper.c
172
ntohl(nla_get_be32(tb[NFCTH_POLICY_EXPECT_TIMEOUT]));
net/netfilter/nfnetlink_cthelper.c
187
struct nlattr *tb[NFCTH_POLICY_SET_MAX+1];
net/netfilter/nfnetlink_cthelper.c
190
ret = nla_parse_nested_deprecated(tb, NFCTH_POLICY_SET_MAX, attr,
net/netfilter/nfnetlink_cthelper.c
196
if (!tb[NFCTH_POLICY_SET_NUM])
net/netfilter/nfnetlink_cthelper.c
199
class_max = ntohl(nla_get_be32(tb[NFCTH_POLICY_SET_NUM]));
net/netfilter/nfnetlink_cthelper.c
206
if (!tb[NFCTH_POLICY_SET+i])
net/netfilter/nfnetlink_cthelper.c
210
tb[NFCTH_POLICY_SET+i]);
net/netfilter/nfnetlink_cthelper.c
222
nfnl_cthelper_create(const struct nlattr * const tb[],
net/netfilter/nfnetlink_cthelper.c
230
if (!tb[NFCTH_TUPLE] || !tb[NFCTH_POLICY] || !tb[NFCTH_PRIV_DATA_LEN])
net/netfilter/nfnetlink_cthelper.c
245
ret = nfnl_cthelper_parse_expect_policy(helper, tb[NFCTH_POLICY]);
net/netfilter/nfnetlink_cthelper.c
250
tb[NFCTH_NAME], NF_CT_HELPER_NAME_LEN);
net/netfilter/nfnetlink_cthelper.c
251
size = ntohl(nla_get_be32(tb[NFCTH_PRIV_DATA_LEN]));
net/netfilter/nfnetlink_cthelper.c
267
if (tb[NFCTH_QUEUE_NUM])
net/netfilter/nfnetlink_cthelper.c
268
helper->queue_num = ntohl(nla_get_be32(tb[NFCTH_QUEUE_NUM]));
net/netfilter/nfnetlink_cthelper.c
270
if (tb[NFCTH_STATUS]) {
net/netfilter/nfnetlink_cthelper.c
271
int status = ntohl(nla_get_be32(tb[NFCTH_STATUS]));
net/netfilter/nfnetlink_cthelper.c
301
struct nlattr *tb[NFCTH_POLICY_MAX + 1];
net/netfilter/nfnetlink_cthelper.c
304
err = nla_parse_nested_deprecated(tb, NFCTH_POLICY_MAX, attr,
net/netfilter/nfnetlink_cthelper.c
309
if (!tb[NFCTH_POLICY_NAME] ||
net/netfilter/nfnetlink_cthelper.c
310
!tb[NFCTH_POLICY_EXPECT_MAX] ||
net/netfilter/nfnetlink_cthelper.c
311
!tb[NFCTH_POLICY_EXPECT_TIMEOUT])
net/netfilter/nfnetlink_cthelper.c
314
if (nla_strcmp(tb[NFCTH_POLICY_NAME], policy->name))
net/netfilter/nfnetlink_cthelper.c
318
ntohl(nla_get_be32(tb[NFCTH_POLICY_EXPECT_MAX]));
net/netfilter/nfnetlink_cthelper.c
325
ntohl(nla_get_be32(tb[NFCTH_POLICY_EXPECT_TIMEOUT]));
net/netfilter/nfnetlink_cthelper.c
330
static int nfnl_cthelper_update_policy_all(struct nlattr *tb[],
net/netfilter/nfnetlink_cthelper.c
346
if (!tb[NFCTH_POLICY_SET + i]) {
net/netfilter/nfnetlink_cthelper.c
353
tb[NFCTH_POLICY_SET + i]);
net/netfilter/nfnetlink_cthelper.c
373
struct nlattr *tb[NFCTH_POLICY_SET_MAX + 1];
net/netfilter/nfnetlink_cthelper.c
377
err = nla_parse_nested_deprecated(tb, NFCTH_POLICY_SET_MAX, attr,
net/netfilter/nfnetlink_cthelper.c
383
if (!tb[NFCTH_POLICY_SET_NUM])
net/netfilter/nfnetlink_cthelper.c
386
class_max = ntohl(nla_get_be32(tb[NFCTH_POLICY_SET_NUM]));
net/netfilter/nfnetlink_cthelper.c
390
return nfnl_cthelper_update_policy_all(tb, helper);
net/netfilter/nfnetlink_cthelper.c
394
nfnl_cthelper_update(const struct nlattr * const tb[],
net/netfilter/nfnetlink_cthelper.c
400
if (tb[NFCTH_PRIV_DATA_LEN]) {
net/netfilter/nfnetlink_cthelper.c
401
size = ntohl(nla_get_be32(tb[NFCTH_PRIV_DATA_LEN]));
net/netfilter/nfnetlink_cthelper.c
406
if (tb[NFCTH_POLICY]) {
net/netfilter/nfnetlink_cthelper.c
407
ret = nfnl_cthelper_update_policy(helper, tb[NFCTH_POLICY]);
net/netfilter/nfnetlink_cthelper.c
411
if (tb[NFCTH_QUEUE_NUM])
net/netfilter/nfnetlink_cthelper.c
412
helper->queue_num = ntohl(nla_get_be32(tb[NFCTH_QUEUE_NUM]));
net/netfilter/nfnetlink_cthelper.c
414
if (tb[NFCTH_STATUS]) {
net/netfilter/nfnetlink_cthelper.c
415
int status = ntohl(nla_get_be32(tb[NFCTH_STATUS]));
net/netfilter/nfnetlink_cthelper.c
430
const struct nlattr * const tb[])
net/netfilter/nfnetlink_cthelper.c
441
if (!tb[NFCTH_NAME] || !tb[NFCTH_TUPLE])
net/netfilter/nfnetlink_cthelper.c
444
helper_name = nla_data(tb[NFCTH_NAME]);
net/netfilter/nfnetlink_cthelper.c
446
ret = nfnl_cthelper_parse_tuple(&tuple, tb[NFCTH_TUPLE]);
net/netfilter/nfnetlink_cthelper.c
468
ret = nfnl_cthelper_create(tb, &tuple);
net/netfilter/nfnetlink_cthelper.c
470
ret = nfnl_cthelper_update(tb, helper);
net/netfilter/nfnetlink_cthelper.c
630
const struct nlattr * const tb[])
net/netfilter/nfnetlink_cthelper.c
650
if (tb[NFCTH_NAME])
net/netfilter/nfnetlink_cthelper.c
651
helper_name = nla_data(tb[NFCTH_NAME]);
net/netfilter/nfnetlink_cthelper.c
653
if (tb[NFCTH_TUPLE]) {
net/netfilter/nfnetlink_cthelper.c
654
ret = nfnl_cthelper_parse_tuple(&tuple, tb[NFCTH_TUPLE]);
net/netfilter/nfnetlink_cthelper.c
695
const struct nlattr * const tb[])
net/netfilter/nfnetlink_cthelper.c
707
if (tb[NFCTH_NAME])
net/netfilter/nfnetlink_cthelper.c
708
helper_name = nla_data(tb[NFCTH_NAME]);
net/netfilter/nfnetlink_cthelper.c
710
if (tb[NFCTH_TUPLE]) {
net/netfilter/nfnetlink_cthelper.c
711
ret = nfnl_cthelper_parse_tuple(&tuple, tb[NFCTH_TUPLE]);
net/netfilter/nfnetlink_cthelper.c
79
struct nlattr *tb[NFCTH_TUPLE_MAX+1];
net/netfilter/nfnetlink_cthelper.c
81
err = nla_parse_nested_deprecated(tb, NFCTH_TUPLE_MAX, attr,
net/netfilter/nfnetlink_cthelper.c
86
if (!tb[NFCTH_TUPLE_L3PROTONUM] || !tb[NFCTH_TUPLE_L4PROTONUM])
net/netfilter/nfnetlink_cthelper.c
92
tuple->src.l3num = ntohs(nla_get_be16(tb[NFCTH_TUPLE_L3PROTONUM]));
net/netfilter/nfnetlink_cthelper.c
93
tuple->dst.protonum = nla_get_u8(tb[NFCTH_TUPLE_L4PROTONUM]);
net/netfilter/nfnetlink_cttimeout.c
71
struct nlattr **tb;
net/netfilter/nfnetlink_cttimeout.c
74
tb = kzalloc_objs(*tb, l4proto->ctnl_timeout.nlattr_max + 1);
net/netfilter/nfnetlink_cttimeout.c
76
if (!tb)
net/netfilter/nfnetlink_cttimeout.c
79
ret = nla_parse_nested_deprecated(tb,
net/netfilter/nfnetlink_cttimeout.c
87
ret = l4proto->ctnl_timeout.nlattr_to_obj(tb, net, timeout);
net/netfilter/nfnetlink_cttimeout.c
90
kfree(tb);
net/netfilter/nfnetlink_queue.c
1688
struct nlattr *tb[NFQA_VLAN_MAX + 1];
net/netfilter/nfnetlink_queue.c
1691
err = nla_parse_nested_deprecated(tb, NFQA_VLAN_MAX,
net/netfilter/nfnetlink_queue.c
1697
if (!tb[NFQA_VLAN_TCI] || !tb[NFQA_VLAN_PROTO])
net/netfilter/nfnetlink_queue.c
1701
nla_get_be16(tb[NFQA_VLAN_PROTO]),
net/netfilter/nfnetlink_queue.c
1702
ntohs(nla_get_be16(tb[NFQA_VLAN_TCI])));
net/netfilter/nft_bitwise.c
143
const struct nlattr *const tb[])
net/netfilter/nft_bitwise.c
157
if (tb[NFTA_BITWISE_DATA] ||
net/netfilter/nft_bitwise.c
158
tb[NFTA_BITWISE_SREG2])
net/netfilter/nft_bitwise.c
161
if (!tb[NFTA_BITWISE_MASK] ||
net/netfilter/nft_bitwise.c
162
!tb[NFTA_BITWISE_XOR])
net/netfilter/nft_bitwise.c
165
err = nft_data_init(NULL, &priv->mask, &mask, tb[NFTA_BITWISE_MASK]);
net/netfilter/nft_bitwise.c
169
err = nft_data_init(NULL, &priv->xor, &xor, tb[NFTA_BITWISE_XOR]);
net/netfilter/nft_bitwise.c
182
const struct nlattr *const tb[])
net/netfilter/nft_bitwise.c
191
if (tb[NFTA_BITWISE_MASK] ||
net/netfilter/nft_bitwise.c
192
tb[NFTA_BITWISE_XOR] ||
net/netfilter/nft_bitwise.c
193
tb[NFTA_BITWISE_SREG2])
net/netfilter/nft_bitwise.c
196
if (!tb[NFTA_BITWISE_DATA])
net/netfilter/nft_bitwise.c
199
err = nft_data_init(NULL, &priv->data, &desc, tb[NFTA_BITWISE_DATA]);
net/netfilter/nft_bitwise.c
214
const struct nlattr *const tb[])
net/netfilter/nft_bitwise.c
218
if (tb[NFTA_BITWISE_MASK] ||
net/netfilter/nft_bitwise.c
219
tb[NFTA_BITWISE_XOR])
net/netfilter/nft_bitwise.c
222
if ((!tb[NFTA_BITWISE_DATA] && !tb[NFTA_BITWISE_SREG2]) ||
net/netfilter/nft_bitwise.c
223
(tb[NFTA_BITWISE_DATA] && tb[NFTA_BITWISE_SREG2]))
net/netfilter/nft_bitwise.c
226
if (tb[NFTA_BITWISE_DATA]) {
net/netfilter/nft_bitwise.c
234
tb[NFTA_BITWISE_DATA]);
net/netfilter/nft_bitwise.c
238
err = nft_parse_register_load(ctx, tb[NFTA_BITWISE_SREG2],
net/netfilter/nft_bitwise.c
252
const struct nlattr * const tb[])
net/netfilter/nft_bitwise.c
258
err = nft_parse_u32_check(tb[NFTA_BITWISE_LEN], U8_MAX, &len);
net/netfilter/nft_bitwise.c
264
err = nft_parse_register_load(ctx, tb[NFTA_BITWISE_SREG], &priv->sreg,
net/netfilter/nft_bitwise.c
269
err = nft_parse_register_store(ctx, tb[NFTA_BITWISE_DREG],
net/netfilter/nft_bitwise.c
278
if (tb[NFTA_BITWISE_OP]) {
net/netfilter/nft_bitwise.c
279
priv->op = ntohl(nla_get_be32(tb[NFTA_BITWISE_OP]));
net/netfilter/nft_bitwise.c
297
err = nft_bitwise_init_mask_xor(priv, tb);
net/netfilter/nft_bitwise.c
301
err = nft_bitwise_init_shift(priv, tb);
net/netfilter/nft_bitwise.c
306
err = nft_bitwise_init_bool(ctx, priv, tb);
net/netfilter/nft_bitwise.c
415
nft_bitwise_extract_u32_data(const struct nlattr * const tb, u32 *out)
net/netfilter/nft_bitwise.c
425
err = nft_data_init(NULL, &data, &desc, tb);
net/netfilter/nft_bitwise.c
436
const struct nlattr * const tb[])
net/netfilter/nft_bitwise.c
441
err = nft_parse_register_load(ctx, tb[NFTA_BITWISE_SREG], &priv->sreg,
net/netfilter/nft_bitwise.c
446
err = nft_parse_register_store(ctx, tb[NFTA_BITWISE_DREG], &priv->dreg,
net/netfilter/nft_bitwise.c
451
if (tb[NFTA_BITWISE_DATA] ||
net/netfilter/nft_bitwise.c
452
tb[NFTA_BITWISE_SREG2])
net/netfilter/nft_bitwise.c
455
if (!tb[NFTA_BITWISE_MASK] ||
net/netfilter/nft_bitwise.c
456
!tb[NFTA_BITWISE_XOR])
net/netfilter/nft_bitwise.c
459
err = nft_bitwise_extract_u32_data(tb[NFTA_BITWISE_MASK], &priv->mask);
net/netfilter/nft_bitwise.c
463
err = nft_bitwise_extract_u32_data(tb[NFTA_BITWISE_XOR], &priv->xor);
net/netfilter/nft_bitwise.c
524
const struct nlattr * const tb[])
net/netfilter/nft_bitwise.c
529
if (!tb[NFTA_BITWISE_LEN] ||
net/netfilter/nft_bitwise.c
530
!tb[NFTA_BITWISE_SREG] ||
net/netfilter/nft_bitwise.c
531
!tb[NFTA_BITWISE_DREG])
net/netfilter/nft_bitwise.c
534
err = nft_parse_u32_check(tb[NFTA_BITWISE_LEN], U8_MAX, &len);
net/netfilter/nft_bitwise.c
541
if (tb[NFTA_BITWISE_OP] &&
net/netfilter/nft_bitwise.c
542
ntohl(nla_get_be32(tb[NFTA_BITWISE_OP])) != NFT_BITWISE_MASK_XOR)
net/netfilter/nft_byteorder.c
107
err = nft_parse_u32_check(tb[NFTA_BYTEORDER_SIZE], U8_MAX, &size);
net/netfilter/nft_byteorder.c
122
err = nft_parse_u32_check(tb[NFTA_BYTEORDER_LEN], U8_MAX, &len);
net/netfilter/nft_byteorder.c
130
err = nft_parse_register_load(ctx, tb[NFTA_BYTEORDER_SREG], &priv->sreg,
net/netfilter/nft_byteorder.c
135
err = nft_parse_register_store(ctx, tb[NFTA_BYTEORDER_DREG],
net/netfilter/nft_byteorder.c
85
const struct nlattr * const tb[])
net/netfilter/nft_byteorder.c
91
if (tb[NFTA_BYTEORDER_SREG] == NULL ||
net/netfilter/nft_byteorder.c
92
tb[NFTA_BYTEORDER_DREG] == NULL ||
net/netfilter/nft_byteorder.c
93
tb[NFTA_BYTEORDER_LEN] == NULL ||
net/netfilter/nft_byteorder.c
94
tb[NFTA_BYTEORDER_SIZE] == NULL ||
net/netfilter/nft_byteorder.c
95
tb[NFTA_BYTEORDER_OP] == NULL)
net/netfilter/nft_byteorder.c
98
priv->op = ntohl(nla_get_be32(tb[NFTA_BYTEORDER_OP]));
net/netfilter/nft_cmp.c
210
const struct nlattr * const tb[])
net/netfilter/nft_cmp.c
220
err = nft_data_init(NULL, &data, &desc, tb[NFTA_CMP_DATA]);
net/netfilter/nft_cmp.c
224
err = nft_parse_register_load(ctx, tb[NFTA_CMP_SREG], &priv->sreg, desc.len);
net/netfilter/nft_cmp.c
233
priv->inv = ntohl(nla_get_be32(tb[NFTA_CMP_OP])) != NFT_CMP_EQ;
net/netfilter/nft_cmp.c
311
const struct nlattr * const tb[])
net/netfilter/nft_cmp.c
320
err = nft_data_init(NULL, &priv->data, &desc, tb[NFTA_CMP_DATA]);
net/netfilter/nft_cmp.c
324
err = nft_parse_register_load(ctx, tb[NFTA_CMP_SREG], &priv->sreg, desc.len);
net/netfilter/nft_cmp.c
329
priv->inv = ntohl(nla_get_be32(tb[NFTA_CMP_OP])) != NFT_CMP_EQ;
net/netfilter/nft_cmp.c
381
nft_cmp_select_ops(const struct nft_ctx *ctx, const struct nlattr * const tb[])
net/netfilter/nft_cmp.c
392
if (tb[NFTA_CMP_SREG] == NULL ||
net/netfilter/nft_cmp.c
393
tb[NFTA_CMP_OP] == NULL ||
net/netfilter/nft_cmp.c
394
tb[NFTA_CMP_DATA] == NULL)
net/netfilter/nft_cmp.c
397
op = ntohl(nla_get_be32(tb[NFTA_CMP_OP]));
net/netfilter/nft_cmp.c
410
err = nft_data_init(NULL, &data, &desc, tb[NFTA_CMP_DATA]);
net/netfilter/nft_cmp.c
414
sreg = ntohl(nla_get_be32(tb[NFTA_CMP_SREG]));
net/netfilter/nft_cmp.c
73
const struct nlattr * const tb[])
net/netfilter/nft_cmp.c
82
err = nft_data_init(NULL, &priv->data, &desc, tb[NFTA_CMP_DATA]);
net/netfilter/nft_cmp.c
86
err = nft_parse_register_load(ctx, tb[NFTA_CMP_SREG], &priv->sreg, desc.len);
net/netfilter/nft_cmp.c
90
priv->op = ntohl(nla_get_be32(tb[NFTA_CMP_OP]));
net/netfilter/nft_compat.c
203
struct nlattr *tb[NFTA_RULE_COMPAT_MAX+1];
net/netfilter/nft_compat.c
208
err = nla_parse_nested_deprecated(tb, NFTA_RULE_COMPAT_MAX, attr,
net/netfilter/nft_compat.c
213
if (!tb[NFTA_RULE_COMPAT_PROTO] || !tb[NFTA_RULE_COMPAT_FLAGS])
net/netfilter/nft_compat.c
216
flags = ntohl(nla_get_be32(tb[NFTA_RULE_COMPAT_FLAGS]));
net/netfilter/nft_compat.c
223
l4proto = ntohl(nla_get_be32(tb[NFTA_RULE_COMPAT_PROTO]));
net/netfilter/nft_compat.c
245
const struct nlattr * const tb[])
net/netfilter/nft_compat.c
250
size_t size = XT_ALIGN(nla_len(tb[NFTA_TARGET_INFO]));
net/netfilter/nft_compat.c
256
target_compat_from_user(target, nla_data(tb[NFTA_TARGET_INFO]), info);
net/netfilter/nft_compat.c
523
const struct nlattr * const tb[],
net/netfilter/nft_compat.c
528
size_t size = XT_ALIGN(nla_len(tb[NFTA_MATCH_INFO]));
net/netfilter/nft_compat.c
534
match_compat_from_user(match, nla_data(tb[NFTA_MATCH_INFO]), info);
net/netfilter/nft_compat.c
551
const struct nlattr * const tb[])
net/netfilter/nft_compat.c
553
return __nft_match_init(ctx, expr, tb, nft_expr_priv(expr));
net/netfilter/nft_compat.c
558
const struct nlattr * const tb[])
net/netfilter/nft_compat.c
568
ret = __nft_match_init(ctx, expr, tb, priv->info);
net/netfilter/nft_compat.c
724
const struct nlattr * const tb[])
net/netfilter/nft_compat.c
732
if (tb[NFTA_COMPAT_NAME] == NULL ||
net/netfilter/nft_compat.c
733
tb[NFTA_COMPAT_REV] == NULL ||
net/netfilter/nft_compat.c
734
tb[NFTA_COMPAT_TYPE] == NULL)
net/netfilter/nft_compat.c
737
name = nla_data(tb[NFTA_COMPAT_NAME]);
net/netfilter/nft_compat.c
738
rev = ntohl(nla_get_be32(tb[NFTA_COMPAT_REV]));
net/netfilter/nft_compat.c
744
target = nla_get_be32(tb[NFTA_COMPAT_TYPE]) == htonl(1);
net/netfilter/nft_compat.c
824
const struct nlattr * const tb[])
net/netfilter/nft_compat.c
833
if (tb[NFTA_MATCH_NAME] == NULL ||
net/netfilter/nft_compat.c
834
tb[NFTA_MATCH_REV] == NULL ||
net/netfilter/nft_compat.c
835
tb[NFTA_MATCH_INFO] == NULL)
net/netfilter/nft_compat.c
838
mt_name = nla_data(tb[NFTA_MATCH_NAME]);
net/netfilter/nft_compat.c
839
rev = ntohl(nla_get_be32(tb[NFTA_MATCH_REV]));
net/netfilter/nft_compat.c
846
if (match->matchsize > nla_len(tb[NFTA_MATCH_INFO])) {
net/netfilter/nft_compat.c
904
const struct nlattr * const tb[])
net/netfilter/nft_compat.c
912
if (tb[NFTA_TARGET_NAME] == NULL ||
net/netfilter/nft_compat.c
913
tb[NFTA_TARGET_REV] == NULL ||
net/netfilter/nft_compat.c
914
tb[NFTA_TARGET_INFO] == NULL)
net/netfilter/nft_compat.c
917
tg_name = nla_data(tb[NFTA_TARGET_NAME]);
net/netfilter/nft_compat.c
918
rev = ntohl(nla_get_be32(tb[NFTA_TARGET_REV]));
net/netfilter/nft_compat.c
935
if (target->targetsize > nla_len(tb[NFTA_TARGET_INFO])) {
net/netfilter/nft_connlimit.c
126
const struct nlattr * const tb[],
net/netfilter/nft_connlimit.c
131
return nft_connlimit_do_init(ctx, tb, priv);
net/netfilter/nft_connlimit.c
203
const struct nlattr * const tb[])
net/netfilter/nft_connlimit.c
207
return nft_connlimit_do_init(ctx, tb, priv);
net/netfilter/nft_connlimit.c
54
const struct nlattr * const tb[],
net/netfilter/nft_connlimit.c
61
if (!tb[NFTA_CONNLIMIT_COUNT])
net/netfilter/nft_connlimit.c
64
limit = ntohl(nla_get_be32(tb[NFTA_CONNLIMIT_COUNT]));
net/netfilter/nft_connlimit.c
66
if (tb[NFTA_CONNLIMIT_FLAGS]) {
net/netfilter/nft_connlimit.c
67
flags = ntohl(nla_get_be32(tb[NFTA_CONNLIMIT_FLAGS]));
net/netfilter/nft_counter.c
235
const struct nlattr * const tb[])
net/netfilter/nft_counter.c
239
return nft_counter_do_init(tb, priv);
net/netfilter/nft_counter.c
66
static int nft_counter_do_init(const struct nlattr * const tb[],
net/netfilter/nft_counter.c
77
if (tb[NFTA_COUNTER_PACKETS]) {
net/netfilter/nft_counter.c
79
be64_to_cpu(nla_get_be64(tb[NFTA_COUNTER_PACKETS])));
net/netfilter/nft_counter.c
81
if (tb[NFTA_COUNTER_BYTES]) {
net/netfilter/nft_counter.c
83
be64_to_cpu(nla_get_be64(tb[NFTA_COUNTER_BYTES])));
net/netfilter/nft_counter.c
91
const struct nlattr * const tb[],
net/netfilter/nft_counter.c
96
return nft_counter_do_init(tb, priv);
net/netfilter/nft_ct.c
1027
const struct nlattr * const tb[],
net/netfilter/nft_ct.c
1036
if (!tb[NFTA_CT_HELPER_NAME] || !tb[NFTA_CT_HELPER_L4PROTO])
net/netfilter/nft_ct.c
1039
priv->l4proto = nla_get_u8(tb[NFTA_CT_HELPER_L4PROTO]);
net/netfilter/nft_ct.c
1043
nla_strscpy(name, tb[NFTA_CT_HELPER_NAME], sizeof(name));
net/netfilter/nft_ct.c
1045
if (tb[NFTA_CT_HELPER_L3PROTO])
net/netfilter/nft_ct.c
1046
family = ntohs(nla_get_be16(tb[NFTA_CT_HELPER_L3PROTO]));
net/netfilter/nft_ct.c
1230
const struct nlattr * const tb[],
net/netfilter/nft_ct.c
1236
if (!tb[NFTA_CT_EXPECT_L4PROTO] ||
net/netfilter/nft_ct.c
1237
!tb[NFTA_CT_EXPECT_DPORT] ||
net/netfilter/nft_ct.c
1238
!tb[NFTA_CT_EXPECT_TIMEOUT] ||
net/netfilter/nft_ct.c
1239
!tb[NFTA_CT_EXPECT_SIZE])
net/netfilter/nft_ct.c
1243
if (tb[NFTA_CT_EXPECT_L3PROTO])
net/netfilter/nft_ct.c
1244
priv->l3num = ntohs(nla_get_be16(tb[NFTA_CT_EXPECT_L3PROTO]));
net/netfilter/nft_ct.c
1258
priv->l4proto = nla_get_u8(tb[NFTA_CT_EXPECT_L4PROTO]);
net/netfilter/nft_ct.c
1269
err = nft_ct_expect_timeout_get(tb[NFTA_CT_EXPECT_TIMEOUT], &priv->timeout);
net/netfilter/nft_ct.c
1273
priv->dport = nla_get_be16(tb[NFTA_CT_EXPECT_DPORT]);
net/netfilter/nft_ct.c
1274
priv->size = nla_get_u8(tb[NFTA_CT_EXPECT_SIZE]);
net/netfilter/nft_ct.c
392
const struct nlattr * const tb[])
net/netfilter/nft_ct.c
398
priv->key = ntohl(nla_get_be32(tb[NFTA_CT_KEY]));
net/netfilter/nft_ct.c
402
if (tb[NFTA_CT_DIRECTION] != NULL)
net/netfilter/nft_ct.c
415
if (tb[NFTA_CT_DIRECTION] != NULL)
net/netfilter/nft_ct.c
421
if (tb[NFTA_CT_DIRECTION] != NULL)
net/netfilter/nft_ct.c
431
if (tb[NFTA_CT_DIRECTION] != NULL)
net/netfilter/nft_ct.c
445
if (tb[NFTA_CT_DIRECTION] == NULL)
net/netfilter/nft_ct.c
464
if (tb[NFTA_CT_DIRECTION] == NULL)
net/netfilter/nft_ct.c
471
if (tb[NFTA_CT_DIRECTION] == NULL)
net/netfilter/nft_ct.c
478
if (tb[NFTA_CT_DIRECTION] == NULL)
net/netfilter/nft_ct.c
493
if (tb[NFTA_CT_DIRECTION])
net/netfilter/nft_ct.c
502
if (tb[NFTA_CT_DIRECTION] != NULL) {
net/netfilter/nft_ct.c
503
priv->dir = nla_get_u8(tb[NFTA_CT_DIRECTION]);
net/netfilter/nft_ct.c
515
err = nft_parse_register_store(ctx, tb[NFTA_CT_DREG], &priv->dreg, NULL,
net/netfilter/nft_ct.c
559
const struct nlattr * const tb[])
net/netfilter/nft_ct.c
566
priv->key = ntohl(nla_get_be32(tb[NFTA_CT_KEY]));
net/netfilter/nft_ct.c
570
if (tb[NFTA_CT_DIRECTION])
net/netfilter/nft_ct.c
577
if (tb[NFTA_CT_DIRECTION])
net/netfilter/nft_ct.c
599
if (tb[NFTA_CT_DIRECTION])
net/netfilter/nft_ct.c
606
if (tb[NFTA_CT_DIRECTION])
net/netfilter/nft_ct.c
615
if (tb[NFTA_CT_DIRECTION]) {
net/netfilter/nft_ct.c
616
priv->dir = nla_get_u8(tb[NFTA_CT_DIRECTION]);
net/netfilter/nft_ct.c
628
err = nft_parse_register_load(ctx, tb[NFTA_CT_SREG], &priv->sreg, len);
net/netfilter/nft_ct.c
770
const struct nlattr * const tb[])
net/netfilter/nft_ct.c
772
if (tb[NFTA_CT_KEY] == NULL)
net/netfilter/nft_ct.c
775
if (tb[NFTA_CT_DREG] && tb[NFTA_CT_SREG])
net/netfilter/nft_ct.c
778
if (tb[NFTA_CT_DREG]) {
net/netfilter/nft_ct.c
780
u32 k = ntohl(nla_get_be32(tb[NFTA_CT_KEY]));
net/netfilter/nft_ct.c
794
if (tb[NFTA_CT_SREG]) {
net/netfilter/nft_ct.c
796
if (nla_get_be32(tb[NFTA_CT_KEY]) == htonl(NFT_CT_ZONE))
net/netfilter/nft_ct.c
848
struct nlattr **tb;
net/netfilter/nft_ct.c
851
tb = kzalloc_objs(*tb, l4proto->ctnl_timeout.nlattr_max + 1);
net/netfilter/nft_ct.c
853
if (!tb)
net/netfilter/nft_ct.c
856
ret = nla_parse_nested_deprecated(tb,
net/netfilter/nft_ct.c
864
ret = l4proto->ctnl_timeout.nlattr_to_obj(tb, net, timeouts);
net/netfilter/nft_ct.c
867
kfree(tb);
net/netfilter/nft_ct.c
909
const struct nlattr * const tb[],
net/netfilter/nft_ct.c
919
if (!tb[NFTA_CT_TIMEOUT_L4PROTO] ||
net/netfilter/nft_ct.c
920
!tb[NFTA_CT_TIMEOUT_DATA])
net/netfilter/nft_ct.c
923
if (tb[NFTA_CT_TIMEOUT_L3PROTO])
net/netfilter/nft_ct.c
924
l3num = ntohs(nla_get_be16(tb[NFTA_CT_TIMEOUT_L3PROTO]));
net/netfilter/nft_ct.c
926
l4num = nla_get_u8(tb[NFTA_CT_TIMEOUT_L4PROTO]);
net/netfilter/nft_ct.c
944
tb[NFTA_CT_TIMEOUT_DATA]);
net/netfilter/nft_dup_netdev.c
36
const struct nlattr * const tb[])
net/netfilter/nft_dup_netdev.c
40
if (tb[NFTA_DUP_SREG_DEV] == NULL)
net/netfilter/nft_dup_netdev.c
43
return nft_parse_register_load(ctx, tb[NFTA_DUP_SREG_DEV], &priv->sreg_dev,
net/netfilter/nft_dynset.c
173
const struct nlattr * const tb[])
net/netfilter/nft_dynset.c
184
if (tb[NFTA_DYNSET_SET_NAME] == NULL ||
net/netfilter/nft_dynset.c
185
tb[NFTA_DYNSET_OP] == NULL ||
net/netfilter/nft_dynset.c
186
tb[NFTA_DYNSET_SREG_KEY] == NULL)
net/netfilter/nft_dynset.c
189
if (tb[NFTA_DYNSET_FLAGS]) {
net/netfilter/nft_dynset.c
190
u32 flags = ntohl(nla_get_be32(tb[NFTA_DYNSET_FLAGS]));
net/netfilter/nft_dynset.c
200
tb[NFTA_DYNSET_SET_NAME],
net/netfilter/nft_dynset.c
201
tb[NFTA_DYNSET_SET_ID], genmask);
net/netfilter/nft_dynset.c
214
priv->op = ntohl(nla_get_be32(tb[NFTA_DYNSET_OP]));
net/netfilter/nft_dynset.c
219
if (tb[NFTA_DYNSET_TIMEOUT] != NULL) {
net/netfilter/nft_dynset.c
223
err = nf_msecs_to_jiffies64(tb[NFTA_DYNSET_TIMEOUT], &timeout);
net/netfilter/nft_dynset.c
228
err = nft_parse_register_load(ctx, tb[NFTA_DYNSET_SREG_KEY], &priv->sreg_key,
net/netfilter/nft_dynset.c
233
if (tb[NFTA_DYNSET_SREG_DATA] != NULL) {
net/netfilter/nft_dynset.c
239
err = nft_parse_register_load(ctx, tb[NFTA_DYNSET_SREG_DATA],
net/netfilter/nft_dynset.c
246
if ((tb[NFTA_DYNSET_EXPR] || tb[NFTA_DYNSET_EXPRESSIONS]) &&
net/netfilter/nft_dynset.c
250
if (tb[NFTA_DYNSET_EXPR]) {
net/netfilter/nft_dynset.c
254
tb[NFTA_DYNSET_EXPR], 0);
net/netfilter/nft_dynset.c
267
} else if (tb[NFTA_DYNSET_EXPRESSIONS]) {
net/netfilter/nft_dynset.c
276
nla_for_each_nested(tmp, tb[NFTA_DYNSET_EXPRESSIONS], left) {
net/netfilter/nft_exthdr.c
500
const struct nlattr * const tb[])
net/netfilter/nft_exthdr.c
506
if (!tb[NFTA_EXTHDR_DREG] ||
net/netfilter/nft_exthdr.c
507
!tb[NFTA_EXTHDR_TYPE] ||
net/netfilter/nft_exthdr.c
508
!tb[NFTA_EXTHDR_OFFSET] ||
net/netfilter/nft_exthdr.c
509
!tb[NFTA_EXTHDR_LEN])
net/netfilter/nft_exthdr.c
512
err = nft_parse_u32_check(tb[NFTA_EXTHDR_OFFSET], U8_MAX, &offset);
net/netfilter/nft_exthdr.c
516
err = nft_parse_u32_check(tb[NFTA_EXTHDR_LEN], U8_MAX, &len);
net/netfilter/nft_exthdr.c
520
if (tb[NFTA_EXTHDR_FLAGS]) {
net/netfilter/nft_exthdr.c
521
err = nft_parse_u32_check(tb[NFTA_EXTHDR_FLAGS], U8_MAX, &flags);
net/netfilter/nft_exthdr.c
529
if (tb[NFTA_EXTHDR_OP]) {
net/netfilter/nft_exthdr.c
530
err = nft_parse_u32_check(tb[NFTA_EXTHDR_OP], U8_MAX, &op);
net/netfilter/nft_exthdr.c
538
priv->type = nla_get_u8(tb[NFTA_EXTHDR_TYPE]);
net/netfilter/nft_exthdr.c
544
return nft_parse_register_store(ctx, tb[NFTA_EXTHDR_DREG],
net/netfilter/nft_exthdr.c
551
const struct nlattr * const tb[])
net/netfilter/nft_exthdr.c
557
if (!tb[NFTA_EXTHDR_SREG] ||
net/netfilter/nft_exthdr.c
558
!tb[NFTA_EXTHDR_TYPE] ||
net/netfilter/nft_exthdr.c
559
!tb[NFTA_EXTHDR_OFFSET] ||
net/netfilter/nft_exthdr.c
560
!tb[NFTA_EXTHDR_LEN])
net/netfilter/nft_exthdr.c
563
if (tb[NFTA_EXTHDR_DREG] || tb[NFTA_EXTHDR_FLAGS])
net/netfilter/nft_exthdr.c
566
err = nft_parse_u32_check(tb[NFTA_EXTHDR_OFFSET], U8_MAX, &offset);
net/netfilter/nft_exthdr.c
570
err = nft_parse_u32_check(tb[NFTA_EXTHDR_LEN], U8_MAX, &len);
net/netfilter/nft_exthdr.c
584
err = nft_parse_u32_check(tb[NFTA_EXTHDR_OP], U8_MAX, &op);
net/netfilter/nft_exthdr.c
588
priv->type = nla_get_u8(tb[NFTA_EXTHDR_TYPE]);
net/netfilter/nft_exthdr.c
594
return nft_parse_register_load(ctx, tb[NFTA_EXTHDR_SREG], &priv->sreg,
net/netfilter/nft_exthdr.c
600
const struct nlattr * const tb[])
net/netfilter/nft_exthdr.c
604
if (tb[NFTA_EXTHDR_SREG] ||
net/netfilter/nft_exthdr.c
605
tb[NFTA_EXTHDR_DREG] ||
net/netfilter/nft_exthdr.c
606
tb[NFTA_EXTHDR_FLAGS] ||
net/netfilter/nft_exthdr.c
607
tb[NFTA_EXTHDR_OFFSET] ||
net/netfilter/nft_exthdr.c
608
tb[NFTA_EXTHDR_LEN])
net/netfilter/nft_exthdr.c
611
if (!tb[NFTA_EXTHDR_TYPE])
net/netfilter/nft_exthdr.c
614
priv->type = nla_get_u8(tb[NFTA_EXTHDR_TYPE]);
net/netfilter/nft_exthdr.c
622
const struct nlattr * const tb[])
net/netfilter/nft_exthdr.c
625
int err = nft_exthdr_init(ctx, expr, tb);
net/netfilter/nft_exthdr.c
645
const struct nlattr * const tb[])
net/netfilter/nft_exthdr.c
648
int err = nft_exthdr_init(ctx, expr, tb);
net/netfilter/nft_exthdr.c
768
const struct nlattr * const tb[])
net/netfilter/nft_exthdr.c
772
if (!tb[NFTA_EXTHDR_OP])
net/netfilter/nft_exthdr.c
775
if (tb[NFTA_EXTHDR_SREG] && tb[NFTA_EXTHDR_DREG])
net/netfilter/nft_exthdr.c
778
op = ntohl(nla_get_be32(tb[NFTA_EXTHDR_OP]));
net/netfilter/nft_exthdr.c
781
if (tb[NFTA_EXTHDR_SREG])
net/netfilter/nft_exthdr.c
783
if (tb[NFTA_EXTHDR_DREG])
net/netfilter/nft_exthdr.c
787
if (tb[NFTA_EXTHDR_DREG])
net/netfilter/nft_exthdr.c
792
if (tb[NFTA_EXTHDR_DREG])
net/netfilter/nft_exthdr.c
797
if (tb[NFTA_EXTHDR_DREG])
net/netfilter/nft_exthdr.c
805
if (tb[NFTA_EXTHDR_DREG])
net/netfilter/nft_fib.c
125
err = nft_parse_register_store(ctx, tb[NFTA_FIB_DREG], &priv->dreg,
net/netfilter/nft_fib.c
76
const struct nlattr * const tb[])
net/netfilter/nft_fib.c
82
if (!tb[NFTA_FIB_DREG] || !tb[NFTA_FIB_RESULT] || !tb[NFTA_FIB_FLAGS])
net/netfilter/nft_fib.c
85
priv->flags = ntohl(nla_get_be32(tb[NFTA_FIB_FLAGS]));
net/netfilter/nft_fib.c
99
priv->result = ntohl(nla_get_be32(tb[NFTA_FIB_RESULT]));
net/netfilter/nft_flow_offload.c
158
const struct nlattr * const tb[])
net/netfilter/nft_flow_offload.c
164
if (!tb[NFTA_FLOW_TABLE_NAME])
net/netfilter/nft_flow_offload.c
168
tb[NFTA_FLOW_TABLE_NAME], genmask);
net/netfilter/nft_fwd_netdev.c
191
const struct nlattr * const tb[])
net/netfilter/nft_fwd_netdev.c
197
if (!tb[NFTA_FWD_SREG_DEV] ||
net/netfilter/nft_fwd_netdev.c
198
!tb[NFTA_FWD_SREG_ADDR] ||
net/netfilter/nft_fwd_netdev.c
199
!tb[NFTA_FWD_NFPROTO])
net/netfilter/nft_fwd_netdev.c
202
priv->nfproto = ntohl(nla_get_be32(tb[NFTA_FWD_NFPROTO]));
net/netfilter/nft_fwd_netdev.c
215
err = nft_parse_register_load(ctx, tb[NFTA_FWD_SREG_DEV], &priv->sreg_dev,
net/netfilter/nft_fwd_netdev.c
220
return nft_parse_register_load(ctx, tb[NFTA_FWD_SREG_ADDR], &priv->sreg_addr,
net/netfilter/nft_fwd_netdev.c
270
const struct nlattr * const tb[])
net/netfilter/nft_fwd_netdev.c
272
if (tb[NFTA_FWD_SREG_ADDR])
net/netfilter/nft_fwd_netdev.c
274
if (tb[NFTA_FWD_SREG_DEV])
net/netfilter/nft_fwd_netdev.c
48
const struct nlattr * const tb[])
net/netfilter/nft_fwd_netdev.c
52
if (tb[NFTA_FWD_SREG_DEV] == NULL)
net/netfilter/nft_fwd_netdev.c
55
return nft_parse_register_load(ctx, tb[NFTA_FWD_SREG_DEV], &priv->sreg_dev,
net/netfilter/nft_hash.c
106
if (tb[NFTA_HASH_SEED]) {
net/netfilter/nft_hash.c
107
priv->seed = ntohl(nla_get_be32(tb[NFTA_HASH_SEED]));
net/netfilter/nft_hash.c
113
return nft_parse_register_store(ctx, tb[NFTA_HASH_DREG], &priv->dreg,
net/netfilter/nft_hash.c
119
const struct nlattr * const tb[])
net/netfilter/nft_hash.c
123
if (!tb[NFTA_HASH_DREG] ||
net/netfilter/nft_hash.c
124
!tb[NFTA_HASH_MODULUS])
net/netfilter/nft_hash.c
127
if (tb[NFTA_HASH_OFFSET])
net/netfilter/nft_hash.c
128
priv->offset = ntohl(nla_get_be32(tb[NFTA_HASH_OFFSET]));
net/netfilter/nft_hash.c
130
priv->modulus = ntohl(nla_get_be32(tb[NFTA_HASH_MODULUS]));
net/netfilter/nft_hash.c
137
return nft_parse_register_store(ctx, tb[NFTA_HASH_DREG],
net/netfilter/nft_hash.c
208
const struct nlattr * const tb[])
net/netfilter/nft_hash.c
212
if (!tb[NFTA_HASH_TYPE])
net/netfilter/nft_hash.c
215
type = ntohl(nla_get_be32(tb[NFTA_HASH_TYPE]));
net/netfilter/nft_hash.c
72
const struct nlattr * const tb[])
net/netfilter/nft_hash.c
78
if (!tb[NFTA_HASH_SREG] ||
net/netfilter/nft_hash.c
79
!tb[NFTA_HASH_DREG] ||
net/netfilter/nft_hash.c
80
!tb[NFTA_HASH_LEN] ||
net/netfilter/nft_hash.c
81
!tb[NFTA_HASH_MODULUS])
net/netfilter/nft_hash.c
84
if (tb[NFTA_HASH_OFFSET])
net/netfilter/nft_hash.c
85
priv->offset = ntohl(nla_get_be32(tb[NFTA_HASH_OFFSET]));
net/netfilter/nft_hash.c
87
err = nft_parse_u32_check(tb[NFTA_HASH_LEN], U8_MAX, &len);
net/netfilter/nft_hash.c
95
err = nft_parse_register_load(ctx, tb[NFTA_HASH_SREG], &priv->sreg, len);
net/netfilter/nft_hash.c
99
priv->modulus = ntohl(nla_get_be32(tb[NFTA_HASH_MODULUS]));
net/netfilter/nft_immediate.c
48
const struct nlattr * const tb[])
net/netfilter/nft_immediate.c
56
if (tb[NFTA_IMMEDIATE_DREG] == NULL ||
net/netfilter/nft_immediate.c
57
tb[NFTA_IMMEDIATE_DATA] == NULL)
net/netfilter/nft_immediate.c
60
desc.type = nft_reg_to_type(tb[NFTA_IMMEDIATE_DREG]);
net/netfilter/nft_immediate.c
61
err = nft_data_init(ctx, &priv->data, &desc, tb[NFTA_IMMEDIATE_DATA]);
net/netfilter/nft_immediate.c
67
err = nft_parse_register_store(ctx, tb[NFTA_IMMEDIATE_DREG],
net/netfilter/nft_inner.c
332
struct nlattr *tb[NFT_EXPR_MAXATTR + 1];
net/netfilter/nft_inner.c
337
const struct nlattr * const tb[])
net/netfilter/nft_inner.c
344
if (!tb[NFTA_INNER_FLAGS] ||
net/netfilter/nft_inner.c
345
!tb[NFTA_INNER_NUM] ||
net/netfilter/nft_inner.c
346
!tb[NFTA_INNER_HDRSIZE] ||
net/netfilter/nft_inner.c
347
!tb[NFTA_INNER_TYPE] ||
net/netfilter/nft_inner.c
348
!tb[NFTA_INNER_EXPR])
net/netfilter/nft_inner.c
351
flags = ntohl(nla_get_be32(tb[NFTA_INNER_FLAGS]));
net/netfilter/nft_inner.c
355
num = ntohl(nla_get_be32(tb[NFTA_INNER_NUM]));
net/netfilter/nft_inner.c
359
hdrsize = ntohl(nla_get_be32(tb[NFTA_INNER_HDRSIZE]));
net/netfilter/nft_inner.c
360
type = ntohl(nla_get_be32(tb[NFTA_INNER_TYPE]));
net/netfilter/nft_inner.c
374
err = nft_expr_inner_parse(ctx, tb[NFTA_INNER_EXPR], &expr_info);
net/netfilter/nft_inner.c
388
(const struct nlattr * const*)expr_info.tb);
net/netfilter/nft_last.c
26
const struct nlattr * const tb[])
net/netfilter/nft_last.c
37
if (tb[NFTA_LAST_SET])
net/netfilter/nft_last.c
38
last->set = ntohl(nla_get_be32(tb[NFTA_LAST_SET]));
net/netfilter/nft_last.c
40
if (last->set && tb[NFTA_LAST_MSECS]) {
net/netfilter/nft_last.c
41
err = nf_msecs_to_jiffies64(tb[NFTA_LAST_MSECS], &last_jiffies);
net/netfilter/nft_limit.c
103
if (tb[NFTA_LIMIT_FLAGS]) {
net/netfilter/nft_limit.c
104
u32 flags = ntohl(nla_get_be32(tb[NFTA_LIMIT_FLAGS]));
net/netfilter/nft_limit.c
197
const struct nlattr * const tb[])
net/netfilter/nft_limit.c
202
err = nft_limit_init(&priv->limit, tb, true);
net/netfilter/nft_limit.c
261
const struct nlattr * const tb[])
net/netfilter/nft_limit.c
265
return nft_limit_init(priv, tb, false);
net/netfilter/nft_limit.c
305
const struct nlattr * const tb[])
net/netfilter/nft_limit.c
307
if (tb[NFTA_LIMIT_TYPE] == NULL)
net/netfilter/nft_limit.c
310
switch (ntohl(nla_get_be32(tb[NFTA_LIMIT_TYPE]))) {
net/netfilter/nft_limit.c
339
const struct nlattr * const tb[],
net/netfilter/nft_limit.c
345
err = nft_limit_init(&priv->limit, tb, true);
net/netfilter/nft_limit.c
392
const struct nlattr * const tb[],
net/netfilter/nft_limit.c
397
return nft_limit_init(priv, tb, false);
net/netfilter/nft_limit.c
429
const struct nlattr * const tb[])
net/netfilter/nft_limit.c
431
if (!tb[NFTA_LIMIT_TYPE])
net/netfilter/nft_limit.c
434
switch (ntohl(nla_get_be32(tb[NFTA_LIMIT_TYPE]))) {
net/netfilter/nft_limit.c
59
const struct nlattr * const tb[], bool pkts)
net/netfilter/nft_limit.c
64
if (tb[NFTA_LIMIT_RATE] == NULL ||
net/netfilter/nft_limit.c
65
tb[NFTA_LIMIT_UNIT] == NULL)
net/netfilter/nft_limit.c
68
priv->rate = be64_to_cpu(nla_get_be64(tb[NFTA_LIMIT_RATE]));
net/netfilter/nft_limit.c
72
unit = be64_to_cpu(nla_get_be64(tb[NFTA_LIMIT_UNIT]));
net/netfilter/nft_limit.c
76
if (tb[NFTA_LIMIT_BURST])
net/netfilter/nft_limit.c
77
priv->burst = ntohl(nla_get_be32(tb[NFTA_LIMIT_BURST]));
net/netfilter/nft_log.c
100
tb[NFTA_LOG_GROUP] != NULL)
net/netfilter/nft_log.c
102
if (tb[NFTA_LOG_GROUP] != NULL) {
net/netfilter/nft_log.c
104
if (tb[NFTA_LOG_FLAGS] != NULL)
net/netfilter/nft_log.c
108
nla = tb[NFTA_LOG_PREFIX];
net/netfilter/nft_log.c
120
if (tb[NFTA_LOG_LEVEL] != NULL) {
net/netfilter/nft_log.c
122
ntohl(nla_get_be32(tb[NFTA_LOG_LEVEL]));
net/netfilter/nft_log.c
131
if (tb[NFTA_LOG_FLAGS] != NULL) {
net/netfilter/nft_log.c
133
ntohl(nla_get_be32(tb[NFTA_LOG_FLAGS]));
net/netfilter/nft_log.c
141
li->u.ulog.group = ntohs(nla_get_be16(tb[NFTA_LOG_GROUP]));
net/netfilter/nft_log.c
142
if (tb[NFTA_LOG_SNAPLEN] != NULL) {
net/netfilter/nft_log.c
145
ntohl(nla_get_be32(tb[NFTA_LOG_SNAPLEN]));
net/netfilter/nft_log.c
147
if (tb[NFTA_LOG_QTHRESHOLD] != NULL) {
net/netfilter/nft_log.c
149
ntohs(nla_get_be16(tb[NFTA_LOG_QTHRESHOLD]));
net/netfilter/nft_log.c
91
const struct nlattr * const tb[])
net/netfilter/nft_log.c
99
if (tb[NFTA_LOG_LEVEL] != NULL &&
net/netfilter/nft_lookup.c
136
const struct nlattr * const tb[])
net/netfilter/nft_lookup.c
144
if (tb[NFTA_LOOKUP_SET] == NULL ||
net/netfilter/nft_lookup.c
145
tb[NFTA_LOOKUP_SREG] == NULL)
net/netfilter/nft_lookup.c
148
set = nft_set_lookup_global(ctx->net, ctx->table, tb[NFTA_LOOKUP_SET],
net/netfilter/nft_lookup.c
149
tb[NFTA_LOOKUP_SET_ID], genmask);
net/netfilter/nft_lookup.c
153
err = nft_parse_register_load(ctx, tb[NFTA_LOOKUP_SREG], &priv->sreg,
net/netfilter/nft_lookup.c
158
if (tb[NFTA_LOOKUP_FLAGS]) {
net/netfilter/nft_lookup.c
159
flags = ntohl(nla_get_be32(tb[NFTA_LOOKUP_FLAGS]));
net/netfilter/nft_lookup.c
165
if (tb[NFTA_LOOKUP_DREG] != NULL) {
net/netfilter/nft_lookup.c
171
err = nft_parse_register_store(ctx, tb[NFTA_LOOKUP_DREG],
net/netfilter/nft_masq.c
44
const struct nlattr * const tb[])
net/netfilter/nft_masq.c
50
if (tb[NFTA_MASQ_FLAGS])
net/netfilter/nft_masq.c
51
priv->flags = ntohl(nla_get_be32(tb[NFTA_MASQ_FLAGS]));
net/netfilter/nft_masq.c
53
if (tb[NFTA_MASQ_REG_PROTO_MIN]) {
net/netfilter/nft_masq.c
54
err = nft_parse_register_load(ctx, tb[NFTA_MASQ_REG_PROTO_MIN],
net/netfilter/nft_masq.c
59
if (tb[NFTA_MASQ_REG_PROTO_MAX]) {
net/netfilter/nft_masq.c
60
err = nft_parse_register_load(ctx, tb[NFTA_MASQ_REG_PROTO_MAX],
net/netfilter/nft_meta.c
523
const struct nlattr * const tb[])
net/netfilter/nft_meta.c
528
priv->key = ntohl(nla_get_be32(tb[NFTA_META_KEY]));
net/netfilter/nft_meta.c
589
return nft_parse_register_store(ctx, tb[NFTA_META_DREG], &priv->dreg,
net/netfilter/nft_meta.c
688
const struct nlattr * const tb[])
net/netfilter/nft_meta.c
694
priv->key = ntohl(nla_get_be32(tb[NFTA_META_KEY]));
net/netfilter/nft_meta.c
714
err = nft_parse_register_load(ctx, tb[NFTA_META_SREG], &priv->sreg, len);
net/netfilter/nft_meta.c
823
const struct nlattr * const tb[])
net/netfilter/nft_meta.c
825
if (tb[NFTA_META_KEY] == NULL)
net/netfilter/nft_meta.c
828
if (tb[NFTA_META_DREG] && tb[NFTA_META_SREG])
net/netfilter/nft_meta.c
835
if (tb[NFTA_META_DREG])
net/netfilter/nft_meta.c
838
if (tb[NFTA_META_SREG])
net/netfilter/nft_meta.c
846
const struct nlattr * const tb[])
net/netfilter/nft_meta.c
851
if (!tb[NFTA_META_KEY] || !tb[NFTA_META_DREG])
net/netfilter/nft_meta.c
854
priv->key = ntohl(nla_get_be32(tb[NFTA_META_KEY]));
net/netfilter/nft_meta.c
867
return nft_parse_register_store(ctx, tb[NFTA_META_DREG], &priv->dreg,
net/netfilter/nft_meta.c
957
const struct nlattr * const tb[],
net/netfilter/nft_meta.c
963
if (tb[NFTA_SECMARK_CTX] == NULL)
net/netfilter/nft_meta.c
966
priv->ctx = nla_strdup(tb[NFTA_SECMARK_CTX], GFP_KERNEL_ACCOUNT);
net/netfilter/nft_nat.c
171
const struct nlattr * const tb[])
net/netfilter/nft_nat.c
178
if (tb[NFTA_NAT_TYPE] == NULL ||
net/netfilter/nft_nat.c
179
(tb[NFTA_NAT_REG_ADDR_MIN] == NULL &&
net/netfilter/nft_nat.c
180
tb[NFTA_NAT_REG_PROTO_MIN] == NULL))
net/netfilter/nft_nat.c
183
switch (ntohl(nla_get_be32(tb[NFTA_NAT_TYPE]))) {
net/netfilter/nft_nat.c
194
if (tb[NFTA_NAT_FAMILY] == NULL)
net/netfilter/nft_nat.c
197
family = ntohl(nla_get_be32(tb[NFTA_NAT_FAMILY]));
net/netfilter/nft_nat.c
209
if (tb[NFTA_NAT_REG_ADDR_MIN])
net/netfilter/nft_nat.c
215
if (tb[NFTA_NAT_REG_ADDR_MIN]) {
net/netfilter/nft_nat.c
216
err = nft_parse_register_load(ctx, tb[NFTA_NAT_REG_ADDR_MIN],
net/netfilter/nft_nat.c
221
if (tb[NFTA_NAT_REG_ADDR_MAX]) {
net/netfilter/nft_nat.c
222
err = nft_parse_register_load(ctx, tb[NFTA_NAT_REG_ADDR_MAX],
net/netfilter/nft_nat.c
235
if (tb[NFTA_NAT_REG_PROTO_MIN]) {
net/netfilter/nft_nat.c
236
err = nft_parse_register_load(ctx, tb[NFTA_NAT_REG_PROTO_MIN],
net/netfilter/nft_nat.c
241
if (tb[NFTA_NAT_REG_PROTO_MAX]) {
net/netfilter/nft_nat.c
242
err = nft_parse_register_load(ctx, tb[NFTA_NAT_REG_PROTO_MAX],
net/netfilter/nft_nat.c
254
if (tb[NFTA_NAT_FLAGS])
net/netfilter/nft_nat.c
255
priv->flags |= ntohl(nla_get_be32(tb[NFTA_NAT_FLAGS]));
net/netfilter/nft_numgen.c
144
const struct nlattr * const tb[])
net/netfilter/nft_numgen.c
148
if (tb[NFTA_NG_OFFSET])
net/netfilter/nft_numgen.c
149
priv->offset = ntohl(nla_get_be32(tb[NFTA_NG_OFFSET]));
net/netfilter/nft_numgen.c
151
priv->modulus = ntohl(nla_get_be32(tb[NFTA_NG_MODULUS]));
net/netfilter/nft_numgen.c
158
return nft_parse_register_store(ctx, tb[NFTA_NG_DREG], &priv->dreg,
net/netfilter/nft_numgen.c
190
nft_ng_select_ops(const struct nft_ctx *ctx, const struct nlattr * const tb[])
net/netfilter/nft_numgen.c
194
if (!tb[NFTA_NG_DREG] ||
net/netfilter/nft_numgen.c
195
!tb[NFTA_NG_MODULUS] ||
net/netfilter/nft_numgen.c
196
!tb[NFTA_NG_TYPE])
net/netfilter/nft_numgen.c
199
type = ntohl(nla_get_be32(tb[NFTA_NG_TYPE]));
net/netfilter/nft_numgen.c
54
const struct nlattr * const tb[])
net/netfilter/nft_numgen.c
59
if (tb[NFTA_NG_OFFSET])
net/netfilter/nft_numgen.c
60
priv->offset = ntohl(nla_get_be32(tb[NFTA_NG_OFFSET]));
net/netfilter/nft_numgen.c
62
priv->modulus = ntohl(nla_get_be32(tb[NFTA_NG_MODULUS]));
net/netfilter/nft_numgen.c
75
err = nft_parse_register_store(ctx, tb[NFTA_NG_DREG], &priv->dreg,
net/netfilter/nft_objref.c
158
const struct nlattr * const tb[])
net/netfilter/nft_objref.c
166
tb[NFTA_OBJREF_SET_NAME],
net/netfilter/nft_objref.c
167
tb[NFTA_OBJREF_SET_ID], genmask);
net/netfilter/nft_objref.c
174
err = nft_parse_register_load(ctx, tb[NFTA_OBJREF_SET_SREG], &priv->sreg,
net/netfilter/nft_objref.c
251
const struct nlattr * const tb[])
net/netfilter/nft_objref.c
253
if (tb[NFTA_OBJREF_SET_SREG] &&
net/netfilter/nft_objref.c
254
(tb[NFTA_OBJREF_SET_NAME] ||
net/netfilter/nft_objref.c
255
tb[NFTA_OBJREF_SET_ID]))
net/netfilter/nft_objref.c
257
else if (tb[NFTA_OBJREF_IMM_NAME] &&
net/netfilter/nft_objref.c
258
tb[NFTA_OBJREF_IMM_TYPE])
net/netfilter/nft_objref.c
56
const struct nlattr * const tb[])
net/netfilter/nft_objref.c
62
if (!tb[NFTA_OBJREF_IMM_NAME] ||
net/netfilter/nft_objref.c
63
!tb[NFTA_OBJREF_IMM_TYPE])
net/netfilter/nft_objref.c
66
objtype = ntohl(nla_get_be32(tb[NFTA_OBJREF_IMM_TYPE]));
net/netfilter/nft_objref.c
68
tb[NFTA_OBJREF_IMM_NAME], objtype,
net/netfilter/nft_osf.c
67
const struct nlattr * const tb[])
net/netfilter/nft_osf.c
73
if (!tb[NFTA_OSF_DREG])
net/netfilter/nft_osf.c
76
if (tb[NFTA_OSF_TTL]) {
net/netfilter/nft_osf.c
77
ttl = nla_get_u8(tb[NFTA_OSF_TTL]);
net/netfilter/nft_osf.c
83
if (tb[NFTA_OSF_FLAGS]) {
net/netfilter/nft_osf.c
84
flags = ntohl(nla_get_be32(tb[NFTA_OSF_FLAGS]));
net/netfilter/nft_osf.c
90
return nft_parse_register_store(ctx, tb[NFTA_OSF_DREG], &priv->dreg,
net/netfilter/nft_payload.c
1162
const struct nlattr * const tb[])
net/netfilter/nft_payload.c
1171
priv->base = ntohl(nla_get_be32(tb[NFTA_PAYLOAD_BASE]));
net/netfilter/nft_payload.c
1172
priv->len = ntohl(nla_get_be32(tb[NFTA_PAYLOAD_LEN]));
net/netfilter/nft_payload.c
1174
err = nft_parse_u32_check(tb[NFTA_PAYLOAD_OFFSET], U16_MAX, &offset);
net/netfilter/nft_payload.c
1179
if (tb[NFTA_PAYLOAD_CSUM_TYPE])
net/netfilter/nft_payload.c
1180
csum_type = ntohl(nla_get_be32(tb[NFTA_PAYLOAD_CSUM_TYPE]));
net/netfilter/nft_payload.c
1181
if (tb[NFTA_PAYLOAD_CSUM_OFFSET]) {
net/netfilter/nft_payload.c
1182
err = nft_parse_u32_check(tb[NFTA_PAYLOAD_CSUM_OFFSET], U8_MAX,
net/netfilter/nft_payload.c
1189
if (tb[NFTA_PAYLOAD_CSUM_FLAGS]) {
net/netfilter/nft_payload.c
1192
flags = ntohl(nla_get_be32(tb[NFTA_PAYLOAD_CSUM_FLAGS]));
net/netfilter/nft_payload.c
1237
return nft_parse_register_load(ctx, tb[NFTA_PAYLOAD_SREG], &priv->sreg,
net/netfilter/nft_payload.c
1271
const struct nlattr * const tb[])
net/netfilter/nft_payload.c
1277
if (tb[NFTA_PAYLOAD_BASE] == NULL ||
net/netfilter/nft_payload.c
1278
tb[NFTA_PAYLOAD_OFFSET] == NULL ||
net/netfilter/nft_payload.c
1279
tb[NFTA_PAYLOAD_LEN] == NULL)
net/netfilter/nft_payload.c
1282
base = ntohl(nla_get_be32(tb[NFTA_PAYLOAD_BASE]));
net/netfilter/nft_payload.c
1293
if (tb[NFTA_PAYLOAD_SREG] != NULL) {
net/netfilter/nft_payload.c
1294
if (tb[NFTA_PAYLOAD_DREG] != NULL)
net/netfilter/nft_payload.c
1299
if (tb[NFTA_PAYLOAD_DREG] == NULL)
net/netfilter/nft_payload.c
1302
err = nft_parse_u32_check(tb[NFTA_PAYLOAD_OFFSET], U16_MAX, &offset);
net/netfilter/nft_payload.c
1306
err = nft_parse_u32_check(tb[NFTA_PAYLOAD_LEN], U8_MAX, &len);
net/netfilter/nft_payload.c
224
const struct nlattr * const tb[])
net/netfilter/nft_payload.c
230
priv->base = ntohl(nla_get_be32(tb[NFTA_PAYLOAD_BASE]));
net/netfilter/nft_payload.c
231
priv->len = ntohl(nla_get_be32(tb[NFTA_PAYLOAD_LEN]));
net/netfilter/nft_payload.c
233
err = nft_parse_u32_check(tb[NFTA_PAYLOAD_OFFSET], U16_MAX, &offset);
net/netfilter/nft_payload.c
238
return nft_parse_register_store(ctx, tb[NFTA_PAYLOAD_DREG],
net/netfilter/nft_payload.c
617
const struct nlattr * const tb[])
net/netfilter/nft_payload.c
623
if (!tb[NFTA_PAYLOAD_BASE] || !tb[NFTA_PAYLOAD_OFFSET] ||
net/netfilter/nft_payload.c
624
!tb[NFTA_PAYLOAD_LEN] || !tb[NFTA_PAYLOAD_DREG])
net/netfilter/nft_payload.c
627
base = ntohl(nla_get_be32(tb[NFTA_PAYLOAD_BASE]));
net/netfilter/nft_payload.c
639
priv->len = ntohl(nla_get_be32(tb[NFTA_PAYLOAD_LEN]));
net/netfilter/nft_payload.c
640
err = nft_parse_u32_check(tb[NFTA_PAYLOAD_OFFSET], U16_MAX, &offset);
net/netfilter/nft_payload.c
645
return nft_parse_register_store(ctx, tb[NFTA_PAYLOAD_DREG],
net/netfilter/nft_queue.c
104
const struct nlattr * const tb[])
net/netfilter/nft_queue.c
109
priv->queuenum = ntohs(nla_get_be16(tb[NFTA_QUEUE_NUM]));
net/netfilter/nft_queue.c
111
if (tb[NFTA_QUEUE_TOTAL])
net/netfilter/nft_queue.c
112
priv->queues_total = ntohs(nla_get_be16(tb[NFTA_QUEUE_TOTAL]));
net/netfilter/nft_queue.c
123
if (tb[NFTA_QUEUE_FLAGS]) {
net/netfilter/nft_queue.c
124
priv->flags = ntohs(nla_get_be16(tb[NFTA_QUEUE_FLAGS]));
net/netfilter/nft_queue.c
133
const struct nlattr * const tb[])
net/netfilter/nft_queue.c
138
err = nft_parse_register_load(ctx, tb[NFTA_QUEUE_SREG_QNUM],
net/netfilter/nft_queue.c
143
if (tb[NFTA_QUEUE_FLAGS]) {
net/netfilter/nft_queue.c
144
priv->flags = ntohs(nla_get_be16(tb[NFTA_QUEUE_FLAGS]));
net/netfilter/nft_queue.c
207
const struct nlattr * const tb[])
net/netfilter/nft_queue.c
209
if (tb[NFTA_QUEUE_NUM] && tb[NFTA_QUEUE_SREG_QNUM])
net/netfilter/nft_queue.c
214
if (tb[NFTA_QUEUE_NUM])
net/netfilter/nft_queue.c
217
if (tb[NFTA_QUEUE_SREG_QNUM])
net/netfilter/nft_quota.c
117
const struct nlattr * const tb[],
net/netfilter/nft_quota.c
122
return nft_quota_do_init(tb, priv);
net/netfilter/nft_quota.c
220
const struct nlattr * const tb[])
net/netfilter/nft_quota.c
224
return nft_quota_do_init(tb, priv);
net/netfilter/nft_quota.c
72
static int nft_quota_do_init(const struct nlattr * const tb[],
net/netfilter/nft_quota.c
78
if (!tb[NFTA_QUOTA_BYTES])
net/netfilter/nft_quota.c
81
quota = be64_to_cpu(nla_get_be64(tb[NFTA_QUOTA_BYTES]));
net/netfilter/nft_quota.c
85
if (tb[NFTA_QUOTA_CONSUMED]) {
net/netfilter/nft_quota.c
86
consumed = be64_to_cpu(nla_get_be64(tb[NFTA_QUOTA_CONSUMED]));
net/netfilter/nft_quota.c
91
if (tb[NFTA_QUOTA_FLAGS]) {
net/netfilter/nft_quota.c
92
flags = ntohl(nla_get_be32(tb[NFTA_QUOTA_FLAGS]));
net/netfilter/nft_range.c
51
const struct nlattr * const tb[])
net/netfilter/nft_range.c
65
if (!tb[NFTA_RANGE_SREG] ||
net/netfilter/nft_range.c
66
!tb[NFTA_RANGE_OP] ||
net/netfilter/nft_range.c
67
!tb[NFTA_RANGE_FROM_DATA] ||
net/netfilter/nft_range.c
68
!tb[NFTA_RANGE_TO_DATA])
net/netfilter/nft_range.c
72
tb[NFTA_RANGE_FROM_DATA]);
net/netfilter/nft_range.c
77
tb[NFTA_RANGE_TO_DATA]);
net/netfilter/nft_range.c
86
err = nft_parse_register_load(ctx, tb[NFTA_RANGE_SREG], &priv->sreg,
net/netfilter/nft_range.c
91
err = nft_parse_u32_check(tb[NFTA_RANGE_OP], U8_MAX, &op);
net/netfilter/nft_redir.c
45
const struct nlattr * const tb[])
net/netfilter/nft_redir.c
52
if (tb[NFTA_REDIR_REG_PROTO_MIN]) {
net/netfilter/nft_redir.c
53
err = nft_parse_register_load(ctx, tb[NFTA_REDIR_REG_PROTO_MIN],
net/netfilter/nft_redir.c
58
if (tb[NFTA_REDIR_REG_PROTO_MAX]) {
net/netfilter/nft_redir.c
59
err = nft_parse_register_load(ctx, tb[NFTA_REDIR_REG_PROTO_MAX],
net/netfilter/nft_redir.c
71
if (tb[NFTA_REDIR_FLAGS])
net/netfilter/nft_redir.c
72
priv->flags = ntohl(nla_get_be32(tb[NFTA_REDIR_FLAGS]));
net/netfilter/nft_reject.c
39
const struct nlattr * const tb[])
net/netfilter/nft_reject.c
44
if (tb[NFTA_REJECT_TYPE] == NULL)
net/netfilter/nft_reject.c
47
priv->type = ntohl(nla_get_be32(tb[NFTA_REJECT_TYPE]));
net/netfilter/nft_reject.c
51
if (tb[NFTA_REJECT_ICMP_CODE] == NULL)
net/netfilter/nft_reject.c
54
icmp_code = nla_get_u8(tb[NFTA_REJECT_ICMP_CODE]);
net/netfilter/nft_rt.c
112
const struct nlattr * const tb[])
net/netfilter/nft_rt.c
117
if (tb[NFTA_RT_KEY] == NULL ||
net/netfilter/nft_rt.c
118
tb[NFTA_RT_DREG] == NULL)
net/netfilter/nft_rt.c
121
priv->key = ntohl(nla_get_be32(tb[NFTA_RT_KEY]));
net/netfilter/nft_rt.c
144
return nft_parse_register_store(ctx, tb[NFTA_RT_DREG], &priv->dreg,
net/netfilter/nft_set_hash.c
515
const struct nlattr * const tb[])
net/netfilter/nft_set_hash.c
782
const struct nlattr * const tb[])
net/netfilter/nft_socket.c
174
const struct nlattr * const tb[])
net/netfilter/nft_socket.c
179
if (!tb[NFTA_SOCKET_DREG] || !tb[NFTA_SOCKET_KEY])
net/netfilter/nft_socket.c
193
priv->key = ntohl(nla_get_be32(tb[NFTA_SOCKET_KEY]));
net/netfilter/nft_socket.c
207
if (!tb[NFTA_SOCKET_LEVEL])
net/netfilter/nft_socket.c
210
level = ntohl(nla_get_be32(tb[NFTA_SOCKET_LEVEL]));
net/netfilter/nft_socket.c
235
return nft_parse_register_store(ctx, tb[NFTA_SOCKET_DREG], &priv->dreg,
net/netfilter/nft_synproxy.c
153
const struct nlattr * const tb[],
net/netfilter/nft_synproxy.c
160
if (tb[NFTA_SYNPROXY_MSS])
net/netfilter/nft_synproxy.c
161
priv->info.mss = ntohs(nla_get_be16(tb[NFTA_SYNPROXY_MSS]));
net/netfilter/nft_synproxy.c
162
if (tb[NFTA_SYNPROXY_WSCALE])
net/netfilter/nft_synproxy.c
163
priv->info.wscale = nla_get_u8(tb[NFTA_SYNPROXY_WSCALE]);
net/netfilter/nft_synproxy.c
164
if (tb[NFTA_SYNPROXY_FLAGS]) {
net/netfilter/nft_synproxy.c
165
flags = ntohl(nla_get_be32(tb[NFTA_SYNPROXY_FLAGS]));
net/netfilter/nft_synproxy.c
264
const struct nlattr * const tb[])
net/netfilter/nft_synproxy.c
268
return nft_synproxy_do_init(ctx, tb, priv);
net/netfilter/nft_synproxy.c
305
const struct nlattr * const tb[],
net/netfilter/nft_synproxy.c
310
return nft_synproxy_do_init(ctx, tb, priv);
net/netfilter/nft_tproxy.c
193
const struct nlattr * const tb[])
net/netfilter/nft_tproxy.c
199
if (!tb[NFTA_TPROXY_FAMILY] ||
net/netfilter/nft_tproxy.c
200
(!tb[NFTA_TPROXY_REG_ADDR] && !tb[NFTA_TPROXY_REG_PORT]))
net/netfilter/nft_tproxy.c
203
priv->family = ntohl(nla_get_be32(tb[NFTA_TPROXY_FAMILY]));
net/netfilter/nft_tproxy.c
223
if (priv->family == NFPROTO_UNSPEC && tb[NFTA_TPROXY_REG_ADDR])
net/netfilter/nft_tproxy.c
256
if (tb[NFTA_TPROXY_REG_ADDR]) {
net/netfilter/nft_tproxy.c
257
err = nft_parse_register_load(ctx, tb[NFTA_TPROXY_REG_ADDR],
net/netfilter/nft_tproxy.c
263
if (tb[NFTA_TPROXY_REG_PORT]) {
net/netfilter/nft_tproxy.c
264
err = nft_parse_register_load(ctx, tb[NFTA_TPROXY_REG_PORT],
net/netfilter/nft_tunnel.c
106
return nft_parse_register_store(ctx, tb[NFTA_TUNNEL_DREG], &priv->dreg,
net/netfilter/nft_tunnel.c
169
struct nlattr *tb[NFTA_TUNNEL_KEY_IP_MAX + 1];
net/netfilter/nft_tunnel.c
172
err = nla_parse_nested_deprecated(tb, NFTA_TUNNEL_KEY_IP_MAX, attr,
net/netfilter/nft_tunnel.c
177
if (!tb[NFTA_TUNNEL_KEY_IP_DST])
net/netfilter/nft_tunnel.c
180
if (tb[NFTA_TUNNEL_KEY_IP_SRC])
net/netfilter/nft_tunnel.c
181
info->key.u.ipv4.src = nla_get_be32(tb[NFTA_TUNNEL_KEY_IP_SRC]);
net/netfilter/nft_tunnel.c
182
if (tb[NFTA_TUNNEL_KEY_IP_DST])
net/netfilter/nft_tunnel.c
183
info->key.u.ipv4.dst = nla_get_be32(tb[NFTA_TUNNEL_KEY_IP_DST]);
net/netfilter/nft_tunnel.c
198
struct nlattr *tb[NFTA_TUNNEL_KEY_IP6_MAX + 1];
net/netfilter/nft_tunnel.c
201
err = nla_parse_nested_deprecated(tb, NFTA_TUNNEL_KEY_IP6_MAX, attr,
net/netfilter/nft_tunnel.c
206
if (!tb[NFTA_TUNNEL_KEY_IP6_DST])
net/netfilter/nft_tunnel.c
209
if (tb[NFTA_TUNNEL_KEY_IP6_SRC]) {
net/netfilter/nft_tunnel.c
211
nla_data(tb[NFTA_TUNNEL_KEY_IP6_SRC]),
net/netfilter/nft_tunnel.c
214
if (tb[NFTA_TUNNEL_KEY_IP6_DST]) {
net/netfilter/nft_tunnel.c
216
nla_data(tb[NFTA_TUNNEL_KEY_IP6_DST]),
net/netfilter/nft_tunnel.c
219
if (tb[NFTA_TUNNEL_KEY_IP6_FLOWLABEL])
net/netfilter/nft_tunnel.c
220
info->key.label = nla_get_be32(tb[NFTA_TUNNEL_KEY_IP6_FLOWLABEL]);
net/netfilter/nft_tunnel.c
234
struct nlattr *tb[NFTA_TUNNEL_KEY_VXLAN_MAX + 1];
net/netfilter/nft_tunnel.c
237
err = nla_parse_nested_deprecated(tb, NFTA_TUNNEL_KEY_VXLAN_MAX, attr,
net/netfilter/nft_tunnel.c
242
if (!tb[NFTA_TUNNEL_KEY_VXLAN_GBP])
net/netfilter/nft_tunnel.c
245
opts->u.vxlan.gbp = ntohl(nla_get_be32(tb[NFTA_TUNNEL_KEY_VXLAN_GBP]));
net/netfilter/nft_tunnel.c
264
struct nlattr *tb[NFTA_TUNNEL_KEY_ERSPAN_MAX + 1];
net/netfilter/nft_tunnel.c
268
err = nla_parse_nested_deprecated(tb, NFTA_TUNNEL_KEY_ERSPAN_MAX,
net/netfilter/nft_tunnel.c
274
if (!tb[NFTA_TUNNEL_KEY_ERSPAN_VERSION])
net/netfilter/nft_tunnel.c
277
version = ntohl(nla_get_be32(tb[NFTA_TUNNEL_KEY_ERSPAN_VERSION]));
net/netfilter/nft_tunnel.c
280
if (!tb[NFTA_TUNNEL_KEY_ERSPAN_V1_INDEX])
net/netfilter/nft_tunnel.c
284
nla_get_be32(tb[NFTA_TUNNEL_KEY_ERSPAN_V1_INDEX]);
net/netfilter/nft_tunnel.c
287
if (!tb[NFTA_TUNNEL_KEY_ERSPAN_V2_DIR] ||
net/netfilter/nft_tunnel.c
288
!tb[NFTA_TUNNEL_KEY_ERSPAN_V2_HWID])
net/netfilter/nft_tunnel.c
291
hwid = nla_get_u8(tb[NFTA_TUNNEL_KEY_ERSPAN_V2_HWID]);
net/netfilter/nft_tunnel.c
292
dir = nla_get_u8(tb[NFTA_TUNNEL_KEY_ERSPAN_V2_DIR]);
net/netfilter/nft_tunnel.c
319
struct nlattr *tb[NFTA_TUNNEL_KEY_GENEVE_MAX + 1];
net/netfilter/nft_tunnel.c
322
err = nla_parse_nested(tb, NFTA_TUNNEL_KEY_GENEVE_MAX, attr,
net/netfilter/nft_tunnel.c
327
if (!tb[NFTA_TUNNEL_KEY_GENEVE_CLASS] ||
net/netfilter/nft_tunnel.c
328
!tb[NFTA_TUNNEL_KEY_GENEVE_TYPE] ||
net/netfilter/nft_tunnel.c
329
!tb[NFTA_TUNNEL_KEY_GENEVE_DATA])
net/netfilter/nft_tunnel.c
332
attr = tb[NFTA_TUNNEL_KEY_GENEVE_DATA];
net/netfilter/nft_tunnel.c
343
opt->opt_class = nla_get_be16(tb[NFTA_TUNNEL_KEY_GENEVE_CLASS]);
net/netfilter/nft_tunnel.c
344
opt->type = nla_get_u8(tb[NFTA_TUNNEL_KEY_GENEVE_TYPE]);
net/netfilter/nft_tunnel.c
420
const struct nlattr * const tb[],
net/netfilter/nft_tunnel.c
428
if (!tb[NFTA_TUNNEL_KEY_ID])
net/netfilter/nft_tunnel.c
433
info.key.tun_id = key32_to_tunnel_id(nla_get_be32(tb[NFTA_TUNNEL_KEY_ID]));
net/netfilter/nft_tunnel.c
438
if (tb[NFTA_TUNNEL_KEY_IP]) {
net/netfilter/nft_tunnel.c
439
err = nft_tunnel_obj_ip_init(ctx, tb[NFTA_TUNNEL_KEY_IP], &info);
net/netfilter/nft_tunnel.c
442
} else if (tb[NFTA_TUNNEL_KEY_IP6]) {
net/netfilter/nft_tunnel.c
443
err = nft_tunnel_obj_ip6_init(ctx, tb[NFTA_TUNNEL_KEY_IP6], &info);
net/netfilter/nft_tunnel.c
450
if (tb[NFTA_TUNNEL_KEY_SPORT]) {
net/netfilter/nft_tunnel.c
451
info.key.tp_src = nla_get_be16(tb[NFTA_TUNNEL_KEY_SPORT]);
net/netfilter/nft_tunnel.c
453
if (tb[NFTA_TUNNEL_KEY_DPORT]) {
net/netfilter/nft_tunnel.c
454
info.key.tp_dst = nla_get_be16(tb[NFTA_TUNNEL_KEY_DPORT]);
net/netfilter/nft_tunnel.c
457
if (tb[NFTA_TUNNEL_KEY_FLAGS]) {
net/netfilter/nft_tunnel.c
460
tun_flags = ntohl(nla_get_be32(tb[NFTA_TUNNEL_KEY_FLAGS]));
net/netfilter/nft_tunnel.c
472
if (tb[NFTA_TUNNEL_KEY_TOS])
net/netfilter/nft_tunnel.c
473
info.key.tos = nla_get_u8(tb[NFTA_TUNNEL_KEY_TOS]);
net/netfilter/nft_tunnel.c
474
info.key.ttl = nla_get_u8_default(tb[NFTA_TUNNEL_KEY_TTL], U8_MAX);
net/netfilter/nft_tunnel.c
476
if (tb[NFTA_TUNNEL_KEY_OPTS]) {
net/netfilter/nft_tunnel.c
477
err = nft_tunnel_obj_opts_init(ctx, tb[NFTA_TUNNEL_KEY_OPTS],
net/netfilter/nft_tunnel.c
76
const struct nlattr * const tb[])
net/netfilter/nft_tunnel.c
81
if (!tb[NFTA_TUNNEL_KEY] ||
net/netfilter/nft_tunnel.c
82
!tb[NFTA_TUNNEL_DREG])
net/netfilter/nft_tunnel.c
85
priv->key = ntohl(nla_get_be32(tb[NFTA_TUNNEL_KEY]));
net/netfilter/nft_tunnel.c
97
if (tb[NFTA_TUNNEL_MODE]) {
net/netfilter/nft_tunnel.c
98
priv->mode = ntohl(nla_get_be32(tb[NFTA_TUNNEL_MODE]));
net/netfilter/nft_xfrm.c
35
const struct nlattr * const tb[])
net/netfilter/nft_xfrm.c
42
if (!tb[NFTA_XFRM_KEY] || !tb[NFTA_XFRM_DIR] || !tb[NFTA_XFRM_DREG])
net/netfilter/nft_xfrm.c
54
priv->key = ntohl(nla_get_be32(tb[NFTA_XFRM_KEY]));
net/netfilter/nft_xfrm.c
72
dir = nla_get_u8(tb[NFTA_XFRM_DIR]);
net/netfilter/nft_xfrm.c
82
if (tb[NFTA_XFRM_SPNUM])
net/netfilter/nft_xfrm.c
83
spnum = ntohl(nla_get_be32(tb[NFTA_XFRM_SPNUM]));
net/netfilter/nft_xfrm.c
91
return nft_parse_register_store(ctx, tb[NFTA_XFRM_DREG], &priv->dreg,
net/netlink/genetlink.c
1533
struct nlattr **tb = info->info.attrs;
net/netlink/genetlink.c
1540
if (!tb[CTRL_ATTR_FAMILY_ID] && !tb[CTRL_ATTR_FAMILY_NAME])
net/netlink/genetlink.c
1543
if (tb[CTRL_ATTR_FAMILY_ID]) {
net/netlink/genetlink.c
1544
ctx->fam_id = nla_get_u16(tb[CTRL_ATTR_FAMILY_ID]);
net/netlink/genetlink.c
1547
nla_data(tb[CTRL_ATTR_FAMILY_NAME]));
net/netlink/genetlink.c
1559
if (tb[CTRL_ATTR_OP]) {
net/netlink/genetlink.c
1563
ctx->op = nla_get_u32(tb[CTRL_ATTR_OP]);
net/netlink/genetlink.c
1567
NL_SET_BAD_ATTR(cb->extack, tb[CTRL_ATTR_OP]);
net/phonet/pn_netlink.c
235
struct nlattr *tb[RTA_MAX+1];
net/phonet/pn_netlink.c
249
err = nlmsg_parse_deprecated(nlh, sizeof(*rtm), tb, RTA_MAX,
net/phonet/pn_netlink.c
257
if (tb[RTA_DST] == NULL || tb[RTA_OIF] == NULL)
net/phonet/pn_netlink.c
259
dst = nla_get_u8(tb[RTA_DST]);
net/phonet/pn_netlink.c
263
ifindex = nla_get_u32(tb[RTA_OIF]);
net/phonet/pn_netlink.c
56
struct nlattr *tb[IFA_MAX+1];
net/phonet/pn_netlink.c
68
err = nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFA_MAX,
net/phonet/pn_netlink.c
74
if (tb[IFA_LOCAL] == NULL)
net/phonet/pn_netlink.c
76
pnaddr = nla_get_u8(tb[IFA_LOCAL]);
net/psp/psp_nl.c
717
struct nlattr *tb[PSP_A_KEYS_SPI + 1];
net/psp/psp_nl.c
721
err = nla_parse_nested(tb, ARRAY_SIZE(tb) - 1, nest,
net/psp/psp_nl.c
726
if (NL_REQ_ATTR_CHECK(info->extack, nest, tb, PSP_A_KEYS_KEY) ||
net/psp/psp_nl.c
727
NL_REQ_ATTR_CHECK(info->extack, nest, tb, PSP_A_KEYS_SPI))
net/psp/psp_nl.c
730
if (nla_len(tb[PSP_A_KEYS_KEY]) != key_sz) {
net/psp/psp_nl.c
731
NL_SET_ERR_MSG_ATTR(info->extack, tb[PSP_A_KEYS_KEY],
net/psp/psp_nl.c
736
spi = nla_get_u32(tb[PSP_A_KEYS_SPI]);
net/psp/psp_nl.c
738
NL_SET_ERR_MSG_ATTR(info->extack, tb[PSP_A_KEYS_KEY],
net/psp/psp_nl.c
744
memcpy(key->key, nla_data(tb[PSP_A_KEYS_KEY]), key_sz);
net/sched/act_api.c
1273
static struct tc_cookie *nla_memdup_cookie(struct nlattr **tb)
net/sched/act_api.c
1279
c->data = nla_memdup(tb[TCA_ACT_COOKIE], GFP_KERNEL);
net/sched/act_api.c
1284
c->len = nla_len(tb[TCA_ACT_COOKIE]);
net/sched/act_api.c
1338
struct nlattr *tb[TCA_ACT_MAX + 1];
net/sched/act_api.c
1345
err = nla_parse_nested_deprecated(tb, TCA_ACT_MAX, nla,
net/sched/act_api.c
1350
kind = tb[TCA_ACT_KIND];
net/sched/act_api.c
1406
struct nlattr *tb[TCA_ACT_MAX + 1];
net/sched/act_api.c
1412
err = nla_parse_nested_deprecated(tb, TCA_ACT_MAX, nla,
net/sched/act_api.c
1416
if (tb[TCA_ACT_COOKIE]) {
net/sched/act_api.c
1417
user_cookie = nla_memdup_cookie(tb);
net/sched/act_api.c
1424
hw_stats = tcf_action_hw_stats_get(tb[TCA_ACT_HW_STATS]);
net/sched/act_api.c
1425
if (tb[TCA_ACT_FLAGS]) {
net/sched/act_api.c
1426
userflags = nla_get_bitfield32(tb[TCA_ACT_FLAGS]);
net/sched/act_api.c
1433
err = a_o->init(net, tb[TCA_ACT_OPTIONS], est, &a, tp,
net/sched/act_api.c
1443
if (!police && tb[TCA_ACT_COOKIE])
net/sched/act_api.c
1473
struct nlattr *tb[TCA_ACT_MAX_PRIO + 2];
net/sched/act_api.c
1479
err = nla_parse_nested_deprecated(tb, TCA_ACT_MAX_PRIO + 1, nla, NULL,
net/sched/act_api.c
1489
if (tb[TCA_ACT_MAX_PRIO + 1]) {
net/sched/act_api.c
1496
for (i = 1; i <= TCA_ACT_MAX_PRIO && tb[i]; i++) {
net/sched/act_api.c
1499
a_o = tc_action_load_ops(tb[i], flags, extack);
net/sched/act_api.c
1507
for (i = 1; i <= TCA_ACT_MAX_PRIO && tb[i]; i++) {
net/sched/act_api.c
1508
act = tcf_action_init_1(net, tp, tb[i], est, ops[i - 1],
net/sched/act_api.c
1710
struct nlattr *tb[TCA_ACT_MAX + 1];
net/sched/act_api.c
1716
err = nla_parse_nested_deprecated(tb, TCA_ACT_MAX, nla,
net/sched/act_api.c
1722
if (tb[TCA_ACT_INDEX] == NULL ||
net/sched/act_api.c
1723
nla_len(tb[TCA_ACT_INDEX]) < sizeof(index)) {
net/sched/act_api.c
1727
index = nla_get_u32(tb[TCA_ACT_INDEX]);
net/sched/act_api.c
1730
ops = tc_lookup_action(tb[TCA_ACT_KIND]);
net/sched/act_api.c
1760
struct nlattr *tb[TCA_ACT_MAX + 1];
net/sched/act_api.c
1771
err = nla_parse_nested_deprecated(tb, TCA_ACT_MAX, nla,
net/sched/act_api.c
1777
kind = tb[TCA_ACT_KIND];
net/sched/act_api.c
2013
struct nlattr *tb[TCA_ACT_MAX_PRIO + 1];
net/sched/act_api.c
2018
ret = nla_parse_nested_deprecated(tb, TCA_ACT_MAX_PRIO, nla, NULL,
net/sched/act_api.c
2024
if (tb[1])
net/sched/act_api.c
2025
return tca_action_flush(net, tb[1], n, portid, extack);
net/sched/act_api.c
2031
for (i = 1; i <= TCA_ACT_MAX_PRIO && tb[i]; i++) {
net/sched/act_api.c
2032
act = tcf_action_get_1(net, tb[i], n, portid, extack);
net/sched/act_api.c
2184
struct nlattr *tb[TCA_ACT_MAX_PRIO + 1];
net/sched/act_api.c
2191
if (nla_parse_deprecated(tb, TCA_ACT_MAX_PRIO, nla_data(tb1), NLMSG_ALIGN(nla_len(tb1)), NULL, NULL) < 0)
net/sched/act_api.c
2194
if (tb[1] == NULL)
net/sched/act_api.c
2196
if (nla_parse_nested_deprecated(tb2, TCA_ACT_MAX, tb[1], tcf_action_policy, NULL) < 0)
net/sched/act_api.c
2212
struct nlattr *tb[TCA_ROOT_MAX + 1];
net/sched/act_api.c
2220
ret = nlmsg_parse_deprecated(cb->nlh, sizeof(struct tcamsg), tb,
net/sched/act_api.c
2225
kind = find_dump_kind(tb);
net/sched/act_api.c
2236
if (tb[TCA_ROOT_FLAGS]) {
net/sched/act_api.c
2237
bf = nla_get_bitfield32(tb[TCA_ROOT_FLAGS]);
net/sched/act_api.c
2241
if (tb[TCA_ROOT_TIME_DELTA]) {
net/sched/act_api.c
2242
msecs_since = nla_get_u32(tb[TCA_ROOT_TIME_DELTA]);
net/sched/act_bpf.c
185
static int tcf_bpf_init_from_ops(struct nlattr **tb, struct tcf_bpf_cfg *cfg)
net/sched/act_bpf.c
193
bpf_num_ops = nla_get_u16(tb[TCA_ACT_BPF_OPS_LEN]);
net/sched/act_bpf.c
198
if (bpf_size != nla_len(tb[TCA_ACT_BPF_OPS]))
net/sched/act_bpf.c
201
bpf_ops = kmemdup(nla_data(tb[TCA_ACT_BPF_OPS]), bpf_size, GFP_KERNEL);
net/sched/act_bpf.c
222
static int tcf_bpf_init_from_efd(struct nlattr **tb, struct tcf_bpf_cfg *cfg)
net/sched/act_bpf.c
228
bpf_fd = nla_get_u32(tb[TCA_ACT_BPF_FD]);
net/sched/act_bpf.c
234
if (tb[TCA_ACT_BPF_NAME]) {
net/sched/act_bpf.c
235
name = nla_memdup(tb[TCA_ACT_BPF_NAME], GFP_KERNEL);
net/sched/act_bpf.c
284
struct nlattr *tb[TCA_ACT_BPF_MAX + 1];
net/sched/act_bpf.c
296
ret = nla_parse_nested_deprecated(tb, TCA_ACT_BPF_MAX, nla,
net/sched/act_bpf.c
301
if (!tb[TCA_ACT_BPF_PARMS])
net/sched/act_bpf.c
304
parm = nla_data(tb[TCA_ACT_BPF_PARMS]);
net/sched/act_bpf.c
333
is_bpf = tb[TCA_ACT_BPF_OPS_LEN] && tb[TCA_ACT_BPF_OPS];
net/sched/act_bpf.c
334
is_ebpf = tb[TCA_ACT_BPF_FD];
net/sched/act_bpf.c
343
ret = is_bpf ? tcf_bpf_init_from_ops(tb, &cfg) :
net/sched/act_bpf.c
344
tcf_bpf_init_from_efd(tb, &cfg);
net/sched/act_connmark.c
105
struct nlattr *tb[TCA_CONNMARK_MAX + 1];
net/sched/act_connmark.c
116
ret = nla_parse_nested_deprecated(tb, TCA_CONNMARK_MAX, nla,
net/sched/act_connmark.c
121
if (!tb[TCA_CONNMARK_PARMS])
net/sched/act_connmark.c
128
parm = nla_data(tb[TCA_CONNMARK_PARMS]);
net/sched/act_csum.c
51
struct nlattr *tb[TCA_CSUM_MAX + 1];
net/sched/act_csum.c
61
err = nla_parse_nested_deprecated(tb, TCA_CSUM_MAX, nla, csum_policy,
net/sched/act_csum.c
66
if (tb[TCA_CSUM_PARMS] == NULL)
net/sched/act_csum.c
68
parm = nla_data(tb[TCA_CSUM_PARMS]);
net/sched/act_ct.c
1162
struct nlattr **tb,
net/sched/act_ct.c
1185
if (tb[TCA_CT_NAT_IPV4_MIN]) {
net/sched/act_ct.c
1186
struct nlattr *max_attr = tb[TCA_CT_NAT_IPV4_MAX];
net/sched/act_ct.c
1191
nla_get_in_addr(tb[TCA_CT_NAT_IPV4_MIN]);
net/sched/act_ct.c
1195
} else if (tb[TCA_CT_NAT_IPV6_MIN]) {
net/sched/act_ct.c
1196
struct nlattr *max_attr = tb[TCA_CT_NAT_IPV6_MAX];
net/sched/act_ct.c
1201
nla_get_in6_addr(tb[TCA_CT_NAT_IPV6_MIN]);
net/sched/act_ct.c
1208
if (tb[TCA_CT_NAT_PORT_MIN]) {
net/sched/act_ct.c
1210
range->min_proto.all = nla_get_be16(tb[TCA_CT_NAT_PORT_MIN]);
net/sched/act_ct.c
1212
range->max_proto.all = tb[TCA_CT_NAT_PORT_MAX] ?
net/sched/act_ct.c
1213
nla_get_be16(tb[TCA_CT_NAT_PORT_MAX]) :
net/sched/act_ct.c
1220
static void tcf_ct_set_key_val(struct nlattr **tb,
net/sched/act_ct.c
1225
if (!tb[val_type])
net/sched/act_ct.c
1227
nla_memcpy(val, tb[val_type], len);
net/sched/act_ct.c
1232
if (mask_type == TCA_CT_UNSPEC || !tb[mask_type])
net/sched/act_ct.c
1235
nla_memcpy(mask, tb[mask_type], len);
net/sched/act_ct.c
1241
struct nlattr **tb,
net/sched/act_ct.c
1252
tcf_ct_set_key_val(tb,
net/sched/act_ct.c
1260
err = tcf_ct_fill_params_nat(p, parm, tb, extack);
net/sched/act_ct.c
1264
if (tb[TCA_CT_MARK]) {
net/sched/act_ct.c
1269
tcf_ct_set_key_val(tb,
net/sched/act_ct.c
1275
if (tb[TCA_CT_LABELS]) {
net/sched/act_ct.c
1290
tcf_ct_set_key_val(tb,
net/sched/act_ct.c
1296
if (tb[TCA_CT_ZONE]) {
net/sched/act_ct.c
1303
tcf_ct_set_key_val(tb,
net/sched/act_ct.c
1317
if (tb[TCA_CT_HELPER_NAME]) {
net/sched/act_ct.c
1318
name = nla_data(tb[TCA_CT_HELPER_NAME]);
net/sched/act_ct.c
1319
len = nla_len(tb[TCA_CT_HELPER_NAME]);
net/sched/act_ct.c
1325
family = nla_get_u8_default(tb[TCA_CT_HELPER_FAMILY], AF_INET);
net/sched/act_ct.c
1326
proto = nla_get_u8_default(tb[TCA_CT_HELPER_PROTO],
net/sched/act_ct.c
1358
struct nlattr *tb[TCA_CT_MAX + 1];
net/sched/act_ct.c
1376
err = nla_parse_nested(tb, TCA_CT_MAX, nla, ct_policy, extack);
net/sched/act_ct.c
1380
if (!tb[TCA_CT_PARMS]) {
net/sched/act_ct.c
1384
parm = nla_data(tb[TCA_CT_PARMS]);
net/sched/act_ct.c
1419
err = tcf_ct_fill_params(net, params, parm, tb, extack);
net/sched/act_ctinfo.c
163
struct nlattr *tb[TCA_CTINFO_MAX + 1];
net/sched/act_ctinfo.c
176
err = nla_parse_nested(tb, TCA_CTINFO_MAX, nla, ctinfo_policy, extack);
net/sched/act_ctinfo.c
180
if (!tb[TCA_CTINFO_ACT]) {
net/sched/act_ctinfo.c
185
actparm = nla_data(tb[TCA_CTINFO_ACT]);
net/sched/act_ctinfo.c
189
if (tb[TCA_CTINFO_PARMS_DSCP_MASK]) {
net/sched/act_ctinfo.c
190
dscpmask = nla_get_u32(tb[TCA_CTINFO_PARMS_DSCP_MASK]);
net/sched/act_ctinfo.c
195
tb[TCA_CTINFO_PARMS_DSCP_MASK],
net/sched/act_ctinfo.c
200
nla_get_u32_default(tb[TCA_CTINFO_PARMS_DSCP_STATEMASK],
net/sched/act_ctinfo.c
205
tb[TCA_CTINFO_PARMS_DSCP_STATEMASK],
net/sched/act_ctinfo.c
246
cp_new->zone = nla_get_u16_default(tb[TCA_CTINFO_ZONE], 0);
net/sched/act_ctinfo.c
254
if (tb[TCA_CTINFO_PARMS_CPMARK_MASK]) {
net/sched/act_ctinfo.c
256
nla_get_u32(tb[TCA_CTINFO_PARMS_CPMARK_MASK]);
net/sched/act_gact.c
60
struct nlattr *tb[TCA_GACT_MAX + 1];
net/sched/act_gact.c
74
err = nla_parse_nested_deprecated(tb, TCA_GACT_MAX, nla, gact_policy,
net/sched/act_gact.c
79
if (tb[TCA_GACT_PARMS] == NULL)
net/sched/act_gact.c
81
parm = nla_data(tb[TCA_GACT_PARMS]);
net/sched/act_gact.c
85
if (tb[TCA_GACT_PROB] != NULL)
net/sched/act_gact.c
88
if (tb[TCA_GACT_PROB]) {
net/sched/act_gact.c
89
p_parm = nla_data(tb[TCA_GACT_PROB]);
net/sched/act_gate.c
181
static int fill_gate_entry(struct nlattr **tb, struct tcfg_gate_entry *entry,
net/sched/act_gate.c
186
entry->gate_state = nla_get_flag(tb[TCA_GATE_ENTRY_GATE]);
net/sched/act_gate.c
188
if (tb[TCA_GATE_ENTRY_INTERVAL])
net/sched/act_gate.c
189
interval = nla_get_u32(tb[TCA_GATE_ENTRY_INTERVAL]);
net/sched/act_gate.c
198
entry->ipv = nla_get_s32_default(tb[TCA_GATE_ENTRY_IPV], -1);
net/sched/act_gate.c
200
entry->maxoctets = nla_get_s32_default(tb[TCA_GATE_ENTRY_MAX_OCTETS],
net/sched/act_gate.c
209
struct nlattr *tb[TCA_GATE_ENTRY_MAX + 1] = { };
net/sched/act_gate.c
212
err = nla_parse_nested(tb, TCA_GATE_ENTRY_MAX, n, entry_policy, extack);
net/sched/act_gate.c
220
return fill_gate_entry(tb, entry, extack);
net/sched/act_gate.c
358
struct nlattr *tb[TCA_GATE_MAX + 1];
net/sched/act_gate.c
378
err = nla_parse_nested(tb, TCA_GATE_MAX, nla, gate_policy, extack);
net/sched/act_gate.c
382
if (!tb[TCA_GATE_PARMS])
net/sched/act_gate.c
385
if (tb[TCA_GATE_CLOCKID])
net/sched/act_gate.c
386
clockid = nla_get_s32(tb[TCA_GATE_CLOCKID]);
net/sched/act_gate.c
388
parm = nla_data(tb[TCA_GATE_PARMS]);
net/sched/act_gate.c
425
use_old_entries = !tb[TCA_GATE_ENTRY_LIST];
net/sched/act_gate.c
427
err = parse_gate_list(tb[TCA_GATE_ENTRY_LIST], p, extack);
net/sched/act_gate.c
452
if (!tb[TCA_GATE_CLOCKID])
net/sched/act_gate.c
458
if (!err && !tb[TCA_GATE_CYCLE_TIME])
net/sched/act_gate.c
466
if (tb[TCA_GATE_PRIORITY])
net/sched/act_gate.c
467
prio = nla_get_s32(tb[TCA_GATE_PRIORITY]);
net/sched/act_gate.c
469
if (tb[TCA_GATE_BASE_TIME])
net/sched/act_gate.c
470
basetime = nla_get_u64(tb[TCA_GATE_BASE_TIME]);
net/sched/act_gate.c
472
if (tb[TCA_GATE_FLAGS])
net/sched/act_gate.c
473
gflags = nla_get_u32(tb[TCA_GATE_FLAGS]);
net/sched/act_gate.c
475
if (tb[TCA_GATE_CYCLE_TIME])
net/sched/act_gate.c
476
cycletime = nla_get_u64(tb[TCA_GATE_CYCLE_TIME]);
net/sched/act_gate.c
478
if (tb[TCA_GATE_CYCLE_TIME_EXT])
net/sched/act_gate.c
479
cycletime_ext = nla_get_u64(tb[TCA_GATE_CYCLE_TIME_EXT]);
net/sched/act_ife.c
437
static int load_metalist(struct nlattr **tb, bool rtnl_held)
net/sched/act_ife.c
442
if (tb[i]) {
net/sched/act_ife.c
443
void *val = nla_data(tb[i]);
net/sched/act_ife.c
444
int len = nla_len(tb[i]);
net/sched/act_ife.c
456
static int populate_metalist(struct tcf_ife_params *p, struct nlattr **tb)
net/sched/act_ife.c
464
if (tb[i]) {
net/sched/act_ife.c
465
val = nla_data(tb[i]);
net/sched/act_ife.c
466
len = nla_len(tb[i]);
net/sched/act_ife.c
484
struct nlattr *tb[TCA_IFE_MAX + 1];
net/sched/act_ife.c
503
err = nla_parse_nested_deprecated(tb, TCA_IFE_MAX, nla, ife_policy,
net/sched/act_ife.c
508
if (!tb[TCA_IFE_PARMS])
net/sched/act_ife.c
511
parm = nla_data(tb[TCA_IFE_PARMS]);
net/sched/act_ife.c
525
if (tb[TCA_IFE_METALST]) {
net/sched/act_ife.c
527
tb[TCA_IFE_METALST], NULL,
net/sched/act_ife.c
576
if (tb[TCA_IFE_TYPE])
net/sched/act_ife.c
577
ife_type = nla_get_u16(tb[TCA_IFE_TYPE]);
net/sched/act_ife.c
578
if (tb[TCA_IFE_DMAC])
net/sched/act_ife.c
579
daddr = nla_data(tb[TCA_IFE_DMAC]);
net/sched/act_ife.c
580
if (tb[TCA_IFE_SMAC])
net/sched/act_ife.c
581
saddr = nla_data(tb[TCA_IFE_SMAC]);
net/sched/act_ife.c
598
if (tb[TCA_IFE_METALST]) {
net/sched/act_mirred.c
111
struct nlattr *tb[TCA_MIRRED_MAX + 1];
net/sched/act_mirred.c
124
ret = nla_parse_nested_deprecated(tb, TCA_MIRRED_MAX, nla,
net/sched/act_mirred.c
128
if (!tb[TCA_MIRRED_PARMS]) {
net/sched/act_mirred.c
132
parm = nla_data(tb[TCA_MIRRED_PARMS]);
net/sched/act_mirred.c
141
if (tb[TCA_MIRRED_BLOCKID] && parm->ifindex) {
net/sched/act_mirred.c
168
if (!parm->ifindex && !tb[TCA_MIRRED_BLOCKID]) {
net/sched/act_mirred.c
210
} else if (tb[TCA_MIRRED_BLOCKID]) {
net/sched/act_mirred.c
213
m->tcfm_blockid = nla_get_u32(tb[TCA_MIRRED_BLOCKID]);
net/sched/act_mpls.c
165
struct nlattr *tb[TCA_MPLS_MAX + 1];
net/sched/act_mpls.c
180
err = nla_parse_nested(tb, TCA_MPLS_MAX, nla, mpls_policy, extack);
net/sched/act_mpls.c
184
if (!tb[TCA_MPLS_PARMS]) {
net/sched/act_mpls.c
188
parm = nla_data(tb[TCA_MPLS_PARMS]);
net/sched/act_mpls.c
215
if (!tb[TCA_MPLS_PROTO]) {
net/sched/act_mpls.c
220
if (!eth_proto_is_802_3(nla_get_be16(tb[TCA_MPLS_PROTO]))) {
net/sched/act_mpls.c
225
if (tb[TCA_MPLS_LABEL] || tb[TCA_MPLS_TTL] || tb[TCA_MPLS_TC] ||
net/sched/act_mpls.c
226
tb[TCA_MPLS_BOS]) {
net/sched/act_mpls.c
233
if (tb[TCA_MPLS_PROTO] || tb[TCA_MPLS_LABEL] ||
net/sched/act_mpls.c
234
tb[TCA_MPLS_TTL] || tb[TCA_MPLS_TC] || tb[TCA_MPLS_BOS]) {
net/sched/act_mpls.c
242
if (!tb[TCA_MPLS_LABEL]) {
net/sched/act_mpls.c
247
if (tb[TCA_MPLS_PROTO] &&
net/sched/act_mpls.c
248
!eth_p_mpls(nla_get_be16(tb[TCA_MPLS_PROTO]))) {
net/sched/act_mpls.c
254
if (!tb[TCA_MPLS_TTL]) {
net/sched/act_mpls.c
264
if (tb[TCA_MPLS_PROTO]) {
net/sched/act_mpls.c
289
p->tcfm_label = nla_get_u32_default(tb[TCA_MPLS_LABEL],
net/sched/act_mpls.c
291
p->tcfm_tc = nla_get_u8_default(tb[TCA_MPLS_TC], ACT_MPLS_TC_NOT_SET);
net/sched/act_mpls.c
292
p->tcfm_ttl = nla_get_u8_default(tb[TCA_MPLS_TTL], mpls_ttl);
net/sched/act_mpls.c
293
p->tcfm_bos = nla_get_u8_default(tb[TCA_MPLS_BOS],
net/sched/act_mpls.c
295
p->tcfm_proto = nla_get_be16_default(tb[TCA_MPLS_PROTO],
net/sched/act_nat.c
42
struct nlattr *tb[TCA_NAT_MAX + 1];
net/sched/act_nat.c
52
err = nla_parse_nested_deprecated(tb, TCA_NAT_MAX, nla, nat_policy,
net/sched/act_nat.c
57
if (tb[TCA_NAT_PARMS] == NULL)
net/sched/act_nat.c
59
parm = nla_data(tb[TCA_NAT_PARMS]);
net/sched/act_pedit.c
168
struct nlattr *tb[TCA_PEDIT_MAX + 1];
net/sched/act_pedit.c
181
err = nla_parse_nested_deprecated(tb, TCA_PEDIT_MAX, nla,
net/sched/act_pedit.c
186
pattr = tb[TCA_PEDIT_PARMS];
net/sched/act_pedit.c
188
pattr = tb[TCA_PEDIT_PARMS_EX];
net/sched/act_pedit.c
236
tcf_pedit_keys_ex_parse(tb[TCA_PEDIT_KEYS_EX], parm->nkeys, extack);
net/sched/act_pedit.c
64
struct nlattr *tb[TCA_PEDIT_KEY_EX_MAX + 1];
net/sched/act_pedit.c
79
err = nla_parse_nested_deprecated(tb, TCA_PEDIT_KEY_EX_MAX,
net/sched/act_pedit.c
85
if (NL_REQ_ATTR_CHECK(extack, nla, tb, TCA_PEDIT_KEY_EX_HTYPE)) {
net/sched/act_pedit.c
91
if (NL_REQ_ATTR_CHECK(extack, nla, tb, TCA_PEDIT_KEY_EX_CMD)) {
net/sched/act_pedit.c
97
k->htype = nla_get_u16(tb[TCA_PEDIT_KEY_EX_HTYPE]);
net/sched/act_pedit.c
98
k->cmd = nla_get_u16(tb[TCA_PEDIT_KEY_EX_CMD]);
net/sched/act_police.c
102
R_tab = qdisc_get_rtab(&parm->rate, tb[TCA_POLICE_RATE], NULL);
net/sched/act_police.c
108
tb[TCA_POLICE_PEAKRATE], NULL);
net/sched/act_police.c
122
} else if (tb[TCA_POLICE_AVRATE] &&
net/sched/act_police.c
129
if (tb[TCA_POLICE_RESULT]) {
net/sched/act_police.c
130
tcfp_result = nla_get_u32(tb[TCA_POLICE_RESULT]);
net/sched/act_police.c
139
if ((tb[TCA_POLICE_PKTRATE64] && !tb[TCA_POLICE_PKTBURST64]) ||
net/sched/act_police.c
140
(!tb[TCA_POLICE_PKTRATE64] && tb[TCA_POLICE_PKTBURST64])) {
net/sched/act_police.c
147
if (tb[TCA_POLICE_PKTRATE64] && R_tab) {
net/sched/act_police.c
170
rate64 = nla_get_u64_default(tb[TCA_POLICE_RATE64], 0);
net/sched/act_police.c
178
prate64 = nla_get_u64_default(tb[TCA_POLICE_PEAKRATE64], 0);
net/sched/act_police.c
190
if (tb[TCA_POLICE_AVRATE])
net/sched/act_police.c
191
new->tcfp_ewma_rate = nla_get_u32(tb[TCA_POLICE_AVRATE]);
net/sched/act_police.c
193
if (tb[TCA_POLICE_PKTRATE64]) {
net/sched/act_police.c
194
pps = nla_get_u64(tb[TCA_POLICE_PKTRATE64]);
net/sched/act_police.c
195
ppsburst = nla_get_u64(tb[TCA_POLICE_PKTBURST64]);
net/sched/act_police.c
47
struct nlattr *tb[TCA_POLICE_MAX + 1];
net/sched/act_police.c
62
err = nla_parse_nested_deprecated(tb, TCA_POLICE_MAX, nla,
net/sched/act_police.c
67
if (tb[TCA_POLICE_TBF] == NULL)
net/sched/act_police.c
69
size = nla_len(tb[TCA_POLICE_TBF]);
net/sched/act_police.c
73
parm = nla_data(tb[TCA_POLICE_TBF]);
net/sched/act_sample.c
100
psample_group_num = nla_get_u32(tb[TCA_SAMPLE_PSAMPLE_GROUP]);
net/sched/act_sample.c
116
if (tb[TCA_SAMPLE_TRUNC_SIZE]) {
net/sched/act_sample.c
118
s->trunc_size = nla_get_u32(tb[TCA_SAMPLE_TRUNC_SIZE]);
net/sched/act_sample.c
43
struct nlattr *tb[TCA_SAMPLE_MAX + 1];
net/sched/act_sample.c
54
ret = nla_parse_nested_deprecated(tb, TCA_SAMPLE_MAX, nla,
net/sched/act_sample.c
59
if (!tb[TCA_SAMPLE_PARMS])
net/sched/act_sample.c
62
parm = nla_data(tb[TCA_SAMPLE_PARMS]);
net/sched/act_sample.c
84
if (!tb[TCA_SAMPLE_RATE] || !tb[TCA_SAMPLE_PSAMPLE_GROUP]) {
net/sched/act_sample.c
94
rate = nla_get_u32(tb[TCA_SAMPLE_RATE]);
net/sched/act_simple.c
105
err = nla_parse_nested_deprecated(tb, TCA_DEF_MAX, nla, simple_policy,
net/sched/act_simple.c
110
if (tb[TCA_DEF_PARMS] == NULL)
net/sched/act_simple.c
113
parm = nla_data(tb[TCA_DEF_PARMS]);
net/sched/act_simple.c
122
if (tb[TCA_DEF_DATA] == NULL) {
net/sched/act_simple.c
144
err = alloc_defdata(d, tb[TCA_DEF_DATA]);
net/sched/act_simple.c
156
err = reset_policy(*a, tb[TCA_DEF_DATA], parm, tp, extack);
net/sched/act_simple.c
94
struct nlattr *tb[TCA_DEF_MAX + 1];
net/sched/act_skbedit.c
123
struct nlattr *tb[TCA_SKBEDIT_MAX + 1];
net/sched/act_skbedit.c
137
err = nla_parse_nested_deprecated(tb, TCA_SKBEDIT_MAX, nla,
net/sched/act_skbedit.c
142
if (tb[TCA_SKBEDIT_PARMS] == NULL)
net/sched/act_skbedit.c
145
if (tb[TCA_SKBEDIT_PRIORITY] != NULL) {
net/sched/act_skbedit.c
147
priority = nla_data(tb[TCA_SKBEDIT_PRIORITY]);
net/sched/act_skbedit.c
150
if (tb[TCA_SKBEDIT_QUEUE_MAPPING] != NULL) {
net/sched/act_skbedit.c
157
queue_mapping = nla_data(tb[TCA_SKBEDIT_QUEUE_MAPPING]);
net/sched/act_skbedit.c
160
if (tb[TCA_SKBEDIT_PTYPE] != NULL) {
net/sched/act_skbedit.c
161
ptype = nla_data(tb[TCA_SKBEDIT_PTYPE]);
net/sched/act_skbedit.c
167
if (tb[TCA_SKBEDIT_MARK] != NULL) {
net/sched/act_skbedit.c
169
mark = nla_data(tb[TCA_SKBEDIT_MARK]);
net/sched/act_skbedit.c
172
if (tb[TCA_SKBEDIT_MASK] != NULL) {
net/sched/act_skbedit.c
174
mask = nla_data(tb[TCA_SKBEDIT_MASK]);
net/sched/act_skbedit.c
177
if (tb[TCA_SKBEDIT_FLAGS] != NULL) {
net/sched/act_skbedit.c
178
u64 *pure_flags = nla_data(tb[TCA_SKBEDIT_FLAGS]);
net/sched/act_skbedit.c
183
if (!tb[TCA_SKBEDIT_QUEUE_MAPPING] ||
net/sched/act_skbedit.c
184
!tb[TCA_SKBEDIT_QUEUE_MAPPING_MAX]) {
net/sched/act_skbedit.c
190
nla_data(tb[TCA_SKBEDIT_QUEUE_MAPPING_MAX]);
net/sched/act_skbedit.c
207
parm = nla_data(tb[TCA_SKBEDIT_PARMS]);
net/sched/act_skbmod.c
109
struct nlattr *tb[TCA_SKBMOD_MAX + 1];
net/sched/act_skbmod.c
124
err = nla_parse_nested_deprecated(tb, TCA_SKBMOD_MAX, nla,
net/sched/act_skbmod.c
129
if (!tb[TCA_SKBMOD_PARMS])
net/sched/act_skbmod.c
132
if (tb[TCA_SKBMOD_DMAC]) {
net/sched/act_skbmod.c
133
daddr = nla_data(tb[TCA_SKBMOD_DMAC]);
net/sched/act_skbmod.c
137
if (tb[TCA_SKBMOD_SMAC]) {
net/sched/act_skbmod.c
138
saddr = nla_data(tb[TCA_SKBMOD_SMAC]);
net/sched/act_skbmod.c
142
if (tb[TCA_SKBMOD_ETYPE]) {
net/sched/act_skbmod.c
143
eth_type = nla_get_u16(tb[TCA_SKBMOD_ETYPE]);
net/sched/act_skbmod.c
147
parm = nla_data(tb[TCA_SKBMOD_PARMS]);
net/sched/act_tunnel_key.c
100
!tb[TCA_TUNNEL_KEY_ENC_OPT_GENEVE_TYPE] ||
net/sched/act_tunnel_key.c
101
!tb[TCA_TUNNEL_KEY_ENC_OPT_GENEVE_DATA]) {
net/sched/act_tunnel_key.c
106
data = nla_data(tb[TCA_TUNNEL_KEY_ENC_OPT_GENEVE_DATA]);
net/sched/act_tunnel_key.c
107
data_len = nla_len(tb[TCA_TUNNEL_KEY_ENC_OPT_GENEVE_DATA]);
net/sched/act_tunnel_key.c
124
nla_get_be16(tb[TCA_TUNNEL_KEY_ENC_OPT_GENEVE_CLASS]);
net/sched/act_tunnel_key.c
125
opt->type = nla_get_u8(tb[TCA_TUNNEL_KEY_ENC_OPT_GENEVE_TYPE]);
net/sched/act_tunnel_key.c
141
struct nlattr *tb[TCA_TUNNEL_KEY_ENC_OPT_VXLAN_MAX + 1];
net/sched/act_tunnel_key.c
144
err = nla_parse_nested(tb, TCA_TUNNEL_KEY_ENC_OPT_VXLAN_MAX, nla,
net/sched/act_tunnel_key.c
149
if (!tb[TCA_TUNNEL_KEY_ENC_OPT_VXLAN_GBP]) {
net/sched/act_tunnel_key.c
157
md->gbp = nla_get_u32(tb[TCA_TUNNEL_KEY_ENC_OPT_VXLAN_GBP]);
net/sched/act_tunnel_key.c
168
struct nlattr *tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_MAX + 1];
net/sched/act_tunnel_key.c
172
err = nla_parse_nested(tb, TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_MAX, nla,
net/sched/act_tunnel_key.c
177
if (!tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_VER]) {
net/sched/act_tunnel_key.c
182
ver = nla_get_u8(tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_VER]);
net/sched/act_tunnel_key.c
184
if (!tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_INDEX]) {
net/sched/act_tunnel_key.c
189
if (!tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_DIR] ||
net/sched/act_tunnel_key.c
190
!tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_HWID]) {
net/sched/act_tunnel_key.c
204
nla = tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_INDEX];
net/sched/act_tunnel_key.c
207
nla = tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_DIR];
net/sched/act_tunnel_key.c
209
nla = tb[TCA_TUNNEL_KEY_ENC_OPT_ERSPAN_HWID];
net/sched/act_tunnel_key.c
368
struct nlattr *tb[TCA_TUNNEL_KEY_MAX + 1];
net/sched/act_tunnel_key.c
389
err = nla_parse_nested_deprecated(tb, TCA_TUNNEL_KEY_MAX, nla,
net/sched/act_tunnel_key.c
396
if (!tb[TCA_TUNNEL_KEY_PARMS]) {
net/sched/act_tunnel_key.c
401
parm = nla_data(tb[TCA_TUNNEL_KEY_PARMS]);
net/sched/act_tunnel_key.c
414
if (tb[TCA_TUNNEL_KEY_ENC_KEY_ID]) {
net/sched/act_tunnel_key.c
417
key32 = nla_get_be32(tb[TCA_TUNNEL_KEY_ENC_KEY_ID]);
net/sched/act_tunnel_key.c
423
if (tb[TCA_TUNNEL_KEY_NO_CSUM] &&
net/sched/act_tunnel_key.c
424
nla_get_u8(tb[TCA_TUNNEL_KEY_NO_CSUM]))
net/sched/act_tunnel_key.c
427
if (nla_get_flag(tb[TCA_TUNNEL_KEY_NO_FRAG]))
net/sched/act_tunnel_key.c
430
if (tb[TCA_TUNNEL_KEY_ENC_DST_PORT])
net/sched/act_tunnel_key.c
431
dst_port = nla_get_be16(tb[TCA_TUNNEL_KEY_ENC_DST_PORT]);
net/sched/act_tunnel_key.c
433
if (tb[TCA_TUNNEL_KEY_ENC_OPTS]) {
net/sched/act_tunnel_key.c
434
opts_len = tunnel_key_get_opts_len(tb[TCA_TUNNEL_KEY_ENC_OPTS],
net/sched/act_tunnel_key.c
443
if (tb[TCA_TUNNEL_KEY_ENC_TOS])
net/sched/act_tunnel_key.c
444
tos = nla_get_u8(tb[TCA_TUNNEL_KEY_ENC_TOS]);
net/sched/act_tunnel_key.c
446
if (tb[TCA_TUNNEL_KEY_ENC_TTL])
net/sched/act_tunnel_key.c
447
ttl = nla_get_u8(tb[TCA_TUNNEL_KEY_ENC_TTL]);
net/sched/act_tunnel_key.c
449
if (tb[TCA_TUNNEL_KEY_ENC_IPV4_SRC] &&
net/sched/act_tunnel_key.c
450
tb[TCA_TUNNEL_KEY_ENC_IPV4_DST]) {
net/sched/act_tunnel_key.c
454
saddr = nla_get_in_addr(tb[TCA_TUNNEL_KEY_ENC_IPV4_SRC]);
net/sched/act_tunnel_key.c
455
daddr = nla_get_in_addr(tb[TCA_TUNNEL_KEY_ENC_IPV4_DST]);
net/sched/act_tunnel_key.c
460
} else if (tb[TCA_TUNNEL_KEY_ENC_IPV6_SRC] &&
net/sched/act_tunnel_key.c
461
tb[TCA_TUNNEL_KEY_ENC_IPV6_DST]) {
net/sched/act_tunnel_key.c
465
saddr = nla_get_in6_addr(tb[TCA_TUNNEL_KEY_ENC_IPV6_SRC]);
net/sched/act_tunnel_key.c
466
daddr = nla_get_in6_addr(tb[TCA_TUNNEL_KEY_ENC_IPV6_DST]);
net/sched/act_tunnel_key.c
490
ret = tunnel_key_opts_set(tb[TCA_TUNNEL_KEY_ENC_OPTS],
net/sched/act_tunnel_key.c
89
struct nlattr *tb[TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX + 1];
net/sched/act_tunnel_key.c
93
err = nla_parse_nested_deprecated(tb,
net/sched/act_tunnel_key.c
99
if (!tb[TCA_TUNNEL_KEY_ENC_OPT_GENEVE_CLASS] ||
net/sched/act_vlan.c
121
struct nlattr *tb[TCA_VLAN_MAX + 1];
net/sched/act_vlan.c
138
err = nla_parse_nested_deprecated(tb, TCA_VLAN_MAX, nla, vlan_policy,
net/sched/act_vlan.c
143
if (!tb[TCA_VLAN_PARMS])
net/sched/act_vlan.c
145
parm = nla_data(tb[TCA_VLAN_PARMS]);
net/sched/act_vlan.c
159
if (!tb[TCA_VLAN_PUSH_VLAN_ID]) {
net/sched/act_vlan.c
166
push_vid = nla_get_u16(tb[TCA_VLAN_PUSH_VLAN_ID]);
net/sched/act_vlan.c
175
if (tb[TCA_VLAN_PUSH_VLAN_PROTOCOL]) {
net/sched/act_vlan.c
176
push_proto = nla_get_be16(tb[TCA_VLAN_PUSH_VLAN_PROTOCOL]);
net/sched/act_vlan.c
192
push_prio_exists = !!tb[TCA_VLAN_PUSH_VLAN_PRIORITY];
net/sched/act_vlan.c
194
push_prio = nla_get_u8(tb[TCA_VLAN_PUSH_VLAN_PRIORITY]);
net/sched/act_vlan.c
199
if (!tb[TCA_VLAN_PUSH_ETH_DST] || !tb[TCA_VLAN_PUSH_ETH_SRC]) {
net/sched/act_vlan.c
249
nla_memcpy(&p->tcfv_push_dst, tb[TCA_VLAN_PUSH_ETH_DST],
net/sched/act_vlan.c
251
nla_memcpy(&p->tcfv_push_src, tb[TCA_VLAN_PUSH_ETH_SRC],
net/sched/cls_api.c
3392
int tcf_exts_validate_ex(struct net *net, struct tcf_proto *tp, struct nlattr **tb,
net/sched/cls_api.c
3402
if (exts->police && tb[exts->police]) {
net/sched/cls_api.c
3406
a_o = tc_action_load_ops(tb[exts->police], flags,
net/sched/cls_api.c
3410
act = tcf_action_init_1(net, tp, tb[exts->police],
net/sched/cls_api.c
3421
} else if (exts->action && tb[exts->action]) {
net/sched/cls_api.c
3425
err = tcf_action_init(net, tp, tb[exts->action],
net/sched/cls_api.c
3435
if ((exts->action && tb[exts->action]) ||
net/sched/cls_api.c
3436
(exts->police && tb[exts->police])) {
net/sched/cls_api.c
3446
int tcf_exts_validate(struct net *net, struct tcf_proto *tp, struct nlattr **tb,
net/sched/cls_api.c
3450
return tcf_exts_validate_ex(net, tp, tb, rate_tlv, exts,
net/sched/cls_basic.c
149
struct nlattr **tb,
net/sched/cls_basic.c
155
err = tcf_exts_validate(net, tp, tb, est, &f->exts, flags, extack);
net/sched/cls_basic.c
159
err = tcf_em_tree_validate(tp, tb[TCA_BASIC_EMATCHES], &f->ematches);
net/sched/cls_basic.c
163
if (tb[TCA_BASIC_CLASSID]) {
net/sched/cls_basic.c
164
f->res.classid = nla_get_u32(tb[TCA_BASIC_CLASSID]);
net/sched/cls_basic.c
179
struct nlattr *tb[TCA_BASIC_MAX + 1];
net/sched/cls_basic.c
186
err = nla_parse_nested_deprecated(tb, TCA_BASIC_MAX, tca[TCA_OPTIONS],
net/sched/cls_basic.c
221
err = basic_set_parms(net, tp, fnew, base, tb, tca[TCA_RATE], flags,
net/sched/cls_bpf.c
339
static int cls_bpf_prog_from_ops(struct nlattr **tb, struct cls_bpf_prog *prog)
net/sched/cls_bpf.c
347
bpf_num_ops = nla_get_u16(tb[TCA_BPF_OPS_LEN]);
net/sched/cls_bpf.c
352
if (bpf_size != nla_len(tb[TCA_BPF_OPS]))
net/sched/cls_bpf.c
355
bpf_ops = kmemdup(nla_data(tb[TCA_BPF_OPS]), bpf_size, GFP_KERNEL);
net/sched/cls_bpf.c
376
static int cls_bpf_prog_from_efd(struct nlattr **tb, struct cls_bpf_prog *prog,
net/sched/cls_bpf.c
384
bpf_fd = nla_get_u32(tb[TCA_BPF_FD]);
net/sched/cls_bpf.c
391
if (tb[TCA_BPF_NAME]) {
net/sched/cls_bpf.c
392
name = nla_memdup(tb[TCA_BPF_NAME], GFP_KERNEL);
net/sched/cls_bpf.c
418
struct nlattr *tb[TCA_BPF_MAX + 1];
net/sched/cls_bpf.c
427
ret = nla_parse_nested_deprecated(tb, TCA_BPF_MAX, tca[TCA_OPTIONS],
net/sched/cls_bpf.c
460
is_bpf = tb[TCA_BPF_OPS_LEN] && tb[TCA_BPF_OPS];
net/sched/cls_bpf.c
461
is_ebpf = tb[TCA_BPF_FD];
net/sched/cls_bpf.c
467
ret = tcf_exts_validate(net, tp, tb, tca[TCA_RATE], &prog->exts,
net/sched/cls_bpf.c
472
if (tb[TCA_BPF_FLAGS]) {
net/sched/cls_bpf.c
473
u32 bpf_flags = nla_get_u32(tb[TCA_BPF_FLAGS]);
net/sched/cls_bpf.c
482
if (tb[TCA_BPF_FLAGS_GEN]) {
net/sched/cls_bpf.c
483
gen_flags = nla_get_u32(tb[TCA_BPF_FLAGS_GEN]);
net/sched/cls_bpf.c
494
ret = is_bpf ? cls_bpf_prog_from_ops(tb, prog) :
net/sched/cls_bpf.c
495
cls_bpf_prog_from_efd(tb, prog, gen_flags, tp);
net/sched/cls_bpf.c
499
if (tb[TCA_BPF_CLASSID]) {
net/sched/cls_bpf.c
500
prog->res.classid = nla_get_u32(tb[TCA_BPF_CLASSID]);
net/sched/cls_cgroup.c
107
err = nla_parse_nested_deprecated(tb, TCA_CGROUP_MAX,
net/sched/cls_cgroup.c
113
err = tcf_exts_validate(net, tp, tb, tca[TCA_RATE], &new->exts, flags,
net/sched/cls_cgroup.c
118
err = tcf_em_tree_validate(tp, tb[TCA_CGROUP_EMATCHES], &new->ematches);
net/sched/cls_cgroup.c
84
struct nlattr *tb[TCA_CGROUP_MAX + 1];
net/sched/cls_flow.c
404
struct nlattr *tb[TCA_FLOW_MAX + 1];
net/sched/cls_flow.c
415
err = nla_parse_nested_deprecated(tb, TCA_FLOW_MAX, opt, flow_policy,
net/sched/cls_flow.c
420
if (tb[TCA_FLOW_BASECLASS]) {
net/sched/cls_flow.c
421
baseclass = nla_get_u32(tb[TCA_FLOW_BASECLASS]);
net/sched/cls_flow.c
426
if (tb[TCA_FLOW_KEYS]) {
net/sched/cls_flow.c
427
keymask = nla_get_u32(tb[TCA_FLOW_KEYS]);
net/sched/cls_flow.c
445
err = tcf_em_tree_validate(tp, tb[TCA_FLOW_EMATCHES], &fnew->ematches);
net/sched/cls_flow.c
453
err = tcf_exts_validate(net, tp, tb, tca[TCA_RATE], &fnew->exts, flags,
net/sched/cls_flow.c
479
if (tb[TCA_FLOW_MODE])
net/sched/cls_flow.c
480
mode = nla_get_u32(tb[TCA_FLOW_MODE]);
net/sched/cls_flow.c
486
if (tb[TCA_FLOW_PERTURB]) {
net/sched/cls_flow.c
489
perturb_period = nla_get_u32(tb[TCA_FLOW_PERTURB]) * HZ;
net/sched/cls_flow.c
495
if (!tb[TCA_FLOW_KEYS])
net/sched/cls_flow.c
499
if (tb[TCA_FLOW_MODE])
net/sched/cls_flow.c
500
mode = nla_get_u32(tb[TCA_FLOW_MODE]);
net/sched/cls_flow.c
504
if (tb[TCA_FLOW_PERTURB]) {
net/sched/cls_flow.c
507
perturb_period = nla_get_u32(tb[TCA_FLOW_PERTURB]) * HZ;
net/sched/cls_flow.c
536
if (tb[TCA_FLOW_KEYS]) {
net/sched/cls_flow.c
543
if (tb[TCA_FLOW_MASK])
net/sched/cls_flow.c
544
fnew->mask = nla_get_u32(tb[TCA_FLOW_MASK]);
net/sched/cls_flow.c
545
if (tb[TCA_FLOW_XOR])
net/sched/cls_flow.c
546
fnew->xor = nla_get_u32(tb[TCA_FLOW_XOR]);
net/sched/cls_flow.c
547
if (tb[TCA_FLOW_RSHIFT])
net/sched/cls_flow.c
548
fnew->rshift = nla_get_u32(tb[TCA_FLOW_RSHIFT]);
net/sched/cls_flow.c
549
if (tb[TCA_FLOW_ADDEND])
net/sched/cls_flow.c
550
fnew->addend = nla_get_u32(tb[TCA_FLOW_ADDEND]);
net/sched/cls_flow.c
552
if (tb[TCA_FLOW_DIVISOR])
net/sched/cls_flow.c
553
fnew->divisor = nla_get_u32(tb[TCA_FLOW_DIVISOR]);
net/sched/cls_flower.c
1007
static int fl_set_key_mpls(struct nlattr **tb,
net/sched/cls_flower.c
1015
if (tb[TCA_FLOWER_KEY_MPLS_OPTS]) {
net/sched/cls_flower.c
1016
if (tb[TCA_FLOWER_KEY_MPLS_TTL] ||
net/sched/cls_flower.c
1017
tb[TCA_FLOWER_KEY_MPLS_BOS] ||
net/sched/cls_flower.c
1018
tb[TCA_FLOWER_KEY_MPLS_TC] ||
net/sched/cls_flower.c
1019
tb[TCA_FLOWER_KEY_MPLS_LABEL]) {
net/sched/cls_flower.c
1021
tb[TCA_FLOWER_KEY_MPLS_OPTS],
net/sched/cls_flower.c
1026
return fl_set_key_mpls_opts(tb[TCA_FLOWER_KEY_MPLS_OPTS],
net/sched/cls_flower.c
1033
if (tb[TCA_FLOWER_KEY_MPLS_TTL]) {
net/sched/cls_flower.c
1034
lse_val->mpls_ttl = nla_get_u8(tb[TCA_FLOWER_KEY_MPLS_TTL]);
net/sched/cls_flower.c
1039
if (tb[TCA_FLOWER_KEY_MPLS_BOS]) {
net/sched/cls_flower.c
1040
u8 bos = nla_get_u8(tb[TCA_FLOWER_KEY_MPLS_BOS]);
net/sched/cls_flower.c
1044
tb[TCA_FLOWER_KEY_MPLS_BOS],
net/sched/cls_flower.c
1053
if (tb[TCA_FLOWER_KEY_MPLS_TC]) {
net/sched/cls_flower.c
1054
u8 tc = nla_get_u8(tb[TCA_FLOWER_KEY_MPLS_TC]);
net/sched/cls_flower.c
1058
tb[TCA_FLOWER_KEY_MPLS_TC],
net/sched/cls_flower.c
1067
if (tb[TCA_FLOWER_KEY_MPLS_LABEL]) {
net/sched/cls_flower.c
1068
u32 label = nla_get_u32(tb[TCA_FLOWER_KEY_MPLS_LABEL]);
net/sched/cls_flower.c
1072
tb[TCA_FLOWER_KEY_MPLS_LABEL],
net/sched/cls_flower.c
1084
static void fl_set_key_vlan(struct nlattr **tb,
net/sched/cls_flower.c
1093
if (tb[vlan_id_key]) {
net/sched/cls_flower.c
1095
nla_get_u16(tb[vlan_id_key]) & VLAN_VID_MASK;
net/sched/cls_flower.c
1098
if (tb[vlan_prio_key]) {
net/sched/cls_flower.c
1100
nla_get_u8(tb[vlan_prio_key]) &
net/sched/cls_flower.c
1108
if (tb[vlan_next_eth_type_key]) {
net/sched/cls_flower.c
1110
nla_get_be16(tb[vlan_next_eth_type_key]);
net/sched/cls_flower.c
1115
static void fl_set_key_pppoe(struct nlattr **tb,
net/sched/cls_flower.c
1130
if (tb[TCA_FLOWER_KEY_PPPOE_SID]) {
net/sched/cls_flower.c
1132
nla_get_be16(tb[TCA_FLOWER_KEY_PPPOE_SID]);
net/sched/cls_flower.c
1135
if (tb[TCA_FLOWER_KEY_PPP_PROTO]) {
net/sched/cls_flower.c
1137
nla_get_be16(tb[TCA_FLOWER_KEY_PPP_PROTO]);
net/sched/cls_flower.c
1170
static int fl_set_key_flags(struct nlattr *tca_opts, struct nlattr **tb,
net/sched/cls_flower.c
1186
if (NL_REQ_ATTR_CHECK(extack, tca_opts, tb, fl_mask)) {
net/sched/cls_flower.c
1191
key = be32_to_cpu(nla_get_be32(tb[fl_key]));
net/sched/cls_flower.c
1192
mask = be32_to_cpu(nla_get_be32(tb[fl_mask]));
net/sched/cls_flower.c
1221
static void fl_set_key_ip(struct nlattr **tb, bool encap,
net/sched/cls_flower.c
1230
fl_set_key_val(tb, &key->tos, tos_key, &mask->tos, tos_mask, sizeof(key->tos));
net/sched/cls_flower.c
1231
fl_set_key_val(tb, &key->ttl, ttl_key, &mask->ttl, ttl_mask, sizeof(key->ttl));
net/sched/cls_flower.c
1238
struct nlattr *tb[TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX + 1];
net/sched/cls_flower.c
1265
err = nla_parse_nested_deprecated(tb,
net/sched/cls_flower.c
1275
(!tb[TCA_FLOWER_KEY_ENC_OPT_GENEVE_CLASS] ||
net/sched/cls_flower.c
1276
!tb[TCA_FLOWER_KEY_ENC_OPT_GENEVE_TYPE] ||
net/sched/cls_flower.c
1277
!tb[TCA_FLOWER_KEY_ENC_OPT_GENEVE_DATA])) {
net/sched/cls_flower.c
1285
if (tb[TCA_FLOWER_KEY_ENC_OPT_GENEVE_DATA]) {
net/sched/cls_flower.c
1288
data = tb[TCA_FLOWER_KEY_ENC_OPT_GENEVE_DATA];
net/sched/cls_flower.c
1309
if (tb[TCA_FLOWER_KEY_ENC_OPT_GENEVE_CLASS]) {
net/sched/cls_flower.c
1310
class = tb[TCA_FLOWER_KEY_ENC_OPT_GENEVE_CLASS];
net/sched/cls_flower.c
1314
if (tb[TCA_FLOWER_KEY_ENC_OPT_GENEVE_TYPE]) {
net/sched/cls_flower.c
1315
type = tb[TCA_FLOWER_KEY_ENC_OPT_GENEVE_TYPE];
net/sched/cls_flower.c
1326
struct nlattr *tb[TCA_FLOWER_KEY_ENC_OPT_VXLAN_MAX + 1];
net/sched/cls_flower.c
1341
err = nla_parse_nested(tb, TCA_FLOWER_KEY_ENC_OPT_VXLAN_MAX, nla,
net/sched/cls_flower.c
1346
if (!option_len && !tb[TCA_FLOWER_KEY_ENC_OPT_VXLAN_GBP]) {
net/sched/cls_flower.c
1351
if (tb[TCA_FLOWER_KEY_ENC_OPT_VXLAN_GBP]) {
net/sched/cls_flower.c
1352
md->gbp = nla_get_u32(tb[TCA_FLOWER_KEY_ENC_OPT_VXLAN_GBP]);
net/sched/cls_flower.c
1363
struct nlattr *tb[TCA_FLOWER_KEY_ENC_OPT_ERSPAN_MAX + 1];
net/sched/cls_flower.c
1378
err = nla_parse_nested(tb, TCA_FLOWER_KEY_ENC_OPT_ERSPAN_MAX, nla,
net/sched/cls_flower.c
1383
if (!option_len && !tb[TCA_FLOWER_KEY_ENC_OPT_ERSPAN_VER]) {
net/sched/cls_flower.c
1388
if (tb[TCA_FLOWER_KEY_ENC_OPT_ERSPAN_VER])
net/sched/cls_flower.c
1389
md->version = nla_get_u8(tb[TCA_FLOWER_KEY_ENC_OPT_ERSPAN_VER]);
net/sched/cls_flower.c
1392
if (!option_len && !tb[TCA_FLOWER_KEY_ENC_OPT_ERSPAN_INDEX]) {
net/sched/cls_flower.c
1397
if (tb[TCA_FLOWER_KEY_ENC_OPT_ERSPAN_INDEX]) {
net/sched/cls_flower.c
1398
nla = tb[TCA_FLOWER_KEY_ENC_OPT_ERSPAN_INDEX];
net/sched/cls_flower.c
1402
if (!option_len && (!tb[TCA_FLOWER_KEY_ENC_OPT_ERSPAN_DIR] ||
net/sched/cls_flower.c
1403
!tb[TCA_FLOWER_KEY_ENC_OPT_ERSPAN_HWID])) {
net/sched/cls_flower.c
1408
if (tb[TCA_FLOWER_KEY_ENC_OPT_ERSPAN_DIR]) {
net/sched/cls_flower.c
1409
nla = tb[TCA_FLOWER_KEY_ENC_OPT_ERSPAN_DIR];
net/sched/cls_flower.c
1413
if (tb[TCA_FLOWER_KEY_ENC_OPT_ERSPAN_HWID]) {
net/sched/cls_flower.c
1414
nla = tb[TCA_FLOWER_KEY_ENC_OPT_ERSPAN_HWID];
net/sched/cls_flower.c
1429
struct nlattr *tb[TCA_FLOWER_KEY_ENC_OPT_GTP_MAX + 1];
net/sched/cls_flower.c
1445
err = nla_parse_nested(tb, TCA_FLOWER_KEY_ENC_OPT_GTP_MAX, nla,
net/sched/cls_flower.c
1451
(!tb[TCA_FLOWER_KEY_ENC_OPT_GTP_PDU_TYPE] ||
net/sched/cls_flower.c
1452
!tb[TCA_FLOWER_KEY_ENC_OPT_GTP_QFI])) {
net/sched/cls_flower.c
1458
if (tb[TCA_FLOWER_KEY_ENC_OPT_GTP_PDU_TYPE])
net/sched/cls_flower.c
1460
nla_get_u8(tb[TCA_FLOWER_KEY_ENC_OPT_GTP_PDU_TYPE]);
net/sched/cls_flower.c
1462
if (tb[TCA_FLOWER_KEY_ENC_OPT_GTP_QFI])
net/sched/cls_flower.c
1463
sinfo->qfi = nla_get_u8(tb[TCA_FLOWER_KEY_ENC_OPT_GTP_QFI]);
net/sched/cls_flower.c
1472
struct nlattr *tb[TCA_FLOWER_KEY_ENC_OPT_PFCP_MAX + 1];
net/sched/cls_flower.c
1487
err = nla_parse_nested(tb, TCA_FLOWER_KEY_ENC_OPT_PFCP_MAX, nla,
net/sched/cls_flower.c
1492
if (!option_len && !tb[TCA_FLOWER_KEY_ENC_OPT_PFCP_TYPE]) {
net/sched/cls_flower.c
1497
if (tb[TCA_FLOWER_KEY_ENC_OPT_PFCP_TYPE])
net/sched/cls_flower.c
1498
md->type = nla_get_u8(tb[TCA_FLOWER_KEY_ENC_OPT_PFCP_TYPE]);
net/sched/cls_flower.c
1500
if (tb[TCA_FLOWER_KEY_ENC_OPT_PFCP_SEID])
net/sched/cls_flower.c
1501
md->seid = nla_get_be64(tb[TCA_FLOWER_KEY_ENC_OPT_PFCP_SEID]);
net/sched/cls_flower.c
1506
static int fl_set_enc_opt(struct nlattr **tb, struct fl_flow_key *key,
net/sched/cls_flower.c
1513
err = nla_validate_nested_deprecated(tb[TCA_FLOWER_KEY_ENC_OPTS],
net/sched/cls_flower.c
1519
nla_enc_key = nla_data(tb[TCA_FLOWER_KEY_ENC_OPTS]);
net/sched/cls_flower.c
1521
if (tb[TCA_FLOWER_KEY_ENC_OPTS_MASK]) {
net/sched/cls_flower.c
1522
err = nla_validate_nested_deprecated(tb[TCA_FLOWER_KEY_ENC_OPTS_MASK],
net/sched/cls_flower.c
1528
nla_opt_msk = nla_data(tb[TCA_FLOWER_KEY_ENC_OPTS_MASK]);
net/sched/cls_flower.c
1529
msk_depth = nla_len(tb[TCA_FLOWER_KEY_ENC_OPTS_MASK]);
net/sched/cls_flower.c
1537
nla_len(tb[TCA_FLOWER_KEY_ENC_OPTS]), key_depth) {
net/sched/cls_flower.c
1711
static int fl_validate_ct_state(u16 state, struct nlattr *tb,
net/sched/cls_flower.c
1715
NL_SET_ERR_MSG_ATTR(extack, tb,
net/sched/cls_flower.c
1722
NL_SET_ERR_MSG_ATTR(extack, tb,
net/sched/cls_flower.c
1730
NL_SET_ERR_MSG_ATTR(extack, tb,
net/sched/cls_flower.c
1737
NL_SET_ERR_MSG_ATTR(extack, tb,
net/sched/cls_flower.c
1745
static int fl_set_key_ct(struct nlattr **tb,
net/sched/cls_flower.c
1750
if (tb[TCA_FLOWER_KEY_CT_STATE]) {
net/sched/cls_flower.c
1757
fl_set_key_val(tb, &key->ct_state, TCA_FLOWER_KEY_CT_STATE,
net/sched/cls_flower.c
1762
tb[TCA_FLOWER_KEY_CT_STATE_MASK],
net/sched/cls_flower.c
1768
if (tb[TCA_FLOWER_KEY_CT_ZONE]) {
net/sched/cls_flower.c
1773
fl_set_key_val(tb, &key->ct_zone, TCA_FLOWER_KEY_CT_ZONE,
net/sched/cls_flower.c
1777
if (tb[TCA_FLOWER_KEY_CT_MARK]) {
net/sched/cls_flower.c
1782
fl_set_key_val(tb, &key->ct_mark, TCA_FLOWER_KEY_CT_MARK,
net/sched/cls_flower.c
1786
if (tb[TCA_FLOWER_KEY_CT_LABELS]) {
net/sched/cls_flower.c
1791
fl_set_key_val(tb, key->ct_labels, TCA_FLOWER_KEY_CT_LABELS,
net/sched/cls_flower.c
1799
static bool is_vlan_key(struct nlattr *tb, __be16 *ethertype,
net/sched/cls_flower.c
1805
if (!tb) {
net/sched/cls_flower.c
1810
*ethertype = nla_get_be16(tb);
net/sched/cls_flower.c
1819
static void fl_set_key_cfm_md_level(struct nlattr **tb,
net/sched/cls_flower.c
1826
if (!tb[TCA_FLOWER_KEY_CFM_MD_LEVEL])
net/sched/cls_flower.c
1829
level = nla_get_u8(tb[TCA_FLOWER_KEY_CFM_MD_LEVEL]);
net/sched/cls_flower.c
1834
static void fl_set_key_cfm_opcode(struct nlattr **tb,
net/sched/cls_flower.c
1839
fl_set_key_val(tb, &key->cfm.opcode, TCA_FLOWER_KEY_CFM_OPCODE,
net/sched/cls_flower.c
1844
static int fl_set_key_cfm(struct nlattr **tb,
net/sched/cls_flower.c
1852
if (!tb[TCA_FLOWER_KEY_CFM])
net/sched/cls_flower.c
1856
tb[TCA_FLOWER_KEY_CFM], cfm_opt_policy, extack);
net/sched/cls_flower.c
1867
struct nlattr **tb, struct fl_flow_key *key,
net/sched/cls_flower.c
1873
if (tb[TCA_FLOWER_INDEV]) {
net/sched/cls_flower.c
1874
int err = tcf_change_indev(net, tb[TCA_FLOWER_INDEV], extack);
net/sched/cls_flower.c
1881
fl_set_key_val(tb, &key->meta.l2_miss, TCA_FLOWER_L2_MISS,
net/sched/cls_flower.c
1885
fl_set_key_val(tb, key->eth.dst, TCA_FLOWER_KEY_ETH_DST,
net/sched/cls_flower.c
1888
fl_set_key_val(tb, key->eth.src, TCA_FLOWER_KEY_ETH_SRC,
net/sched/cls_flower.c
1891
fl_set_key_val(tb, &key->num_of_vlans,
net/sched/cls_flower.c
1897
if (is_vlan_key(tb[TCA_FLOWER_KEY_ETH_TYPE], ðertype, key, mask, 0)) {
net/sched/cls_flower.c
1898
fl_set_key_vlan(tb, ethertype, TCA_FLOWER_KEY_VLAN_ID,
net/sched/cls_flower.c
1903
if (is_vlan_key(tb[TCA_FLOWER_KEY_VLAN_ETH_TYPE],
net/sched/cls_flower.c
1905
fl_set_key_vlan(tb, ethertype,
net/sched/cls_flower.c
1910
fl_set_key_val(tb, &key->basic.n_proto,
net/sched/cls_flower.c
1919
fl_set_key_pppoe(tb, &key->pppoe, &mask->pppoe, key, mask);
net/sched/cls_flower.c
1923
fl_set_key_val(tb, &key->basic.ip_proto, TCA_FLOWER_KEY_IP_PROTO,
net/sched/cls_flower.c
1926
fl_set_key_ip(tb, false, &key->ip, &mask->ip);
net/sched/cls_flower.c
1929
if (tb[TCA_FLOWER_KEY_IPV4_SRC] || tb[TCA_FLOWER_KEY_IPV4_DST]) {
net/sched/cls_flower.c
1932
fl_set_key_val(tb, &key->ipv4.src, TCA_FLOWER_KEY_IPV4_SRC,
net/sched/cls_flower.c
1935
fl_set_key_val(tb, &key->ipv4.dst, TCA_FLOWER_KEY_IPV4_DST,
net/sched/cls_flower.c
1938
} else if (tb[TCA_FLOWER_KEY_IPV6_SRC] || tb[TCA_FLOWER_KEY_IPV6_DST]) {
net/sched/cls_flower.c
1941
fl_set_key_val(tb, &key->ipv6.src, TCA_FLOWER_KEY_IPV6_SRC,
net/sched/cls_flower.c
1944
fl_set_key_val(tb, &key->ipv6.dst, TCA_FLOWER_KEY_IPV6_DST,
net/sched/cls_flower.c
1950
fl_set_key_val(tb, &key->tp.src, TCA_FLOWER_KEY_TCP_SRC,
net/sched/cls_flower.c
1953
fl_set_key_val(tb, &key->tp.dst, TCA_FLOWER_KEY_TCP_DST,
net/sched/cls_flower.c
1956
fl_set_key_val(tb, &key->tcp.flags, TCA_FLOWER_KEY_TCP_FLAGS,
net/sched/cls_flower.c
1960
fl_set_key_val(tb, &key->tp.src, TCA_FLOWER_KEY_UDP_SRC,
net/sched/cls_flower.c
1963
fl_set_key_val(tb, &key->tp.dst, TCA_FLOWER_KEY_UDP_DST,
net/sched/cls_flower.c
1967
fl_set_key_val(tb, &key->tp.src, TCA_FLOWER_KEY_SCTP_SRC,
net/sched/cls_flower.c
1970
fl_set_key_val(tb, &key->tp.dst, TCA_FLOWER_KEY_SCTP_DST,
net/sched/cls_flower.c
1975
fl_set_key_val(tb, &key->icmp.type, TCA_FLOWER_KEY_ICMPV4_TYPE,
net/sched/cls_flower.c
1979
fl_set_key_val(tb, &key->icmp.code, TCA_FLOWER_KEY_ICMPV4_CODE,
net/sched/cls_flower.c
1985
fl_set_key_val(tb, &key->icmp.type, TCA_FLOWER_KEY_ICMPV6_TYPE,
net/sched/cls_flower.c
1989
fl_set_key_val(tb, &key->icmp.code, TCA_FLOWER_KEY_ICMPV6_CODE,
net/sched/cls_flower.c
1995
ret = fl_set_key_mpls(tb, &key->mpls, &mask->mpls, extack);
net/sched/cls_flower.c
2000
fl_set_key_val(tb, &key->arp.sip, TCA_FLOWER_KEY_ARP_SIP,
net/sched/cls_flower.c
2003
fl_set_key_val(tb, &key->arp.tip, TCA_FLOWER_KEY_ARP_TIP,
net/sched/cls_flower.c
2006
fl_set_key_val(tb, &key->arp.op, TCA_FLOWER_KEY_ARP_OP,
net/sched/cls_flower.c
2009
fl_set_key_val(tb, key->arp.sha, TCA_FLOWER_KEY_ARP_SHA,
net/sched/cls_flower.c
2012
fl_set_key_val(tb, key->arp.tha, TCA_FLOWER_KEY_ARP_THA,
net/sched/cls_flower.c
2016
fl_set_key_val(tb, &key->l2tpv3.session_id,
net/sched/cls_flower.c
2021
ret = fl_set_key_cfm(tb, key, mask, extack);
net/sched/cls_flower.c
2029
ret = fl_set_key_port_range(tb, key, mask, extack);
net/sched/cls_flower.c
2034
if (tb[TCA_FLOWER_KEY_SPI]) {
net/sched/cls_flower.c
2035
ret = fl_set_key_spi(tb, key, mask, extack);
net/sched/cls_flower.c
2040
if (tb[TCA_FLOWER_KEY_ENC_IPV4_SRC] ||
net/sched/cls_flower.c
2041
tb[TCA_FLOWER_KEY_ENC_IPV4_DST]) {
net/sched/cls_flower.c
2044
fl_set_key_val(tb, &key->enc_ipv4.src,
net/sched/cls_flower.c
2049
fl_set_key_val(tb, &key->enc_ipv4.dst,
net/sched/cls_flower.c
2056
if (tb[TCA_FLOWER_KEY_ENC_IPV6_SRC] ||
net/sched/cls_flower.c
2057
tb[TCA_FLOWER_KEY_ENC_IPV6_DST]) {
net/sched/cls_flower.c
2060
fl_set_key_val(tb, &key->enc_ipv6.src,
net/sched/cls_flower.c
2065
fl_set_key_val(tb, &key->enc_ipv6.dst,
net/sched/cls_flower.c
2072
fl_set_key_val(tb, &key->enc_key_id.keyid, TCA_FLOWER_KEY_ENC_KEY_ID,
net/sched/cls_flower.c
2076
fl_set_key_val(tb, &key->enc_tp.src, TCA_FLOWER_KEY_ENC_UDP_SRC_PORT,
net/sched/cls_flower.c
2080
fl_set_key_val(tb, &key->enc_tp.dst, TCA_FLOWER_KEY_ENC_UDP_DST_PORT,
net/sched/cls_flower.c
2084
fl_set_key_ip(tb, true, &key->enc_ip, &mask->enc_ip);
net/sched/cls_flower.c
2086
fl_set_key_val(tb, &key->hash.hash, TCA_FLOWER_KEY_HASH,
net/sched/cls_flower.c
2090
if (tb[TCA_FLOWER_KEY_ENC_OPTS]) {
net/sched/cls_flower.c
2091
ret = fl_set_enc_opt(tb, key, mask, extack);
net/sched/cls_flower.c
2096
ret = fl_set_key_ct(tb, &key->ct, &mask->ct, extack);
net/sched/cls_flower.c
2100
if (tb[TCA_FLOWER_KEY_FLAGS]) {
net/sched/cls_flower.c
2101
ret = fl_set_key_flags(tca_opts, tb, false,
net/sched/cls_flower.c
2108
if (tb[TCA_FLOWER_KEY_ENC_FLAGS])
net/sched/cls_flower.c
2109
ret = fl_set_key_flags(tca_opts, tb, true,
net/sched/cls_flower.c
2366
struct nlattr **tb;
net/sched/cls_flower.c
2381
tb = kzalloc_objs(struct nlattr *, TCA_FLOWER_MAX + 1);
net/sched/cls_flower.c
2382
if (!tb) {
net/sched/cls_flower.c
2387
err = nla_parse_nested_deprecated(tb, TCA_FLOWER_MAX,
net/sched/cls_flower.c
2405
if (tb[TCA_FLOWER_FLAGS]) {
net/sched/cls_flower.c
2406
fnew->flags = nla_get_u32(tb[TCA_FLOWER_FLAGS]);
net/sched/cls_flower.c
2448
err = tcf_exts_validate_ex(net, tp, tb, tca[TCA_RATE],
net/sched/cls_flower.c
2454
if (tb[TCA_FLOWER_CLASSID]) {
net/sched/cls_flower.c
2455
fnew->res.classid = nla_get_u32(tb[TCA_FLOWER_CLASSID]);
net/sched/cls_flower.c
2464
err = fl_set_key(net, tca_opts, tb, &fnew->key, &mask->key, extack);
net/sched/cls_flower.c
2564
kfree(tb);
net/sched/cls_flower.c
2598
kfree(tb);
net/sched/cls_flower.c
2808
struct nlattr **tb;
net/sched/cls_flower.c
2814
tb = kzalloc_objs(struct nlattr *, TCA_FLOWER_MAX + 1);
net/sched/cls_flower.c
2815
if (!tb)
net/sched/cls_flower.c
2817
err = nla_parse_nested_deprecated(tb, TCA_FLOWER_MAX,
net/sched/cls_flower.c
2828
err = fl_set_key(net, tca_opts, tb, &tmplt->dummy_key,
net/sched/cls_flower.c
2839
kfree(tb);
net/sched/cls_flower.c
2845
kfree(tb);
net/sched/cls_flower.c
809
static void fl_set_key_val(struct nlattr **tb,
net/sched/cls_flower.c
813
if (!tb[val_type])
net/sched/cls_flower.c
815
nla_memcpy(val, tb[val_type], len);
net/sched/cls_flower.c
816
if (mask_type == TCA_FLOWER_UNSPEC || !tb[mask_type])
net/sched/cls_flower.c
819
nla_memcpy(mask, tb[mask_type], len);
net/sched/cls_flower.c
822
static int fl_set_key_spi(struct nlattr **tb, struct fl_flow_key *key,
net/sched/cls_flower.c
833
fl_set_key_val(tb, &key->ipsec.spi,
net/sched/cls_flower.c
840
static int fl_set_key_port_range(struct nlattr **tb, struct fl_flow_key *key,
net/sched/cls_flower.c
844
fl_set_key_val(tb, &key->tp_range.tp_min.dst,
net/sched/cls_flower.c
847
fl_set_key_val(tb, &key->tp_range.tp_max.dst,
net/sched/cls_flower.c
850
fl_set_key_val(tb, &key->tp_range.tp_min.src,
net/sched/cls_flower.c
853
fl_set_key_val(tb, &key->tp_range.tp_max.src,
net/sched/cls_flower.c
871
tb[TCA_FLOWER_KEY_PORT_DST_MIN],
net/sched/cls_flower.c
879
tb[TCA_FLOWER_KEY_PORT_SRC_MIN],
net/sched/cls_flower.c
892
struct nlattr *tb[TCA_FLOWER_KEY_MPLS_OPT_LSE_MAX + 1];
net/sched/cls_flower.c
899
err = nla_parse_nested(tb, TCA_FLOWER_KEY_MPLS_OPT_LSE_MAX, nla_lse,
net/sched/cls_flower.c
904
if (!tb[TCA_FLOWER_KEY_MPLS_OPT_LSE_DEPTH]) {
net/sched/cls_flower.c
909
depth = nla_get_u8(tb[TCA_FLOWER_KEY_MPLS_OPT_LSE_DEPTH]);
net/sched/cls_flower.c
916
tb[TCA_FLOWER_KEY_MPLS_OPT_LSE_DEPTH],
net/sched/cls_flower.c
928
if (tb[TCA_FLOWER_KEY_MPLS_OPT_LSE_TTL]) {
net/sched/cls_flower.c
929
lse_val->mpls_ttl = nla_get_u8(tb[TCA_FLOWER_KEY_MPLS_OPT_LSE_TTL]);
net/sched/cls_flower.c
932
if (tb[TCA_FLOWER_KEY_MPLS_OPT_LSE_BOS]) {
net/sched/cls_flower.c
933
u8 bos = nla_get_u8(tb[TCA_FLOWER_KEY_MPLS_OPT_LSE_BOS]);
net/sched/cls_flower.c
937
tb[TCA_FLOWER_KEY_MPLS_OPT_LSE_BOS],
net/sched/cls_flower.c
944
if (tb[TCA_FLOWER_KEY_MPLS_OPT_LSE_TC]) {
net/sched/cls_flower.c
945
u8 tc = nla_get_u8(tb[TCA_FLOWER_KEY_MPLS_OPT_LSE_TC]);
net/sched/cls_flower.c
949
tb[TCA_FLOWER_KEY_MPLS_OPT_LSE_TC],
net/sched/cls_flower.c
956
if (tb[TCA_FLOWER_KEY_MPLS_OPT_LSE_LABEL]) {
net/sched/cls_flower.c
957
u32 label = nla_get_u32(tb[TCA_FLOWER_KEY_MPLS_OPT_LSE_LABEL]);
net/sched/cls_flower.c
961
tb[TCA_FLOWER_KEY_MPLS_OPT_LSE_LABEL],
net/sched/cls_fw.c
206
struct fw_filter *f, struct nlattr **tb,
net/sched/cls_fw.c
214
err = tcf_exts_validate(net, tp, tb, tca[TCA_RATE], &f->exts, flags,
net/sched/cls_fw.c
219
if (tb[TCA_FW_INDEV]) {
net/sched/cls_fw.c
221
ret = tcf_change_indev(net, tb[TCA_FW_INDEV], extack);
net/sched/cls_fw.c
228
if (tb[TCA_FW_MASK]) {
net/sched/cls_fw.c
229
mask = nla_get_u32(tb[TCA_FW_MASK]);
net/sched/cls_fw.c
235
if (tb[TCA_FW_CLASSID]) {
net/sched/cls_fw.c
236
f->res.classid = nla_get_u32(tb[TCA_FW_CLASSID]);
net/sched/cls_fw.c
251
struct nlattr *tb[TCA_FW_MAX + 1];
net/sched/cls_fw.c
267
err = nla_parse_nested_deprecated(tb, TCA_FW_MAX, opt, fw_policy,
net/sched/cls_fw.c
294
err = fw_set_parms(net, tp, fnew, tb, tca, base, flags, extack);
net/sched/cls_fw.c
322
if (tb[TCA_FW_MASK])
net/sched/cls_fw.c
323
mask = nla_get_u32(tb[TCA_FW_MASK]);
net/sched/cls_fw.c
343
err = fw_set_parms(net, tp, f, tb, tca, base, flags, extack);
net/sched/cls_matchall.c
169
struct nlattr *tb[TCA_MATCHALL_MAX + 1];
net/sched/cls_matchall.c
181
err = nla_parse_nested_deprecated(tb, TCA_MATCHALL_MAX,
net/sched/cls_matchall.c
186
if (tb[TCA_MATCHALL_FLAGS]) {
net/sched/cls_matchall.c
187
userflags = nla_get_u32(tb[TCA_MATCHALL_FLAGS]);
net/sched/cls_matchall.c
210
err = tcf_exts_validate_ex(net, tp, tb, tca[TCA_RATE],
net/sched/cls_matchall.c
215
if (tb[TCA_MATCHALL_CLASSID]) {
net/sched/cls_matchall.c
216
new->res.classid = nla_get_u32(tb[TCA_MATCHALL_CLASSID]);
net/sched/cls_route.c
386
struct nlattr **tb, struct nlattr *est, int new,
net/sched/cls_route.c
395
err = tcf_exts_validate(net, tp, tb, est, &f->exts, flags, extack);
net/sched/cls_route.c
399
if (tb[TCA_ROUTE4_TO]) {
net/sched/cls_route.c
404
to = nla_get_u32(tb[TCA_ROUTE4_TO]);
net/sched/cls_route.c
408
if (tb[TCA_ROUTE4_FROM] && tb[TCA_ROUTE4_IIF]) {
net/sched/cls_route.c
409
NL_SET_ERR_MSG_ATTR(extack, tb[TCA_ROUTE4_FROM],
net/sched/cls_route.c
414
if (tb[TCA_ROUTE4_FROM]) {
net/sched/cls_route.c
415
id = nla_get_u32(tb[TCA_ROUTE4_FROM]);
net/sched/cls_route.c
417
} else if (tb[TCA_ROUTE4_IIF]) {
net/sched/cls_route.c
418
id = nla_get_u32(tb[TCA_ROUTE4_IIF]);
net/sched/cls_route.c
456
if (tb[TCA_ROUTE4_TO])
net/sched/cls_route.c
459
if (tb[TCA_ROUTE4_FROM])
net/sched/cls_route.c
461
else if (tb[TCA_ROUTE4_IIF])
net/sched/cls_route.c
468
if (tb[TCA_ROUTE4_CLASSID]) {
net/sched/cls_route.c
469
f->res.classid = nla_get_u32(tb[TCA_ROUTE4_CLASSID]);
net/sched/cls_route.c
485
struct nlattr *tb[TCA_ROUTE4_MAX + 1];
net/sched/cls_route.c
500
err = nla_parse_nested_deprecated(tb, TCA_ROUTE4_MAX, tca[TCA_OPTIONS],
net/sched/cls_route.c
528
err = route4_set_parms(net, tp, base, f, handle, head, tb,
net/sched/cls_u32.c
1018
if (tb[TCA_U32_HASH]) {
net/sched/cls_u32.c
1019
htid = nla_get_u32(tb[TCA_U32_HASH]);
net/sched/cls_u32.c
1097
if (tb[TCA_U32_SEL] == NULL) {
net/sched/cls_u32.c
1103
s = nla_data(tb[TCA_U32_SEL]);
net/sched/cls_u32.c
1105
if (nla_len(tb[TCA_U32_SEL]) < sel_size) {
net/sched/cls_u32.c
1153
if (tb[TCA_U32_MARK]) {
net/sched/cls_u32.c
1156
mark = nla_data(tb[TCA_U32_MARK]);
net/sched/cls_u32.c
1162
err = u32_set_parms(net, tp, n, tb, tca[TCA_RATE],
net/sched/cls_u32.c
1165
u32_bind_filter(tp, n, base, tb);
net/sched/cls_u32.c
1194
u32_unbind_filter(tp, n, tb);
net/sched/cls_u32.c
725
struct nlattr **tb)
net/sched/cls_u32.c
727
if (tb[TCA_U32_CLASSID])
net/sched/cls_u32.c
732
unsigned long base, struct nlattr **tb)
net/sched/cls_u32.c
734
if (tb[TCA_U32_CLASSID]) {
net/sched/cls_u32.c
735
n->res.classid = nla_get_u32(tb[TCA_U32_CLASSID]);
net/sched/cls_u32.c
741
struct tc_u_knode *n, struct nlattr **tb,
net/sched/cls_u32.c
747
err = tcf_exts_validate_ex(net, tp, tb, est, &n->exts, flags,
net/sched/cls_u32.c
752
if (tb[TCA_U32_INDEV]) {
net/sched/cls_u32.c
753
ifindex = tcf_change_indev(net, tb[TCA_U32_INDEV], extack);
net/sched/cls_u32.c
758
if (tb[TCA_U32_LINK]) {
net/sched/cls_u32.c
759
u32 handle = nla_get_u32(tb[TCA_U32_LINK]);
net/sched/cls_u32.c
882
struct nlattr *tb[TCA_U32_MAX + 1];
net/sched/cls_u32.c
896
err = nla_parse_nested_deprecated(tb, TCA_U32_MAX, opt, u32_policy,
net/sched/cls_u32.c
901
if (tb[TCA_U32_FLAGS]) {
net/sched/cls_u32.c
902
userflags = nla_get_u32(tb[TCA_U32_FLAGS]);
net/sched/cls_u32.c
928
err = u32_set_parms(net, tp, new, tb, tca[TCA_RATE],
net/sched/cls_u32.c
936
u32_bind_filter(tp, new, base, tb);
net/sched/cls_u32.c
940
u32_unbind_filter(tp, new, tb);
net/sched/cls_u32.c
942
if (tb[TCA_U32_LINK]) {
net/sched/cls_u32.c
965
if (tb[TCA_U32_DIVISOR]) {
net/sched/cls_u32.c
966
unsigned int divisor = nla_get_u32(tb[TCA_U32_DIVISOR]);
net/sched/em_ipt.c
104
mname_attr = tb[TCA_EM_IPT_MATCH_NAME];
net/sched/em_ipt.c
115
if (tb[TCA_EM_IPT_MATCH_REVISION])
net/sched/em_ipt.c
116
mrev = nla_get_u8(tb[TCA_EM_IPT_MATCH_REVISION]);
net/sched/em_ipt.c
118
ret = m->validate_match_data(tb, mrev);
net/sched/em_ipt.c
122
nfproto = nla_get_u8(tb[TCA_EM_IPT_NFPROTO]);
net/sched/em_ipt.c
129
struct nlattr *tb[TCA_EM_IPT_MAX + 1];
net/sched/em_ipt.c
135
ret = nla_parse_deprecated(tb, TCA_EM_IPT_MAX, data, data_len,
net/sched/em_ipt.c
140
if (!tb[TCA_EM_IPT_HOOK] || !tb[TCA_EM_IPT_MATCH_NAME] ||
net/sched/em_ipt.c
141
!tb[TCA_EM_IPT_MATCH_DATA] || !tb[TCA_EM_IPT_NFPROTO])
net/sched/em_ipt.c
144
nfproto = nla_get_u8(tb[TCA_EM_IPT_NFPROTO]);
net/sched/em_ipt.c
153
match = get_xt_match(tb);
net/sched/em_ipt.c
159
mdata_len = XT_ALIGN(nla_len(tb[TCA_EM_IPT_MATCH_DATA]));
net/sched/em_ipt.c
167
im->hook = nla_get_u32(tb[TCA_EM_IPT_HOOK]);
net/sched/em_ipt.c
169
nla_memcpy(im->match_data, tb[TCA_EM_IPT_MATCH_DATA], mdata_len);
net/sched/em_ipt.c
30
int (*validate_match_data)(struct nlattr **tb, u8 mrev);
net/sched/em_ipt.c
60
static int policy_validate_match_data(struct nlattr **tb, u8 mrev)
net/sched/em_ipt.c
67
if (nla_get_u32(tb[TCA_EM_IPT_HOOK]) != NF_INET_PRE_ROUTING) {
net/sched/em_ipt.c
75
static int addrtype_validate_match_data(struct nlattr **tb, u8 mrev)
net/sched/em_ipt.c
97
static struct xt_match *get_xt_match(struct nlattr **tb)
net/sched/em_meta.c
910
struct nlattr *tb[TCA_EM_META_MAX + 1];
net/sched/em_meta.c
914
err = nla_parse_deprecated(tb, TCA_EM_META_MAX, data, len,
net/sched/em_meta.c
920
if (tb[TCA_EM_META_HDR] == NULL)
net/sched/em_meta.c
922
hdr = nla_data(tb[TCA_EM_META_HDR]);
net/sched/em_meta.c
945
if (meta_change_data(&meta->lvalue, tb[TCA_EM_META_LVALUE]) < 0 ||
net/sched/em_meta.c
946
meta_change_data(&meta->rvalue, tb[TCA_EM_META_RVALUE]) < 0)
net/sched/ematch.c
309
struct nlattr *tb[TCA_EMATCH_TREE_MAX + 1];
net/sched/ematch.c
318
err = nla_parse_nested_deprecated(tb, TCA_EMATCH_TREE_MAX, nla,
net/sched/ematch.c
324
rt_hdr = tb[TCA_EMATCH_TREE_HDR];
net/sched/ematch.c
325
rt_list = tb[TCA_EMATCH_TREE_LIST];
net/sched/sch_api.c
499
struct nlattr *tb[TCA_STAB_MAX + 1];
net/sched/sch_api.c
506
err = nla_parse_nested_deprecated(tb, TCA_STAB_MAX, opt, stab_policy,
net/sched/sch_api.c
510
if (!tb[TCA_STAB_BASE]) {
net/sched/sch_api.c
515
s = nla_data(tb[TCA_STAB_BASE]);
net/sched/sch_api.c
518
if (!tb[TCA_STAB_DATA]) {
net/sched/sch_api.c
522
tab = nla_data(tb[TCA_STAB_DATA]);
net/sched/sch_api.c
523
tsize = nla_len(tb[TCA_STAB_DATA]) / sizeof(u16);
net/sched/sch_cake.c
2653
struct nlattr *tb[TCA_CAKE_MAX + 1];
net/sched/sch_cake.c
2658
err = nla_parse_nested_deprecated(tb, TCA_CAKE_MAX, opt, cake_policy,
net/sched/sch_cake.c
2663
if (tb[TCA_CAKE_NAT]) {
net/sched/sch_cake.c
2667
!!nla_get_u32(tb[TCA_CAKE_NAT]);
net/sched/sch_cake.c
2669
NL_SET_ERR_MSG_ATTR(extack, tb[TCA_CAKE_NAT],
net/sched/sch_cake.c
2675
if (tb[TCA_CAKE_AUTORATE]) {
net/sched/sch_cake.c
2676
if (!!nla_get_u32(tb[TCA_CAKE_AUTORATE])) {
net/sched/sch_cake.c
2678
NL_SET_ERR_MSG_ATTR(extack, tb[TCA_CAKE_AUTORATE],
net/sched/sch_cake.c
2688
if (tb[TCA_CAKE_BASE_RATE64])
net/sched/sch_cake.c
2690
nla_get_u64(tb[TCA_CAKE_BASE_RATE64]));
net/sched/sch_cake.c
2692
if (tb[TCA_CAKE_DIFFSERV_MODE])
net/sched/sch_cake.c
2694
nla_get_u32(tb[TCA_CAKE_DIFFSERV_MODE]));
net/sched/sch_cake.c
2696
if (tb[TCA_CAKE_WASH]) {
net/sched/sch_cake.c
2697
if (!!nla_get_u32(tb[TCA_CAKE_WASH]))
net/sched/sch_cake.c
2703
if (tb[TCA_CAKE_FLOW_MODE])
net/sched/sch_cake.c
2705
(nla_get_u32(tb[TCA_CAKE_FLOW_MODE]) &
net/sched/sch_cake.c
2708
if (tb[TCA_CAKE_ATM])
net/sched/sch_cake.c
2710
nla_get_u32(tb[TCA_CAKE_ATM]));
net/sched/sch_cake.c
2712
if (tb[TCA_CAKE_OVERHEAD]) {
net/sched/sch_cake.c
2714
nla_get_s32(tb[TCA_CAKE_OVERHEAD]));
net/sched/sch_cake.c
2719
if (tb[TCA_CAKE_RAW]) {
net/sched/sch_cake.c
2724
if (tb[TCA_CAKE_MPU])
net/sched/sch_cake.c
2726
nla_get_u32(tb[TCA_CAKE_MPU]));
net/sched/sch_cake.c
2728
if (tb[TCA_CAKE_RTT]) {
net/sched/sch_cake.c
2729
u32 interval = nla_get_u32(tb[TCA_CAKE_RTT]);
net/sched/sch_cake.c
2734
if (tb[TCA_CAKE_TARGET]) {
net/sched/sch_cake.c
2735
u32 target = nla_get_u32(tb[TCA_CAKE_TARGET]);
net/sched/sch_cake.c
2740
if (tb[TCA_CAKE_INGRESS]) {
net/sched/sch_cake.c
2741
if (!!nla_get_u32(tb[TCA_CAKE_INGRESS]))
net/sched/sch_cake.c
2747
if (tb[TCA_CAKE_ACK_FILTER])
net/sched/sch_cake.c
2749
nla_get_u32(tb[TCA_CAKE_ACK_FILTER]));
net/sched/sch_cake.c
2751
if (tb[TCA_CAKE_MEMORY])
net/sched/sch_cake.c
2753
nla_get_u32(tb[TCA_CAKE_MEMORY]));
net/sched/sch_cake.c
2755
if (tb[TCA_CAKE_SPLIT_GSO]) {
net/sched/sch_cake.c
2756
if (!!nla_get_u32(tb[TCA_CAKE_SPLIT_GSO]))
net/sched/sch_cake.c
2762
if (tb[TCA_CAKE_FWMARK]) {
net/sched/sch_cake.c
2763
WRITE_ONCE(q->fwmark_mask, nla_get_u32(tb[TCA_CAKE_FWMARK]));
net/sched/sch_cbs.c
380
struct nlattr *tb[TCA_CBS_MAX + 1];
net/sched/sch_cbs.c
384
err = nla_parse_nested_deprecated(tb, TCA_CBS_MAX, opt, cbs_policy,
net/sched/sch_cbs.c
389
if (!tb[TCA_CBS_PARMS]) {
net/sched/sch_cbs.c
394
qopt = nla_data(tb[TCA_CBS_PARMS]);
net/sched/sch_choke.c
343
struct nlattr *tb[TCA_CHOKE_MAX + 1];
net/sched/sch_choke.c
354
err = nla_parse_nested_deprecated(tb, TCA_CHOKE_MAX, opt,
net/sched/sch_choke.c
359
if (tb[TCA_CHOKE_PARMS] == NULL ||
net/sched/sch_choke.c
360
tb[TCA_CHOKE_STAB] == NULL)
net/sched/sch_choke.c
363
max_P = nla_get_u32_default(tb[TCA_CHOKE_MAX_P], 0);
net/sched/sch_choke.c
365
ctl = nla_data(tb[TCA_CHOKE_PARMS]);
net/sched/sch_choke.c
366
stab = nla_data(tb[TCA_CHOKE_STAB]);
net/sched/sch_codel.c
143
struct nlattr *tb[TCA_CODEL_MAX + 1];
net/sched/sch_codel.c
146
err = nla_parse_nested_deprecated(tb, TCA_CODEL_MAX, opt,
net/sched/sch_codel.c
153
if (tb[TCA_CODEL_TARGET]) {
net/sched/sch_codel.c
154
u32 target = nla_get_u32(tb[TCA_CODEL_TARGET]);
net/sched/sch_codel.c
160
if (tb[TCA_CODEL_CE_THRESHOLD]) {
net/sched/sch_codel.c
161
u64 val = nla_get_u32(tb[TCA_CODEL_CE_THRESHOLD]);
net/sched/sch_codel.c
167
if (tb[TCA_CODEL_INTERVAL]) {
net/sched/sch_codel.c
168
u32 interval = nla_get_u32(tb[TCA_CODEL_INTERVAL]);
net/sched/sch_codel.c
174
if (tb[TCA_CODEL_LIMIT])
net/sched/sch_codel.c
176
nla_get_u32(tb[TCA_CODEL_LIMIT]));
net/sched/sch_codel.c
178
if (tb[TCA_CODEL_ECN])
net/sched/sch_codel.c
180
!!nla_get_u32(tb[TCA_CODEL_ECN]));
net/sched/sch_drr.c
100
if (tb[TCA_DRR_QUANTUM])
net/sched/sch_drr.c
65
struct nlattr *tb[TCA_DRR_MAX + 1];
net/sched/sch_drr.c
74
err = nla_parse_nested_deprecated(tb, TCA_DRR_MAX, opt, drr_policy,
net/sched/sch_drr.c
79
if (tb[TCA_DRR_QUANTUM]) {
net/sched/sch_drr.c
80
quantum = nla_get_u32(tb[TCA_DRR_QUANTUM]);
net/sched/sch_dualpi2.c
794
struct nlattr *tb[TCA_DUALPI2_MAX + 1];
net/sched/sch_dualpi2.c
804
err = nla_parse_nested(tb, TCA_DUALPI2_MAX, opt, dualpi2_policy,
net/sched/sch_dualpi2.c
808
if (tb[TCA_DUALPI2_STEP_THRESH_PKTS] && tb[TCA_DUALPI2_STEP_THRESH_US]) {
net/sched/sch_dualpi2.c
816
if (tb[TCA_DUALPI2_LIMIT]) {
net/sched/sch_dualpi2.c
817
u32 limit = nla_get_u32(tb[TCA_DUALPI2_LIMIT]);
net/sched/sch_dualpi2.c
823
if (tb[TCA_DUALPI2_MEMORY_LIMIT])
net/sched/sch_dualpi2.c
825
nla_get_u32(tb[TCA_DUALPI2_MEMORY_LIMIT]));
net/sched/sch_dualpi2.c
827
if (tb[TCA_DUALPI2_TARGET]) {
net/sched/sch_dualpi2.c
828
u64 target = nla_get_u32(tb[TCA_DUALPI2_TARGET]);
net/sched/sch_dualpi2.c
833
if (tb[TCA_DUALPI2_TUPDATE]) {
net/sched/sch_dualpi2.c
834
u64 tupdate = nla_get_u32(tb[TCA_DUALPI2_TUPDATE]);
net/sched/sch_dualpi2.c
839
if (tb[TCA_DUALPI2_ALPHA]) {
net/sched/sch_dualpi2.c
840
u32 alpha = nla_get_u32(tb[TCA_DUALPI2_ALPHA]);
net/sched/sch_dualpi2.c
845
if (tb[TCA_DUALPI2_BETA]) {
net/sched/sch_dualpi2.c
846
u32 beta = nla_get_u32(tb[TCA_DUALPI2_BETA]);
net/sched/sch_dualpi2.c
851
if (tb[TCA_DUALPI2_STEP_THRESH_PKTS]) {
net/sched/sch_dualpi2.c
852
u32 step_th = nla_get_u32(tb[TCA_DUALPI2_STEP_THRESH_PKTS]);
net/sched/sch_dualpi2.c
856
} else if (tb[TCA_DUALPI2_STEP_THRESH_US]) {
net/sched/sch_dualpi2.c
857
u32 step_th = nla_get_u32(tb[TCA_DUALPI2_STEP_THRESH_US]);
net/sched/sch_dualpi2.c
863
if (tb[TCA_DUALPI2_MIN_QLEN_STEP])
net/sched/sch_dualpi2.c
865
nla_get_u32(tb[TCA_DUALPI2_MIN_QLEN_STEP]));
net/sched/sch_dualpi2.c
867
if (tb[TCA_DUALPI2_COUPLING]) {
net/sched/sch_dualpi2.c
868
u8 coupling = nla_get_u8(tb[TCA_DUALPI2_COUPLING]);
net/sched/sch_dualpi2.c
873
if (tb[TCA_DUALPI2_DROP_OVERLOAD]) {
net/sched/sch_dualpi2.c
874
u8 drop_overload = nla_get_u8(tb[TCA_DUALPI2_DROP_OVERLOAD]);
net/sched/sch_dualpi2.c
879
if (tb[TCA_DUALPI2_DROP_EARLY]) {
net/sched/sch_dualpi2.c
880
u8 drop_early = nla_get_u8(tb[TCA_DUALPI2_DROP_EARLY]);
net/sched/sch_dualpi2.c
885
if (tb[TCA_DUALPI2_C_PROTECTION]) {
net/sched/sch_dualpi2.c
886
u8 wc = nla_get_u8(tb[TCA_DUALPI2_C_PROTECTION]);
net/sched/sch_dualpi2.c
891
if (tb[TCA_DUALPI2_ECN_MASK]) {
net/sched/sch_dualpi2.c
892
u8 ecn_mask = nla_get_u8(tb[TCA_DUALPI2_ECN_MASK]);
net/sched/sch_dualpi2.c
897
if (tb[TCA_DUALPI2_SPLIT_GSO]) {
net/sched/sch_dualpi2.c
898
u8 split_gso = nla_get_u8(tb[TCA_DUALPI2_SPLIT_GSO]);
net/sched/sch_etf.c
348
struct nlattr *tb[TCA_ETF_MAX + 1];
net/sched/sch_etf.c
358
err = nla_parse_nested_deprecated(tb, TCA_ETF_MAX, opt, etf_policy,
net/sched/sch_etf.c
363
if (!tb[TCA_ETF_PARMS]) {
net/sched/sch_etf.c
368
qopt = nla_data(tb[TCA_ETF_PARMS]);
net/sched/sch_ets.c
215
struct nlattr *tb[TCA_ETS_MAX + 1];
net/sched/sch_ets.c
232
err = nla_parse_nested(tb, TCA_ETS_MAX, opt, ets_class_policy, extack);
net/sched/sch_ets.c
236
if (!tb[TCA_ETS_QUANTA_BAND])
net/sched/sch_ets.c
245
err = ets_quantum_parse(sch, tb[TCA_ETS_QUANTA_BAND], &quantum,
net/sched/sch_ets.c
589
struct nlattr *tb[TCA_ETS_MAX + 1];
net/sched/sch_ets.c
597
err = nla_parse_nested(tb, TCA_ETS_MAX, opt, ets_policy, extack);
net/sched/sch_ets.c
601
if (!tb[TCA_ETS_NBANDS]) {
net/sched/sch_ets.c
605
nbands = nla_get_u8(tb[TCA_ETS_NBANDS]);
net/sched/sch_ets.c
613
if (tb[TCA_ETS_NSTRICT]) {
net/sched/sch_ets.c
614
nstrict = nla_get_u8(tb[TCA_ETS_NSTRICT]);
net/sched/sch_ets.c
621
if (tb[TCA_ETS_PRIOMAP]) {
net/sched/sch_ets.c
622
err = ets_qdisc_priomap_parse(tb[TCA_ETS_PRIOMAP],
net/sched/sch_ets.c
628
if (tb[TCA_ETS_QUANTA]) {
net/sched/sch_ets.c
629
err = ets_qdisc_quanta_parse(sch, tb[TCA_ETS_QUANTA],
net/sched/sch_fq.c
1075
struct nlattr *tb[TCA_FQ_MAX + 1];
net/sched/sch_fq.c
1079
err = nla_parse_nested_deprecated(tb, TCA_FQ_MAX, opt, fq_policy,
net/sched/sch_fq.c
1088
if (tb[TCA_FQ_BUCKETS_LOG]) {
net/sched/sch_fq.c
1089
u32 nval = nla_get_u32(tb[TCA_FQ_BUCKETS_LOG]);
net/sched/sch_fq.c
1096
if (tb[TCA_FQ_PLIMIT])
net/sched/sch_fq.c
1098
nla_get_u32(tb[TCA_FQ_PLIMIT]));
net/sched/sch_fq.c
1100
if (tb[TCA_FQ_FLOW_PLIMIT])
net/sched/sch_fq.c
1102
nla_get_u32(tb[TCA_FQ_FLOW_PLIMIT]));
net/sched/sch_fq.c
1104
if (tb[TCA_FQ_QUANTUM]) {
net/sched/sch_fq.c
1105
u32 quantum = nla_get_u32(tb[TCA_FQ_QUANTUM]);
net/sched/sch_fq.c
1115
if (tb[TCA_FQ_INITIAL_QUANTUM])
net/sched/sch_fq.c
1117
nla_get_u32(tb[TCA_FQ_INITIAL_QUANTUM]));
net/sched/sch_fq.c
1119
if (tb[TCA_FQ_FLOW_DEFAULT_RATE])
net/sched/sch_fq.c
1121
nla_get_u32(tb[TCA_FQ_FLOW_DEFAULT_RATE]));
net/sched/sch_fq.c
1123
if (tb[TCA_FQ_FLOW_MAX_RATE]) {
net/sched/sch_fq.c
1124
u32 rate = nla_get_u32(tb[TCA_FQ_FLOW_MAX_RATE]);
net/sched/sch_fq.c
1129
if (tb[TCA_FQ_LOW_RATE_THRESHOLD])
net/sched/sch_fq.c
1131
nla_get_u32(tb[TCA_FQ_LOW_RATE_THRESHOLD]));
net/sched/sch_fq.c
1133
if (tb[TCA_FQ_RATE_ENABLE]) {
net/sched/sch_fq.c
1134
u32 enable = nla_get_u32(tb[TCA_FQ_RATE_ENABLE]);
net/sched/sch_fq.c
1143
if (tb[TCA_FQ_FLOW_REFILL_DELAY]) {
net/sched/sch_fq.c
1144
u32 usecs_delay = nla_get_u32(tb[TCA_FQ_FLOW_REFILL_DELAY]) ;
net/sched/sch_fq.c
1150
if (!err && tb[TCA_FQ_PRIOMAP])
net/sched/sch_fq.c
1151
err = fq_load_priomap(q, tb[TCA_FQ_PRIOMAP], extack);
net/sched/sch_fq.c
1153
if (!err && tb[TCA_FQ_WEIGHTS])
net/sched/sch_fq.c
1154
err = fq_load_weights(q, tb[TCA_FQ_WEIGHTS], extack);
net/sched/sch_fq.c
1156
if (tb[TCA_FQ_ORPHAN_MASK])
net/sched/sch_fq.c
1158
nla_get_u32(tb[TCA_FQ_ORPHAN_MASK]));
net/sched/sch_fq.c
1160
if (tb[TCA_FQ_CE_THRESHOLD])
net/sched/sch_fq.c
1163
nla_get_u32(tb[TCA_FQ_CE_THRESHOLD]));
net/sched/sch_fq.c
1165
if (tb[TCA_FQ_TIMER_SLACK])
net/sched/sch_fq.c
1167
nla_get_u32(tb[TCA_FQ_TIMER_SLACK]));
net/sched/sch_fq.c
1169
if (tb[TCA_FQ_HORIZON])
net/sched/sch_fq.c
1172
nla_get_u32(tb[TCA_FQ_HORIZON]));
net/sched/sch_fq.c
1174
if (tb[TCA_FQ_HORIZON_DROP])
net/sched/sch_fq.c
1176
nla_get_u8(tb[TCA_FQ_HORIZON_DROP]));
net/sched/sch_fq.c
1178
if (tb[TCA_FQ_OFFLOAD_HORIZON]) {
net/sched/sch_fq.c
1180
nla_get_u32(tb[TCA_FQ_OFFLOAD_HORIZON]);
net/sched/sch_fq_codel.c
410
struct nlattr *tb[TCA_FQ_CODEL_MAX + 1];
net/sched/sch_fq_codel.c
414
err = nla_parse_nested_deprecated(tb, TCA_FQ_CODEL_MAX, opt,
net/sched/sch_fq_codel.c
418
if (tb[TCA_FQ_CODEL_FLOWS]) {
net/sched/sch_fq_codel.c
421
q->flows_cnt = nla_get_u32(tb[TCA_FQ_CODEL_FLOWS]);
net/sched/sch_fq_codel.c
426
if (tb[TCA_FQ_CODEL_QUANTUM]) {
net/sched/sch_fq_codel.c
427
quantum = max(256U, nla_get_u32(tb[TCA_FQ_CODEL_QUANTUM]));
net/sched/sch_fq_codel.c
435
if (tb[TCA_FQ_CODEL_TARGET]) {
net/sched/sch_fq_codel.c
436
u64 target = nla_get_u32(tb[TCA_FQ_CODEL_TARGET]);
net/sched/sch_fq_codel.c
442
if (tb[TCA_FQ_CODEL_CE_THRESHOLD]) {
net/sched/sch_fq_codel.c
443
u64 val = nla_get_u32(tb[TCA_FQ_CODEL_CE_THRESHOLD]);
net/sched/sch_fq_codel.c
449
if (tb[TCA_FQ_CODEL_CE_THRESHOLD_SELECTOR])
net/sched/sch_fq_codel.c
451
nla_get_u8(tb[TCA_FQ_CODEL_CE_THRESHOLD_SELECTOR]));
net/sched/sch_fq_codel.c
452
if (tb[TCA_FQ_CODEL_CE_THRESHOLD_MASK])
net/sched/sch_fq_codel.c
454
nla_get_u8(tb[TCA_FQ_CODEL_CE_THRESHOLD_MASK]));
net/sched/sch_fq_codel.c
456
if (tb[TCA_FQ_CODEL_INTERVAL]) {
net/sched/sch_fq_codel.c
457
u64 interval = nla_get_u32(tb[TCA_FQ_CODEL_INTERVAL]);
net/sched/sch_fq_codel.c
463
if (tb[TCA_FQ_CODEL_LIMIT])
net/sched/sch_fq_codel.c
465
nla_get_u32(tb[TCA_FQ_CODEL_LIMIT]));
net/sched/sch_fq_codel.c
467
if (tb[TCA_FQ_CODEL_ECN])
net/sched/sch_fq_codel.c
469
!!nla_get_u32(tb[TCA_FQ_CODEL_ECN]));
net/sched/sch_fq_codel.c
474
if (tb[TCA_FQ_CODEL_DROP_BATCH_SIZE])
net/sched/sch_fq_codel.c
476
max(1U, nla_get_u32(tb[TCA_FQ_CODEL_DROP_BATCH_SIZE])));
net/sched/sch_fq_codel.c
478
if (tb[TCA_FQ_CODEL_MEMORY_LIMIT])
net/sched/sch_fq_codel.c
480
min(1U << 31, nla_get_u32(tb[TCA_FQ_CODEL_MEMORY_LIMIT])));
net/sched/sch_fq_pie.c
292
struct nlattr *tb[TCA_FQ_PIE_MAX + 1];
net/sched/sch_fq_pie.c
295
err = nla_parse_nested(tb, TCA_FQ_PIE_MAX, opt, fq_pie_policy, extack);
net/sched/sch_fq_pie.c
300
if (tb[TCA_FQ_PIE_LIMIT]) {
net/sched/sch_fq_pie.c
301
u32 limit = nla_get_u32(tb[TCA_FQ_PIE_LIMIT]);
net/sched/sch_fq_pie.c
306
if (tb[TCA_FQ_PIE_FLOWS]) {
net/sched/sch_fq_pie.c
312
q->flows_cnt = nla_get_u32(tb[TCA_FQ_PIE_FLOWS]);
net/sched/sch_fq_pie.c
321
if (tb[TCA_FQ_PIE_TARGET]) {
net/sched/sch_fq_pie.c
323
u32 target = nla_get_u32(tb[TCA_FQ_PIE_TARGET]);
net/sched/sch_fq_pie.c
331
if (tb[TCA_FQ_PIE_TUPDATE])
net/sched/sch_fq_pie.c
333
usecs_to_jiffies(nla_get_u32(tb[TCA_FQ_PIE_TUPDATE])));
net/sched/sch_fq_pie.c
335
if (tb[TCA_FQ_PIE_ALPHA])
net/sched/sch_fq_pie.c
337
nla_get_u32(tb[TCA_FQ_PIE_ALPHA]));
net/sched/sch_fq_pie.c
339
if (tb[TCA_FQ_PIE_BETA])
net/sched/sch_fq_pie.c
341
nla_get_u32(tb[TCA_FQ_PIE_BETA]));
net/sched/sch_fq_pie.c
343
if (tb[TCA_FQ_PIE_QUANTUM])
net/sched/sch_fq_pie.c
344
WRITE_ONCE(q->quantum, nla_get_u32(tb[TCA_FQ_PIE_QUANTUM]));
net/sched/sch_fq_pie.c
346
if (tb[TCA_FQ_PIE_MEMORY_LIMIT])
net/sched/sch_fq_pie.c
348
nla_get_u32(tb[TCA_FQ_PIE_MEMORY_LIMIT]));
net/sched/sch_fq_pie.c
350
if (tb[TCA_FQ_PIE_ECN_PROB])
net/sched/sch_fq_pie.c
352
nla_get_u32(tb[TCA_FQ_PIE_ECN_PROB]));
net/sched/sch_fq_pie.c
354
if (tb[TCA_FQ_PIE_ECN])
net/sched/sch_fq_pie.c
356
nla_get_u32(tb[TCA_FQ_PIE_ECN]));
net/sched/sch_fq_pie.c
358
if (tb[TCA_FQ_PIE_BYTEMODE])
net/sched/sch_fq_pie.c
360
nla_get_u32(tb[TCA_FQ_PIE_BYTEMODE]));
net/sched/sch_fq_pie.c
362
if (tb[TCA_FQ_PIE_DQ_RATE_ESTIMATOR])
net/sched/sch_fq_pie.c
364
nla_get_u32(tb[TCA_FQ_PIE_DQ_RATE_ESTIMATOR]));
net/sched/sch_gred.c
540
struct nlattr *tb[TCA_GRED_VQ_MAX + 1];
net/sched/sch_gred.c
543
nla_parse_nested_deprecated(tb, TCA_GRED_VQ_MAX, entry,
net/sched/sch_gred.c
546
dp = nla_get_u32(tb[TCA_GRED_VQ_DP]);
net/sched/sch_gred.c
548
if (tb[TCA_GRED_VQ_FLAGS])
net/sched/sch_gred.c
549
table->tab[dp]->red_flags = nla_get_u32(tb[TCA_GRED_VQ_FLAGS]);
net/sched/sch_gred.c
570
struct nlattr *tb[TCA_GRED_VQ_MAX + 1];
net/sched/sch_gred.c
574
err = nla_parse_nested_deprecated(tb, TCA_GRED_VQ_MAX, entry,
net/sched/sch_gred.c
579
if (!tb[TCA_GRED_VQ_DP]) {
net/sched/sch_gred.c
583
dp = nla_get_u32(tb[TCA_GRED_VQ_DP]);
net/sched/sch_gred.c
593
if (tb[TCA_GRED_VQ_FLAGS]) {
net/sched/sch_gred.c
594
u32 red_flags = nla_get_u32(tb[TCA_GRED_VQ_FLAGS]);
net/sched/sch_gred.c
647
struct nlattr *tb[TCA_GRED_MAX + 1];
net/sched/sch_gred.c
653
err = nla_parse_nested_deprecated(tb, TCA_GRED_MAX, opt, gred_policy,
net/sched/sch_gred.c
658
if (tb[TCA_GRED_PARMS] == NULL && tb[TCA_GRED_STAB] == NULL) {
net/sched/sch_gred.c
659
if (tb[TCA_GRED_LIMIT] != NULL)
net/sched/sch_gred.c
660
sch->limit = nla_get_u32(tb[TCA_GRED_LIMIT]);
net/sched/sch_gred.c
661
return gred_change_table_def(sch, tb[TCA_GRED_DPS], extack);
net/sched/sch_gred.c
664
if (tb[TCA_GRED_PARMS] == NULL ||
net/sched/sch_gred.c
665
tb[TCA_GRED_STAB] == NULL ||
net/sched/sch_gred.c
666
tb[TCA_GRED_LIMIT] != NULL) {
net/sched/sch_gred.c
671
max_P = nla_get_u32_default(tb[TCA_GRED_MAX_P], 0);
net/sched/sch_gred.c
673
ctl = nla_data(tb[TCA_GRED_PARMS]);
net/sched/sch_gred.c
674
stab = nla_data(tb[TCA_GRED_STAB]);
net/sched/sch_gred.c
681
if (tb[TCA_GRED_VQ_LIST]) {
net/sched/sch_gred.c
682
err = gred_vqs_validate(table, ctl->DP, tb[TCA_GRED_VQ_LIST],
net/sched/sch_gred.c
711
if (tb[TCA_GRED_VQ_LIST])
net/sched/sch_gred.c
712
gred_vqs_apply(table, tb[TCA_GRED_VQ_LIST]);
net/sched/sch_gred.c
736
struct nlattr *tb[TCA_GRED_MAX + 1];
net/sched/sch_gred.c
742
err = nla_parse_nested_deprecated(tb, TCA_GRED_MAX, opt, gred_policy,
net/sched/sch_gred.c
747
if (tb[TCA_GRED_PARMS] || tb[TCA_GRED_STAB]) {
net/sched/sch_gred.c
753
if (tb[TCA_GRED_LIMIT])
net/sched/sch_gred.c
754
sch->limit = nla_get_u32(tb[TCA_GRED_LIMIT]);
net/sched/sch_gred.c
765
return gred_change_table_def(sch, tb[TCA_GRED_DPS], extack);
net/sched/sch_hfsc.c
920
struct nlattr *tb[TCA_HFSC_MAX + 1];
net/sched/sch_hfsc.c
928
err = nla_parse_nested_deprecated(tb, TCA_HFSC_MAX, opt, hfsc_policy,
net/sched/sch_hfsc.c
933
if (tb[TCA_HFSC_RSC]) {
net/sched/sch_hfsc.c
934
rsc = nla_data(tb[TCA_HFSC_RSC]);
net/sched/sch_hfsc.c
939
if (tb[TCA_HFSC_FSC]) {
net/sched/sch_hfsc.c
940
fsc = nla_data(tb[TCA_HFSC_FSC]);
net/sched/sch_hfsc.c
945
if (tb[TCA_HFSC_USC]) {
net/sched/sch_hfsc.c
946
usc = nla_data(tb[TCA_HFSC_USC]);
net/sched/sch_hhf.c
542
struct nlattr *tb[TCA_HHF_MAX + 1];
net/sched/sch_hhf.c
548
err = nla_parse_nested_deprecated(tb, TCA_HHF_MAX, opt, hhf_policy,
net/sched/sch_hhf.c
553
if (tb[TCA_HHF_QUANTUM])
net/sched/sch_hhf.c
554
new_quantum = nla_get_u32(tb[TCA_HHF_QUANTUM]);
net/sched/sch_hhf.c
556
if (tb[TCA_HHF_NON_HH_WEIGHT])
net/sched/sch_hhf.c
557
new_hhf_non_hh_weight = nla_get_u32(tb[TCA_HHF_NON_HH_WEIGHT]);
net/sched/sch_hhf.c
565
if (tb[TCA_HHF_BACKLOG_LIMIT])
net/sched/sch_hhf.c
566
WRITE_ONCE(sch->limit, nla_get_u32(tb[TCA_HHF_BACKLOG_LIMIT]));
net/sched/sch_hhf.c
571
if (tb[TCA_HHF_HH_FLOWS_LIMIT])
net/sched/sch_hhf.c
573
nla_get_u32(tb[TCA_HHF_HH_FLOWS_LIMIT]));
net/sched/sch_hhf.c
575
if (tb[TCA_HHF_RESET_TIMEOUT]) {
net/sched/sch_hhf.c
576
u32 us = nla_get_u32(tb[TCA_HHF_RESET_TIMEOUT]);
net/sched/sch_hhf.c
582
if (tb[TCA_HHF_ADMIT_BYTES])
net/sched/sch_hhf.c
584
nla_get_u32(tb[TCA_HHF_ADMIT_BYTES]));
net/sched/sch_hhf.c
586
if (tb[TCA_HHF_EVICT_TIMEOUT]) {
net/sched/sch_hhf.c
587
u32 us = nla_get_u32(tb[TCA_HHF_EVICT_TIMEOUT]);
net/sched/sch_htb.c
1058
struct nlattr *tb[TCA_HTB_MAX + 1];
net/sched/sch_htb.c
1074
err = nla_parse_nested_deprecated(tb, TCA_HTB_MAX, opt, htb_policy,
net/sched/sch_htb.c
1079
if (!tb[TCA_HTB_INIT])
net/sched/sch_htb.c
1082
gopt = nla_data(tb[TCA_HTB_INIT]);
net/sched/sch_htb.c
1086
offload = nla_get_flag(tb[TCA_HTB_OFFLOAD]);
net/sched/sch_htb.c
1110
if (tb[TCA_HTB_DIRECT_QLEN])
net/sched/sch_htb.c
1111
q->direct_qlen = nla_get_u32(tb[TCA_HTB_DIRECT_QLEN]);
net/sched/sch_htb.c
1771
struct nlattr *tb[TCA_HTB_MAX + 1];
net/sched/sch_htb.c
1782
err = nla_parse_nested_deprecated(tb, TCA_HTB_MAX, opt, htb_policy,
net/sched/sch_htb.c
1788
if (tb[TCA_HTB_PARMS] == NULL)
net/sched/sch_htb.c
1793
hopt = nla_data(tb[TCA_HTB_PARMS]);
net/sched/sch_htb.c
1811
qdisc_put_rtab(qdisc_get_rtab(&hopt->rate, tb[TCA_HTB_RTAB],
net/sched/sch_htb.c
1815
qdisc_put_rtab(qdisc_get_rtab(&hopt->ceil, tb[TCA_HTB_CTAB],
net/sched/sch_htb.c
1818
rate64 = nla_get_u64_default(tb[TCA_HTB_RATE64], 0);
net/sched/sch_htb.c
1819
ceil64 = nla_get_u64_default(tb[TCA_HTB_CEIL64], 0);
net/sched/sch_mqprio.c
174
struct nlattr *tb[TCA_MQPRIO_TC_ENTRY_MAX + 1];
net/sched/sch_mqprio.c
177
err = nla_parse_nested(tb, TCA_MQPRIO_TC_ENTRY_MAX, opt,
net/sched/sch_mqprio.c
182
if (NL_REQ_ATTR_CHECK(extack, opt, tb, TCA_MQPRIO_TC_ENTRY_INDEX)) {
net/sched/sch_mqprio.c
187
tc = nla_get_u32(tb[TCA_MQPRIO_TC_ENTRY_INDEX]);
net/sched/sch_mqprio.c
189
NL_SET_ERR_MSG_ATTR(extack, tb[TCA_MQPRIO_TC_ENTRY_INDEX],
net/sched/sch_mqprio.c
196
if (tb[TCA_MQPRIO_TC_ENTRY_FP])
net/sched/sch_mqprio.c
197
fp[tc] = nla_get_u32(tb[TCA_MQPRIO_TC_ENTRY_FP]);
net/sched/sch_mqprio.c
249
struct nlattr *tb[TCA_MQPRIO_MAX + 1] = {};
net/sched/sch_mqprio.c
254
err = nla_parse_deprecated(tb, TCA_MQPRIO_MAX, nlattr_opt,
net/sched/sch_mqprio.c
267
if (tb[TCA_MQPRIO_MODE]) {
net/sched/sch_mqprio.c
269
priv->mode = nla_get_u16(tb[TCA_MQPRIO_MODE]);
net/sched/sch_mqprio.c
272
if (tb[TCA_MQPRIO_SHAPER]) {
net/sched/sch_mqprio.c
274
priv->shaper = nla_get_u16(tb[TCA_MQPRIO_SHAPER]);
net/sched/sch_mqprio.c
277
if (tb[TCA_MQPRIO_MIN_RATE64]) {
net/sched/sch_mqprio.c
279
NL_SET_ERR_MSG_ATTR(extack, tb[TCA_MQPRIO_MIN_RATE64],
net/sched/sch_mqprio.c
284
nla_for_each_nested(attr, tb[TCA_MQPRIO_MIN_RATE64],
net/sched/sch_mqprio.c
306
if (tb[TCA_MQPRIO_MAX_RATE64]) {
net/sched/sch_mqprio.c
308
NL_SET_ERR_MSG_ATTR(extack, tb[TCA_MQPRIO_MAX_RATE64],
net/sched/sch_mqprio.c
313
nla_for_each_nested(attr, tb[TCA_MQPRIO_MAX_RATE64],
net/sched/sch_mqprio.c
335
if (tb[TCA_MQPRIO_TC_ENTRY]) {
net/sched/sch_netem.c
1022
static int parse_attr(struct nlattr *tb[], int maxtype, struct nlattr *nla,
net/sched/sch_netem.c
1035
return nla_parse_deprecated(tb, maxtype,
net/sched/sch_netem.c
1039
memset(tb, 0, sizeof(struct nlattr *) * (maxtype + 1));
net/sched/sch_netem.c
1048
struct nlattr *tb[TCA_NETEM_MAX + 1];
net/sched/sch_netem.c
1057
ret = parse_attr(tb, TCA_NETEM_MAX, opt, netem_policy, sizeof(*qopt), extack);
net/sched/sch_netem.c
1061
if (tb[TCA_NETEM_DELAY_DIST]) {
net/sched/sch_netem.c
1062
ret = get_dist_table(&delay_dist, tb[TCA_NETEM_DELAY_DIST]);
net/sched/sch_netem.c
1067
if (tb[TCA_NETEM_SLOT_DIST]) {
net/sched/sch_netem.c
1068
ret = get_dist_table(&slot_dist, tb[TCA_NETEM_SLOT_DIST]);
net/sched/sch_netem.c
1073
if (tb[TCA_NETEM_SLOT]) {
net/sched/sch_netem.c
1074
ret = validate_slot(tb[TCA_NETEM_SLOT], extack);
net/sched/sch_netem.c
1079
if (tb[TCA_NETEM_LATENCY64]) {
net/sched/sch_netem.c
1080
ret = validate_time(tb[TCA_NETEM_LATENCY64], "latency", extack);
net/sched/sch_netem.c
1085
if (tb[TCA_NETEM_JITTER64]) {
net/sched/sch_netem.c
1086
ret = validate_time(tb[TCA_NETEM_JITTER64], "jitter", extack);
net/sched/sch_netem.c
1096
if (tb[TCA_NETEM_LOSS]) {
net/sched/sch_netem.c
1097
ret = get_loss_clg(q, tb[TCA_NETEM_LOSS], extack);
net/sched/sch_netem.c
1127
if (tb[TCA_NETEM_CORR])
net/sched/sch_netem.c
1128
get_correlation(q, tb[TCA_NETEM_CORR]);
net/sched/sch_netem.c
1130
if (tb[TCA_NETEM_REORDER])
net/sched/sch_netem.c
1131
get_reorder(q, tb[TCA_NETEM_REORDER]);
net/sched/sch_netem.c
1133
if (tb[TCA_NETEM_CORRUPT])
net/sched/sch_netem.c
1134
get_corrupt(q, tb[TCA_NETEM_CORRUPT]);
net/sched/sch_netem.c
1136
if (tb[TCA_NETEM_RATE])
net/sched/sch_netem.c
1137
get_rate(q, tb[TCA_NETEM_RATE]);
net/sched/sch_netem.c
1139
if (tb[TCA_NETEM_RATE64])
net/sched/sch_netem.c
1141
nla_get_u64(tb[TCA_NETEM_RATE64]));
net/sched/sch_netem.c
1143
if (tb[TCA_NETEM_LATENCY64])
net/sched/sch_netem.c
1144
q->latency = nla_get_s64(tb[TCA_NETEM_LATENCY64]);
net/sched/sch_netem.c
1146
if (tb[TCA_NETEM_JITTER64])
net/sched/sch_netem.c
1147
q->jitter = nla_get_s64(tb[TCA_NETEM_JITTER64]);
net/sched/sch_netem.c
1149
if (tb[TCA_NETEM_ECN])
net/sched/sch_netem.c
1150
q->ecn = nla_get_u32(tb[TCA_NETEM_ECN]);
net/sched/sch_netem.c
1152
if (tb[TCA_NETEM_SLOT])
net/sched/sch_netem.c
1153
get_slot(q, tb[TCA_NETEM_SLOT]);
net/sched/sch_netem.c
1158
if (tb[TCA_NETEM_PRNG_SEED]) {
net/sched/sch_netem.c
1159
q->prng.seed = nla_get_u64(tb[TCA_NETEM_PRNG_SEED]);
net/sched/sch_pie.c
146
struct nlattr *tb[TCA_PIE_MAX + 1];
net/sched/sch_pie.c
149
err = nla_parse_nested_deprecated(tb, TCA_PIE_MAX, opt, pie_policy,
net/sched/sch_pie.c
157
if (tb[TCA_PIE_TARGET]) {
net/sched/sch_pie.c
159
u32 target = nla_get_u32(tb[TCA_PIE_TARGET]);
net/sched/sch_pie.c
167
if (tb[TCA_PIE_TUPDATE])
net/sched/sch_pie.c
169
usecs_to_jiffies(nla_get_u32(tb[TCA_PIE_TUPDATE])));
net/sched/sch_pie.c
171
if (tb[TCA_PIE_LIMIT]) {
net/sched/sch_pie.c
172
u32 limit = nla_get_u32(tb[TCA_PIE_LIMIT]);
net/sched/sch_pie.c
178
if (tb[TCA_PIE_ALPHA])
net/sched/sch_pie.c
179
WRITE_ONCE(q->params.alpha, nla_get_u32(tb[TCA_PIE_ALPHA]));
net/sched/sch_pie.c
181
if (tb[TCA_PIE_BETA])
net/sched/sch_pie.c
182
WRITE_ONCE(q->params.beta, nla_get_u32(tb[TCA_PIE_BETA]));
net/sched/sch_pie.c
184
if (tb[TCA_PIE_ECN])
net/sched/sch_pie.c
185
WRITE_ONCE(q->params.ecn, nla_get_u32(tb[TCA_PIE_ECN]));
net/sched/sch_pie.c
187
if (tb[TCA_PIE_BYTEMODE])
net/sched/sch_pie.c
189
nla_get_u32(tb[TCA_PIE_BYTEMODE]));
net/sched/sch_pie.c
191
if (tb[TCA_PIE_DQ_RATE_ESTIMATOR])
net/sched/sch_pie.c
193
nla_get_u32(tb[TCA_PIE_DQ_RATE_ESTIMATOR]));
net/sched/sch_qfq.c
413
struct nlattr *tb[TCA_QFQ_MAX + 1];
net/sched/sch_qfq.c
424
err = nla_parse_nested_deprecated(tb, TCA_QFQ_MAX, tca[TCA_OPTIONS],
net/sched/sch_qfq.c
429
weight = nla_get_u32_default(tb[TCA_QFQ_WEIGHT], 1);
net/sched/sch_qfq.c
431
if (tb[TCA_QFQ_LMAX]) {
net/sched/sch_qfq.c
432
lmax = nla_get_u32(tb[TCA_QFQ_LMAX]);
net/sched/sch_red.c
243
static int __red_change(struct Qdisc *sch, struct nlattr **tb,
net/sched/sch_red.c
256
if (tb[TCA_RED_PARMS] == NULL ||
net/sched/sch_red.c
257
tb[TCA_RED_STAB] == NULL)
net/sched/sch_red.c
260
max_P = nla_get_u32_default(tb[TCA_RED_MAX_P], 0);
net/sched/sch_red.c
262
ctl = nla_data(tb[TCA_RED_PARMS]);
net/sched/sch_red.c
263
stab = nla_data(tb[TCA_RED_STAB]);
net/sched/sch_red.c
269
tb[TCA_RED_FLAGS], TC_RED_SUPPORTED_FLAGS,
net/sched/sch_red.c
348
struct nlattr *tb[TCA_RED_MAX + 1];
net/sched/sch_red.c
358
err = nla_parse_nested_deprecated(tb, TCA_RED_MAX, opt, red_policy,
net/sched/sch_red.c
363
err = __red_change(sch, tb, extack);
net/sched/sch_red.c
369
tb[TCA_RED_EARLY_DROP_BLOCK], extack);
net/sched/sch_red.c
375
tb[TCA_RED_MARK_BLOCK], extack);
net/sched/sch_red.c
382
struct nlattr *tb[TCA_RED_MAX + 1];
net/sched/sch_red.c
385
err = nla_parse_nested_deprecated(tb, TCA_RED_MAX, opt, red_policy,
net/sched/sch_red.c
391
tb[TCA_RED_EARLY_DROP_BLOCK], extack);
net/sched/sch_red.c
396
tb[TCA_RED_MARK_BLOCK], extack);
net/sched/sch_red.c
400
return __red_change(sch, tb, extack);
net/sched/sch_sfb.c
507
struct nlattr *tb[TCA_SFB_MAX + 1];
net/sched/sch_sfb.c
513
err = nla_parse_nested_deprecated(tb, TCA_SFB_MAX, opt,
net/sched/sch_sfb.c
518
if (tb[TCA_SFB_PARMS] == NULL)
net/sched/sch_sfb.c
521
ctl = nla_data(tb[TCA_SFB_PARMS]);
net/sched/sch_taprio.c
1037
static int fill_sched_entry(struct taprio_sched *q, struct nlattr **tb,
net/sched/sch_taprio.c
1044
if (tb[TCA_TAPRIO_SCHED_ENTRY_CMD])
net/sched/sch_taprio.c
1046
tb[TCA_TAPRIO_SCHED_ENTRY_CMD]);
net/sched/sch_taprio.c
1048
if (tb[TCA_TAPRIO_SCHED_ENTRY_GATE_MASK])
net/sched/sch_taprio.c
1050
tb[TCA_TAPRIO_SCHED_ENTRY_GATE_MASK]);
net/sched/sch_taprio.c
1052
if (tb[TCA_TAPRIO_SCHED_ENTRY_INTERVAL])
net/sched/sch_taprio.c
1054
tb[TCA_TAPRIO_SCHED_ENTRY_INTERVAL]);
net/sched/sch_taprio.c
1073
struct nlattr *tb[TCA_TAPRIO_SCHED_ENTRY_MAX + 1] = { };
net/sched/sch_taprio.c
1076
err = nla_parse_nested_deprecated(tb, TCA_TAPRIO_SCHED_ENTRY_MAX, n,
net/sched/sch_taprio.c
1085
return fill_sched_entry(q, tb, entry, extack);
net/sched/sch_taprio.c
1128
static int parse_taprio_schedule(struct taprio_sched *q, struct nlattr **tb,
net/sched/sch_taprio.c
1134
if (tb[TCA_TAPRIO_ATTR_SCHED_SINGLE_ENTRY]) {
net/sched/sch_taprio.c
1139
if (tb[TCA_TAPRIO_ATTR_SCHED_BASE_TIME])
net/sched/sch_taprio.c
1140
new->base_time = nla_get_s64(tb[TCA_TAPRIO_ATTR_SCHED_BASE_TIME]);
net/sched/sch_taprio.c
1142
if (tb[TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME_EXTENSION])
net/sched/sch_taprio.c
1143
new->cycle_time_extension = nla_get_s64(tb[TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME_EXTENSION]);
net/sched/sch_taprio.c
1145
if (tb[TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME])
net/sched/sch_taprio.c
1146
new->cycle_time = nla_get_s64(tb[TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME]);
net/sched/sch_taprio.c
1148
if (tb[TCA_TAPRIO_ATTR_SCHED_ENTRY_LIST])
net/sched/sch_taprio.c
1149
err = parse_sched_list(q, tb[TCA_TAPRIO_ATTR_SCHED_ENTRY_LIST],
net/sched/sch_taprio.c
1622
static int taprio_parse_clockid(struct Qdisc *sch, struct nlattr **tb,
net/sched/sch_taprio.c
1636
if (tb[TCA_TAPRIO_ATTR_SCHED_CLOCKID]) {
net/sched/sch_taprio.c
1651
} else if (tb[TCA_TAPRIO_ATTR_SCHED_CLOCKID]) {
net/sched/sch_taprio.c
1652
int clockid = nla_get_s32(tb[TCA_TAPRIO_ATTR_SCHED_CLOCKID]);
net/sched/sch_taprio.c
1707
struct nlattr *tb[TCA_TAPRIO_TC_ENTRY_MAX + 1] = { };
net/sched/sch_taprio.c
1712
err = nla_parse_nested(tb, TCA_TAPRIO_TC_ENTRY_MAX, opt,
net/sched/sch_taprio.c
1717
if (NL_REQ_ATTR_CHECK(extack, opt, tb, TCA_TAPRIO_TC_ENTRY_INDEX)) {
net/sched/sch_taprio.c
1722
tc = nla_get_u32(tb[TCA_TAPRIO_TC_ENTRY_INDEX]);
net/sched/sch_taprio.c
1724
NL_SET_ERR_MSG_ATTR(extack, tb[TCA_TAPRIO_TC_ENTRY_INDEX],
net/sched/sch_taprio.c
1731
if (tb[TCA_TAPRIO_TC_ENTRY_MAX_SDU]) {
net/sched/sch_taprio.c
1732
val = nla_get_u32(tb[TCA_TAPRIO_TC_ENTRY_MAX_SDU]);
net/sched/sch_taprio.c
1741
if (tb[TCA_TAPRIO_TC_ENTRY_FP])
net/sched/sch_taprio.c
1742
fp[tc] = nla_get_u32(tb[TCA_TAPRIO_TC_ENTRY_FP]);
net/sched/sch_taprio.c
1821
struct nlattr *tb[TCA_TAPRIO_ATTR_MAX + 1] = { };
net/sched/sch_taprio.c
1831
err = nla_parse_nested_deprecated(tb, TCA_TAPRIO_ATTR_MAX, opt,
net/sched/sch_taprio.c
1836
if (tb[TCA_TAPRIO_ATTR_PRIOMAP])
net/sched/sch_taprio.c
1837
mqprio = nla_data(tb[TCA_TAPRIO_ATTR_PRIOMAP]);
net/sched/sch_taprio.c
1845
taprio_flags = nla_get_u32_default(tb[TCA_TAPRIO_ATTR_FLAGS], 0);
net/sched/sch_taprio.c
1850
NL_SET_ERR_MSG_ATTR(extack, tb[TCA_TAPRIO_ATTR_FLAGS],
net/sched/sch_taprio.c
1912
err = parse_taprio_schedule(q, tb, new_admin, extack);
net/sched/sch_taprio.c
1922
err = taprio_parse_clockid(sch, tb, extack);
net/sched/sch_taprio.c
1938
if (tb[TCA_TAPRIO_ATTR_TXTIME_DELAY]) {
net/sched/sch_taprio.c
1946
nla_get_u32(tb[TCA_TAPRIO_ATTR_TXTIME_DELAY]));
net/sched/sch_tbf.c
367
struct nlattr *tb[TCA_TBF_MAX + 1];
net/sched/sch_tbf.c
377
err = nla_parse_nested_deprecated(tb, TCA_TBF_MAX, opt, tbf_policy,
net/sched/sch_tbf.c
383
if (tb[TCA_TBF_PARMS] == NULL)
net/sched/sch_tbf.c
386
qopt = nla_data(tb[TCA_TBF_PARMS]);
net/sched/sch_tbf.c
389
tb[TCA_TBF_RTAB],
net/sched/sch_tbf.c
394
tb[TCA_TBF_PTAB],
net/sched/sch_tbf.c
400
if (tb[TCA_TBF_RATE64])
net/sched/sch_tbf.c
401
rate64 = nla_get_u64(tb[TCA_TBF_RATE64]);
net/sched/sch_tbf.c
404
if (tb[TCA_TBF_BURST]) {
net/sched/sch_tbf.c
405
max_size = nla_get_u32(tb[TCA_TBF_BURST]);
net/sched/sch_tbf.c
412
if (tb[TCA_TBF_PRATE64])
net/sched/sch_tbf.c
413
prate64 = nla_get_u64(tb[TCA_TBF_PRATE64]);
net/sched/sch_tbf.c
422
if (tb[TCA_TBF_PBURST]) {
net/sched/sch_tbf.c
423
u32 pburst = nla_get_u32(tb[TCA_TBF_PBURST]);
net/sched/sch_tbf.c
466
if (tb[TCA_TBF_PBURST])
net/sched/sch_tbf.c
471
if (tb[TCA_TBF_BURST])
net/shaper/shaper.c
468
struct nlattr *tb[NET_SHAPER_A_HANDLE_MAX + 1];
net/shaper/shaper.c
473
ret = nla_parse_nested(tb, NET_SHAPER_A_HANDLE_MAX, attr,
net/shaper/shaper.c
478
if (NL_REQ_ATTR_CHECK(info->extack, attr, tb,
net/shaper/shaper.c
482
handle->scope = nla_get_u32(tb[NET_SHAPER_A_HANDLE_SCOPE]);
net/shaper/shaper.c
489
id_attr = tb[NET_SHAPER_A_HANDLE_ID];
net/shaper/shaper.c
511
struct nlattr **tb,
net/shaper/shaper.c
521
if (tb[NET_SHAPER_A_PRIORITY] &&
net/shaper/shaper.c
523
bad = tb[NET_SHAPER_A_PRIORITY];
net/shaper/shaper.c
524
if (tb[NET_SHAPER_A_WEIGHT] &&
net/shaper/shaper.c
526
bad = tb[NET_SHAPER_A_WEIGHT];
net/shaper/shaper.c
527
if (tb[NET_SHAPER_A_BW_MIN] &&
net/shaper/shaper.c
529
bad = tb[NET_SHAPER_A_BW_MIN];
net/shaper/shaper.c
530
if (tb[NET_SHAPER_A_BW_MAX] &&
net/shaper/shaper.c
532
bad = tb[NET_SHAPER_A_BW_MAX];
net/shaper/shaper.c
533
if (tb[NET_SHAPER_A_BURST] &&
net/shaper/shaper.c
535
bad = tb[NET_SHAPER_A_BURST];
net/shaper/shaper.c
538
bad = tb[NET_SHAPER_A_HANDLE];
net/shaper/shaper.c
579
struct nlattr **tb,
net/shaper/shaper.c
588
if (NL_REQ_ATTR_CHECK(info->extack, NULL, tb, NET_SHAPER_A_HANDLE))
net/shaper/shaper.c
591
ret = net_shaper_parse_handle(tb[NET_SHAPER_A_HANDLE], info,
net/shaper/shaper.c
597
NL_SET_BAD_ATTR(info->extack, tb[NET_SHAPER_A_HANDLE]);
net/shaper/shaper.c
609
if (tb[NET_SHAPER_A_METRIC])
net/shaper/shaper.c
610
shaper->metric = nla_get_u32(tb[NET_SHAPER_A_METRIC]);
net/shaper/shaper.c
612
if (tb[NET_SHAPER_A_BW_MIN])
net/shaper/shaper.c
613
shaper->bw_min = nla_get_uint(tb[NET_SHAPER_A_BW_MIN]);
net/shaper/shaper.c
615
if (tb[NET_SHAPER_A_BW_MAX])
net/shaper/shaper.c
616
shaper->bw_max = nla_get_uint(tb[NET_SHAPER_A_BW_MAX]);
net/shaper/shaper.c
618
if (tb[NET_SHAPER_A_BURST])
net/shaper/shaper.c
619
shaper->burst = nla_get_uint(tb[NET_SHAPER_A_BURST]);
net/shaper/shaper.c
621
if (tb[NET_SHAPER_A_PRIORITY])
net/shaper/shaper.c
622
shaper->priority = nla_get_u32(tb[NET_SHAPER_A_PRIORITY]);
net/shaper/shaper.c
624
if (tb[NET_SHAPER_A_WEIGHT])
net/shaper/shaper.c
625
shaper->weight = nla_get_u32(tb[NET_SHAPER_A_WEIGHT]);
net/shaper/shaper.c
627
ret = net_shaper_validate_caps(binding, tb, info, shaper);
net/shaper/shaper.c
660
struct nlattr *tb[NET_SHAPER_A_WEIGHT + 1];
net/shaper/shaper.c
664
ret = nla_parse_nested(tb, NET_SHAPER_A_WEIGHT, attr,
net/shaper/shaper.c
669
ret = net_shaper_parse_info(binding, tb, info, shaper, &exists);
net/shaper/shaper.c
674
NL_SET_BAD_ATTR(info->extack, tb[NET_SHAPER_A_HANDLE]);
net/shaper/shaper.c
694
struct nlattr **tb,
net/shaper/shaper.c
701
ret = net_shaper_parse_info(binding, tb, info, shaper, &exists);
net/shaper/shaper.c
707
NL_SET_BAD_ATTR(info->extack, tb[NET_SHAPER_A_HANDLE]);
net/shaper/shaper.c
711
if (tb[NET_SHAPER_A_PARENT]) {
net/shaper/shaper.c
712
ret = net_shaper_parse_handle(tb[NET_SHAPER_A_PARENT], info,
net/shaper/shaper.c
719
NL_SET_BAD_ATTR(info->extack, tb[NET_SHAPER_A_PARENT]);
net/smc/smc_pnet.c
477
static int smc_pnet_enter(struct net *net, struct nlattr *tb[])
net/smc/smc_pnet.c
493
if (!tb[SMC_PNETID_NAME])
net/smc/smc_pnet.c
495
string = (char *)nla_data(tb[SMC_PNETID_NAME]);
net/smc/smc_pnet.c
499
if (tb[SMC_PNETID_ETHNAME]) {
net/smc/smc_pnet.c
500
string = (char *)nla_data(tb[SMC_PNETID_ETHNAME]);
net/smc/smc_pnet.c
513
if (tb[SMC_PNETID_IBNAME]) {
net/smc/smc_pnet.c
514
string = (char *)nla_data(tb[SMC_PNETID_IBNAME]);
net/smc/smc_pnet.c
516
if (tb[SMC_PNETID_IBPORT]) {
net/smc/smc_pnet.c
517
ibport = nla_get_u8(tb[SMC_PNETID_IBPORT]);
net/sunrpc/svcauth_unix.c
1413
struct nlattr *tb[SUNRPC_A_IP_MAP_EXPIRY + 1];
net/sunrpc/svcauth_unix.c
1429
err = nla_parse_nested(tb, SUNRPC_A_IP_MAP_EXPIRY, attr,
net/sunrpc/svcauth_unix.c
1435
if (!tb[SUNRPC_A_IP_MAP_CLASS])
net/sunrpc/svcauth_unix.c
1437
len = nla_len(tb[SUNRPC_A_IP_MAP_CLASS]);
net/sunrpc/svcauth_unix.c
1440
nla_strscpy(class, tb[SUNRPC_A_IP_MAP_CLASS], sizeof(class));
net/sunrpc/svcauth_unix.c
1443
if (!tb[SUNRPC_A_IP_MAP_ADDR])
net/sunrpc/svcauth_unix.c
1445
if (rpc_pton(cd->net, nla_data(tb[SUNRPC_A_IP_MAP_ADDR]),
net/sunrpc/svcauth_unix.c
1446
nla_len(tb[SUNRPC_A_IP_MAP_ADDR]) - 1,
net/sunrpc/svcauth_unix.c
1466
if (!tb[SUNRPC_A_IP_MAP_EXPIRY])
net/sunrpc/svcauth_unix.c
1469
expiry = nla_get_u64(tb[SUNRPC_A_IP_MAP_EXPIRY]) - boot.tv_sec;
net/sunrpc/svcauth_unix.c
1472
if (tb[SUNRPC_A_IP_MAP_NEGATIVE]) {
net/sunrpc/svcauth_unix.c
1474
} else if (tb[SUNRPC_A_IP_MAP_DOMAIN]) {
net/sunrpc/svcauth_unix.c
1475
dom = unix_domain_find(nla_data(tb[SUNRPC_A_IP_MAP_DOMAIN]));
net/sunrpc/svcauth_unix.c
705
struct nlattr *tb[SUNRPC_A_UNIX_GID_EXPIRY + 1];
net/sunrpc/svcauth_unix.c
712
err = nla_parse_nested(tb, SUNRPC_A_UNIX_GID_EXPIRY, attr,
net/sunrpc/svcauth_unix.c
718
if (!tb[SUNRPC_A_UNIX_GID_UID])
net/sunrpc/svcauth_unix.c
721
nla_get_u32(tb[SUNRPC_A_UNIX_GID_UID]));
net/sunrpc/svcauth_unix.c
725
if (!tb[SUNRPC_A_UNIX_GID_EXPIRY])
net/sunrpc/svcauth_unix.c
729
ug.h.expiry_time = nla_get_u64(tb[SUNRPC_A_UNIX_GID_EXPIRY]) -
net/sunrpc/svcauth_unix.c
732
if (tb[SUNRPC_A_UNIX_GID_NEGATIVE]) {
net/wireless/nl80211.c
10245
struct nlattr *tb[NL80211_MESHCONF_ATTR_MAX + 1];
net/wireless/nl80211.c
10249
#define FILL_IN_MESH_PARAM_IF_SET(tb, cfg, param, mask, attr, fn) \
net/wireless/nl80211.c
10251
if (tb[attr]) { \
net/wireless/nl80211.c
10252
cfg->param = fn(tb[attr]); \
net/wireless/nl80211.c
10259
if (nla_parse_nested_deprecated(tb, NL80211_MESHCONF_ATTR_MAX, info->attrs[NL80211_ATTR_MESH_CONFIG], nl80211_meshconf_params_policy, info->extack))
net/wireless/nl80211.c
10267
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshRetryTimeout, mask,
net/wireless/nl80211.c
10269
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshConfirmTimeout, mask,
net/wireless/nl80211.c
10272
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHoldingTimeout, mask,
net/wireless/nl80211.c
10275
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshMaxPeerLinks, mask,
net/wireless/nl80211.c
10278
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshMaxRetries, mask,
net/wireless/nl80211.c
10280
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshTTL, mask,
net/wireless/nl80211.c
10282
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, element_ttl, mask,
net/wireless/nl80211.c
10284
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, auto_open_plinks, mask,
net/wireless/nl80211.c
10287
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshNbrOffsetMaxNeighbor,
net/wireless/nl80211.c
10291
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPmaxPREQretries, mask,
net/wireless/nl80211.c
10294
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, path_refresh_time, mask,
net/wireless/nl80211.c
10300
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, min_discovery_timeout, mask,
net/wireless/nl80211.c
10303
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPactivePathTimeout,
net/wireless/nl80211.c
10311
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPpreqMinInterval, mask,
net/wireless/nl80211.c
10314
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPperrMinInterval, mask,
net/wireless/nl80211.c
10317
FILL_IN_MESH_PARAM_IF_SET(tb, cfg,
net/wireless/nl80211.c
10321
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPRootMode, mask,
net/wireless/nl80211.c
10323
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPRannInterval, mask,
net/wireless/nl80211.c
10326
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshGateAnnouncementProtocol,
net/wireless/nl80211.c
10329
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshForwarding, mask,
net/wireless/nl80211.c
10331
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, rssi_threshold, mask,
net/wireless/nl80211.c
10334
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshConnectedToMeshGate, mask,
net/wireless/nl80211.c
10337
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshConnectedToAuthServer, mask,
net/wireless/nl80211.c
10344
if (tb[NL80211_MESHCONF_HT_OPMODE]) {
net/wireless/nl80211.c
10345
ht_opmode = nla_get_u16(tb[NL80211_MESHCONF_HT_OPMODE]);
net/wireless/nl80211.c
10358
FILL_IN_MESH_PARAM_IF_SET(tb, cfg,
net/wireless/nl80211.c
10366
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMProotInterval, mask,
net/wireless/nl80211.c
10369
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPconfirmationInterval,
net/wireless/nl80211.c
10373
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, power_mode, mask,
net/wireless/nl80211.c
10375
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshAwakeWindowDuration, mask,
net/wireless/nl80211.c
10377
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, plink_timeout, mask,
net/wireless/nl80211.c
10379
FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshNolearn, mask,
net/wireless/nl80211.c
10393
struct nlattr *tb[NL80211_MESH_SETUP_ATTR_MAX + 1];
net/wireless/nl80211.c
10397
if (nla_parse_nested_deprecated(tb, NL80211_MESH_SETUP_ATTR_MAX, info->attrs[NL80211_ATTR_MESH_SETUP], nl80211_mesh_setup_params_policy, info->extack))
net/wireless/nl80211.c
10400
if (tb[NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC])
net/wireless/nl80211.c
10402
(nla_get_u8(tb[NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC])) ?
net/wireless/nl80211.c
10406
if (tb[NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL])
net/wireless/nl80211.c
10408
(nla_get_u8(tb[NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL])) ?
net/wireless/nl80211.c
10412
if (tb[NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC])
net/wireless/nl80211.c
10414
(nla_get_u8(tb[NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC])) ?
net/wireless/nl80211.c
10418
if (tb[NL80211_MESH_SETUP_IE]) {
net/wireless/nl80211.c
10420
tb[NL80211_MESH_SETUP_IE];
net/wireless/nl80211.c
10424
if (tb[NL80211_MESH_SETUP_USERSPACE_MPM] &&
net/wireless/nl80211.c
10427
setup->user_mpm = nla_get_flag(tb[NL80211_MESH_SETUP_USERSPACE_MPM]);
net/wireless/nl80211.c
10428
setup->is_authenticated = nla_get_flag(tb[NL80211_MESH_SETUP_USERSPACE_AUTH]);
net/wireless/nl80211.c
10429
setup->is_secure = nla_get_flag(tb[NL80211_MESH_SETUP_USERSPACE_AMPE]);
net/wireless/nl80211.c
10433
if (tb[NL80211_MESH_SETUP_AUTH_PROTOCOL]) {
net/wireless/nl80211.c
10437
nla_get_u8(tb[NL80211_MESH_SETUP_AUTH_PROTOCOL]);
net/wireless/nl80211.c
10703
static int parse_reg_rule(struct nlattr *tb[],
net/wireless/nl80211.c
10709
if (!tb[NL80211_ATTR_REG_RULE_FLAGS])
net/wireless/nl80211.c
10711
if (!tb[NL80211_ATTR_FREQ_RANGE_START])
net/wireless/nl80211.c
10713
if (!tb[NL80211_ATTR_FREQ_RANGE_END])
net/wireless/nl80211.c
10715
if (!tb[NL80211_ATTR_FREQ_RANGE_MAX_BW])
net/wireless/nl80211.c
10717
if (!tb[NL80211_ATTR_POWER_RULE_MAX_EIRP])
net/wireless/nl80211.c
10720
reg_rule->flags = nla_get_u32(tb[NL80211_ATTR_REG_RULE_FLAGS]);
net/wireless/nl80211.c
10723
nla_get_u32(tb[NL80211_ATTR_FREQ_RANGE_START]);
net/wireless/nl80211.c
10725
nla_get_u32(tb[NL80211_ATTR_FREQ_RANGE_END]);
net/wireless/nl80211.c
10727
nla_get_u32(tb[NL80211_ATTR_FREQ_RANGE_MAX_BW]);
net/wireless/nl80211.c
10730
nla_get_u32(tb[NL80211_ATTR_POWER_RULE_MAX_EIRP]);
net/wireless/nl80211.c
10732
if (tb[NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN])
net/wireless/nl80211.c
10734
nla_get_u32(tb[NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN]);
net/wireless/nl80211.c
10736
if (tb[NL80211_ATTR_DFS_CAC_TIME])
net/wireless/nl80211.c
10738
nla_get_u32(tb[NL80211_ATTR_DFS_CAC_TIME]);
net/wireless/nl80211.c
10745
struct nlattr *tb[NL80211_REG_RULE_ATTR_MAX + 1];
net/wireless/nl80211.c
10796
r = nla_parse_nested_deprecated(tb, NL80211_REG_RULE_ATTR_MAX,
net/wireless/nl80211.c
10801
r = parse_reg_rule(tb, &rd->reg_rules[rule_idx]);
net/wireless/nl80211.c
11467
struct nlattr *tb[NL80211_SCHED_SCAN_MATCH_ATTR_MAX + 1];
net/wireless/nl80211.c
11502
err = nla_parse_nested_deprecated(tb,
net/wireless/nl80211.c
11511
if (tb[NL80211_SCHED_SCAN_MATCH_ATTR_SSID] &&
net/wireless/nl80211.c
11512
tb[NL80211_SCHED_SCAN_MATCH_ATTR_BSSID])
net/wireless/nl80211.c
11516
if (tb[NL80211_SCHED_SCAN_MATCH_ATTR_SSID] ||
net/wireless/nl80211.c
11517
tb[NL80211_SCHED_SCAN_MATCH_ATTR_BSSID]) {
net/wireless/nl80211.c
11521
rssi = tb[NL80211_SCHED_SCAN_MATCH_ATTR_RSSI];
net/wireless/nl80211.c
11694
err = nla_parse_nested_deprecated(tb,
net/wireless/nl80211.c
11701
ssid = tb[NL80211_SCHED_SCAN_MATCH_ATTR_SSID];
net/wireless/nl80211.c
11702
bssid = tb[NL80211_SCHED_SCAN_MATCH_ATTR_BSSID];
net/wireless/nl80211.c
11730
rssi = tb[NL80211_SCHED_SCAN_MATCH_ATTR_RSSI];
net/wireless/nl80211.c
15478
struct nlattr *tb[NUM_NL80211_WOWLAN_TCP];
net/wireless/nl80211.c
15489
err = nla_parse_nested_deprecated(tb, MAX_NL80211_WOWLAN_TCP, attr,
net/wireless/nl80211.c
15494
if (!tb[NL80211_WOWLAN_TCP_SRC_IPV4] ||
net/wireless/nl80211.c
15495
!tb[NL80211_WOWLAN_TCP_DST_IPV4] ||
net/wireless/nl80211.c
15496
!tb[NL80211_WOWLAN_TCP_DST_MAC] ||
net/wireless/nl80211.c
15497
!tb[NL80211_WOWLAN_TCP_DST_PORT] ||
net/wireless/nl80211.c
15498
!tb[NL80211_WOWLAN_TCP_DATA_PAYLOAD] ||
net/wireless/nl80211.c
15499
!tb[NL80211_WOWLAN_TCP_DATA_INTERVAL] ||
net/wireless/nl80211.c
15500
!tb[NL80211_WOWLAN_TCP_WAKE_PAYLOAD] ||
net/wireless/nl80211.c
15501
!tb[NL80211_WOWLAN_TCP_WAKE_MASK])
net/wireless/nl80211.c
15504
data_size = nla_len(tb[NL80211_WOWLAN_TCP_DATA_PAYLOAD]);
net/wireless/nl80211.c
15508
if (nla_get_u32(tb[NL80211_WOWLAN_TCP_DATA_INTERVAL]) >
net/wireless/nl80211.c
15510
nla_get_u32(tb[NL80211_WOWLAN_TCP_DATA_INTERVAL]) == 0)
net/wireless/nl80211.c
15513
wake_size = nla_len(tb[NL80211_WOWLAN_TCP_WAKE_PAYLOAD]);
net/wireless/nl80211.c
15517
wake_mask_size = nla_len(tb[NL80211_WOWLAN_TCP_WAKE_MASK]);
net/wireless/nl80211.c
15521
if (tb[NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN]) {
net/wireless/nl80211.c
15522
u32 tokln = nla_len(tb[NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN]);
net/wireless/nl80211.c
15524
tok = nla_data(tb[NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN]);
net/wireless/nl80211.c
15541
if (tb[NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ]) {
net/wireless/nl80211.c
15542
seq = nla_data(tb[NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ]);
net/wireless/nl80211.c
15559
cfg->src = nla_get_in_addr(tb[NL80211_WOWLAN_TCP_SRC_IPV4]);
net/wireless/nl80211.c
15560
cfg->dst = nla_get_in_addr(tb[NL80211_WOWLAN_TCP_DST_IPV4]);
net/wireless/nl80211.c
15561
memcpy(cfg->dst_mac, nla_data(tb[NL80211_WOWLAN_TCP_DST_MAC]),
net/wireless/nl80211.c
15563
port = nla_get_u16_default(tb[NL80211_WOWLAN_TCP_SRC_PORT], 0);
net/wireless/nl80211.c
15586
cfg->dst_port = nla_get_u16(tb[NL80211_WOWLAN_TCP_DST_PORT]);
net/wireless/nl80211.c
15590
nla_data(tb[NL80211_WOWLAN_TCP_DATA_PAYLOAD]),
net/wireless/nl80211.c
15594
cfg->data_interval = nla_get_u32(tb[NL80211_WOWLAN_TCP_DATA_INTERVAL]);
net/wireless/nl80211.c
15598
nla_data(tb[NL80211_WOWLAN_TCP_WAKE_PAYLOAD]),
net/wireless/nl80211.c
15603
nla_data(tb[NL80211_WOWLAN_TCP_WAKE_MASK]),
net/wireless/nl80211.c
15622
struct nlattr **tb;
net/wireless/nl80211.c
15625
tb = kzalloc_objs(*tb, NUM_NL80211_ATTR);
net/wireless/nl80211.c
15626
if (!tb)
net/wireless/nl80211.c
15634
err = nla_parse_nested_deprecated(tb, NL80211_ATTR_MAX, attr,
net/wireless/nl80211.c
15639
trig->nd_config = nl80211_parse_sched_scan(&rdev->wiphy, NULL, tb,
net/wireless/nl80211.c
15646
kfree(tb);
net/wireless/nl80211.c
15653
struct nlattr *tb[NUM_NL80211_WOWLAN_TRIG];
net/wireless/nl80211.c
15670
err = nla_parse_nested_deprecated(tb, MAX_NL80211_WOWLAN_TRIG,
net/wireless/nl80211.c
15676
if (tb[NL80211_WOWLAN_TRIG_ANY]) {
net/wireless/nl80211.c
15682
if (tb[NL80211_WOWLAN_TRIG_DISCONNECT]) {
net/wireless/nl80211.c
15689
if (tb[NL80211_WOWLAN_TRIG_MAGIC_PKT]) {
net/wireless/nl80211.c
15696
if (tb[NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED])
net/wireless/nl80211.c
15699
if (tb[NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE]) {
net/wireless/nl80211.c
15706
if (tb[NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST]) {
net/wireless/nl80211.c
15713
if (tb[NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE]) {
net/wireless/nl80211.c
15720
if (tb[NL80211_WOWLAN_TRIG_RFKILL_RELEASE]) {
net/wireless/nl80211.c
15727
if (tb[NL80211_WOWLAN_TRIG_PKT_PATTERN]) {
net/wireless/nl80211.c
15735
nla_for_each_nested(pat, tb[NL80211_WOWLAN_TRIG_PKT_PATTERN],
net/wireless/nl80211.c
15749
nla_for_each_nested(pat, tb[NL80211_WOWLAN_TRIG_PKT_PATTERN],
net/wireless/nl80211.c
15798
if (tb[NL80211_WOWLAN_TRIG_TCP_CONNECTION]) {
net/wireless/nl80211.c
15801
rdev, tb[NL80211_WOWLAN_TRIG_TCP_CONNECTION],
net/wireless/nl80211.c
15807
if (tb[NL80211_WOWLAN_TRIG_NET_DETECT]) {
net/wireless/nl80211.c
15810
rdev, wowlan, tb[NL80211_WOWLAN_TRIG_NET_DETECT],
net/wireless/nl80211.c
15961
struct nlattr *tb[NUM_NL80211_ATTR_COALESCE_RULE], *pat;
net/wireless/nl80211.c
15965
err = nla_parse_nested_deprecated(tb, NL80211_ATTR_COALESCE_RULE_MAX,
net/wireless/nl80211.c
15970
if (tb[NL80211_ATTR_COALESCE_RULE_DELAY])
net/wireless/nl80211.c
15972
nla_get_u32(tb[NL80211_ATTR_COALESCE_RULE_DELAY]);
net/wireless/nl80211.c
15976
if (tb[NL80211_ATTR_COALESCE_RULE_CONDITION])
net/wireless/nl80211.c
15978
nla_get_u32(tb[NL80211_ATTR_COALESCE_RULE_CONDITION]);
net/wireless/nl80211.c
15980
if (!tb[NL80211_ATTR_COALESCE_RULE_PKT_PATTERN])
net/wireless/nl80211.c
15983
nla_for_each_nested(pat, tb[NL80211_ATTR_COALESCE_RULE_PKT_PATTERN],
net/wireless/nl80211.c
15996
nla_for_each_nested(pat, tb[NL80211_ATTR_COALESCE_RULE_PKT_PATTERN],
net/wireless/nl80211.c
1603
struct nlattr *tb[NL80211_KEY_MAX + 1];
net/wireless/nl80211.c
1604
int err = nla_parse_nested_deprecated(tb, NL80211_KEY_MAX, key,
net/wireless/nl80211.c
1610
k->def = !!tb[NL80211_KEY_DEFAULT];
net/wireless/nl80211.c
16103
struct nlattr *tb[NUM_NL80211_REKEY_DATA];
net/wireless/nl80211.c
1611
k->defmgmt = !!tb[NL80211_KEY_DEFAULT_MGMT];
net/wireless/nl80211.c
16110
err = nla_parse_nested_deprecated(tb, MAX_NL80211_REKEY_DATA,
net/wireless/nl80211.c
16116
if (!tb[NL80211_REKEY_DATA_REPLAY_CTR] || !tb[NL80211_REKEY_DATA_KEK] ||
net/wireless/nl80211.c
16117
!tb[NL80211_REKEY_DATA_KCK])
net/wireless/nl80211.c
16119
if (nla_len(tb[NL80211_REKEY_DATA_KEK]) != NL80211_KEK_LEN &&
net/wireless/nl80211.c
1612
k->defbeacon = !!tb[NL80211_KEY_DEFAULT_BEACON];
net/wireless/nl80211.c
16121
nla_len(tb[NL80211_REKEY_DATA_KEK]) == NL80211_KEK_EXT_LEN))
net/wireless/nl80211.c
16123
if (nla_len(tb[NL80211_REKEY_DATA_KCK]) != NL80211_KCK_LEN &&
net/wireless/nl80211.c
16125
nla_len(tb[NL80211_REKEY_DATA_KCK]) == NL80211_KCK_EXT_LEN) &&
net/wireless/nl80211.c
16127
nla_len(tb[NL80211_REKEY_DATA_KCK]) == NL80211_KCK_EXT_LEN_32))
net/wireless/nl80211.c
16130
rekey_data.kek = nla_data(tb[NL80211_REKEY_DATA_KEK]);
net/wireless/nl80211.c
16131
rekey_data.kck = nla_data(tb[NL80211_REKEY_DATA_KCK]);
net/wireless/nl80211.c
16132
rekey_data.replay_ctr = nla_data(tb[NL80211_REKEY_DATA_REPLAY_CTR]);
net/wireless/nl80211.c
16133
rekey_data.kek_len = nla_len(tb[NL80211_REKEY_DATA_KEK]);
net/wireless/nl80211.c
16134
rekey_data.kck_len = nla_len(tb[NL80211_REKEY_DATA_KCK]);
net/wireless/nl80211.c
16135
if (tb[NL80211_REKEY_DATA_AKM])
net/wireless/nl80211.c
16136
rekey_data.akm = nla_get_u32(tb[NL80211_REKEY_DATA_AKM]);
net/wireless/nl80211.c
1621
if (tb[NL80211_KEY_IDX])
net/wireless/nl80211.c
1622
k->idx = nla_get_u8(tb[NL80211_KEY_IDX]);
net/wireless/nl80211.c
1624
if (tb[NL80211_KEY_DATA]) {
net/wireless/nl80211.c
1625
k->p.key = nla_data(tb[NL80211_KEY_DATA]);
net/wireless/nl80211.c
1626
k->p.key_len = nla_len(tb[NL80211_KEY_DATA]);
net/wireless/nl80211.c
1629
if (tb[NL80211_KEY_SEQ]) {
net/wireless/nl80211.c
1630
k->p.seq = nla_data(tb[NL80211_KEY_SEQ]);
net/wireless/nl80211.c
1631
k->p.seq_len = nla_len(tb[NL80211_KEY_SEQ]);
net/wireless/nl80211.c
16321
struct nlattr **tb,
net/wireless/nl80211.c
16328
if (tb[NL80211_NAN_BAND_CONF_FREQ]) {
net/wireless/nl80211.c
16329
u16 freq = nla_get_u16(tb[NL80211_NAN_BAND_CONF_FREQ]);
net/wireless/nl80211.c
16339
if (tb[NL80211_NAN_BAND_CONF_RSSI_CLOSE]) {
net/wireless/nl80211.c
1634
if (tb[NL80211_KEY_CIPHER])
net/wireless/nl80211.c
16341
nla_get_s8(tb[NL80211_NAN_BAND_CONF_RSSI_CLOSE]);
net/wireless/nl80211.c
16342
if (!tb[NL80211_NAN_BAND_CONF_RSSI_MIDDLE])
net/wireless/nl80211.c
16346
if (tb[NL80211_NAN_BAND_CONF_RSSI_MIDDLE]) {
net/wireless/nl80211.c
16348
nla_get_s8(tb[NL80211_NAN_BAND_CONF_RSSI_MIDDLE]);
net/wireless/nl80211.c
1635
k->p.cipher = nla_get_u32(tb[NL80211_KEY_CIPHER]);
net/wireless/nl80211.c
16353
if (tb[NL80211_NAN_BAND_CONF_WAKE_DW]) {
net/wireless/nl80211.c
16355
nla_get_u8(tb[NL80211_NAN_BAND_CONF_WAKE_DW]);
net/wireless/nl80211.c
16362
nla_get_flag(tb[NL80211_NAN_BAND_CONF_DISABLE_SCAN]);
net/wireless/nl80211.c
1637
if (tb[NL80211_KEY_TYPE])
net/wireless/nl80211.c
1638
k->type = nla_get_u32(tb[NL80211_KEY_TYPE]);
net/wireless/nl80211.c
1640
if (tb[NL80211_KEY_DEFAULT_TYPES]) {
net/wireless/nl80211.c
16448
struct nlattr *tb[NL80211_NAN_BAND_CONF_ATTR_MAX + 1];
net/wireless/nl80211.c
1645
tb[NL80211_KEY_DEFAULT_TYPES],
net/wireless/nl80211.c
16450
err = nla_parse_nested(tb,
net/wireless/nl80211.c
16457
if (!tb[NL80211_NAN_BAND_CONF_BAND])
net/wireless/nl80211.c
16460
band = nla_get_u8(tb[NL80211_NAN_BAND_CONF_BAND]);
net/wireless/nl80211.c
16466
err = nl80211_parse_nan_band_config(wiphy, tb, cfg,
net/wireless/nl80211.c
1655
if (tb[NL80211_KEY_MODE])
net/wireless/nl80211.c
1656
k->p.mode = nla_get_u8(tb[NL80211_KEY_MODE]);
net/wireless/nl80211.c
1658
if (tb[NL80211_KEY_LTF_SEED]) {
net/wireless/nl80211.c
1659
k->p.ltf_keyseed = nla_data(tb[NL80211_KEY_LTF_SEED]);
net/wireless/nl80211.c
1660
k->p.ltf_keyseed_len = nla_len(tb[NL80211_KEY_LTF_SEED]);
net/wireless/nl80211.c
16634
struct nlattr *tb[NUM_NL80211_NAN_FUNC_ATTR], *func_attr;
net/wireless/nl80211.c
16649
err = nla_parse_nested_deprecated(tb, NL80211_NAN_FUNC_ATTR_MAX,
net/wireless/nl80211.c
16662
if (!tb[NL80211_NAN_FUNC_TYPE]) {
net/wireless/nl80211.c
16668
func->type = nla_get_u8(tb[NL80211_NAN_FUNC_TYPE]);
net/wireless/nl80211.c
16670
if (!tb[NL80211_NAN_FUNC_SERVICE_ID]) {
net/wireless/nl80211.c
16675
memcpy(func->service_id, nla_data(tb[NL80211_NAN_FUNC_SERVICE_ID]),
net/wireless/nl80211.c
16679
nla_get_flag(tb[NL80211_NAN_FUNC_CLOSE_RANGE]);
net/wireless/nl80211.c
16681
if (tb[NL80211_NAN_FUNC_SERVICE_INFO]) {
net/wireless/nl80211.c
16683
nla_len(tb[NL80211_NAN_FUNC_SERVICE_INFO]);
net/wireless/nl80211.c
16685
kmemdup(nla_data(tb[NL80211_NAN_FUNC_SERVICE_INFO]),
net/wireless/nl80211.c
16694
if (tb[NL80211_NAN_FUNC_TTL])
net/wireless/nl80211.c
16695
func->ttl = nla_get_u32(tb[NL80211_NAN_FUNC_TTL]);
net/wireless/nl80211.c
16699
if (!tb[NL80211_NAN_FUNC_PUBLISH_TYPE]) {
net/wireless/nl80211.c
16705
nla_get_u8(tb[NL80211_NAN_FUNC_PUBLISH_TYPE]);
net/wireless/nl80211.c
16707
nla_get_flag(tb[NL80211_NAN_FUNC_PUBLISH_BCAST]);
net/wireless/nl80211.c
16717
nla_get_flag(tb[NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE]);
net/wireless/nl80211.c
16720
if (!tb[NL80211_NAN_FUNC_FOLLOW_UP_ID] ||
net/wireless/nl80211.c
16721
!tb[NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID] ||
net/wireless/nl80211.c
16722
!tb[NL80211_NAN_FUNC_FOLLOW_UP_DEST]) {
net/wireless/nl80211.c
16728
nla_get_u8(tb[NL80211_NAN_FUNC_FOLLOW_UP_ID]);
net/wireless/nl80211.c
16730
nla_get_u8(tb[NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID]);
net/wireless/nl80211.c
16732
nla_data(tb[NL80211_NAN_FUNC_FOLLOW_UP_DEST]),
net/wireless/nl80211.c
16744
if (tb[NL80211_NAN_FUNC_SRF]) {
net/wireless/nl80211.c
16749
tb[NL80211_NAN_FUNC_SRF],
net/wireless/nl80211.c
16807
if (tb[NL80211_NAN_FUNC_TX_MATCH_FILTER]) {
net/wireless/nl80211.c
16808
err = handle_nan_filter(tb[NL80211_NAN_FUNC_TX_MATCH_FILTER],
net/wireless/nl80211.c
16814
if (tb[NL80211_NAN_FUNC_RX_MATCH_FILTER]) {
net/wireless/nl80211.c
16815
err = handle_nan_filter(tb[NL80211_NAN_FUNC_RX_MATCH_FILTER],
net/wireless/nl80211.c
17253
struct nlattr *tb[NL80211_NAN_PEER_MAP_ATTR_MAX + 1];
net/wireless/nl80211.c
17256
ret = nla_parse_nested(tb, NL80211_NAN_PEER_MAP_ATTR_MAX, map_attr,
net/wireless/nl80211.c
17261
if (!tb[NL80211_NAN_PEER_MAP_ATTR_MAP_ID] ||
net/wireless/nl80211.c
17262
!tb[NL80211_NAN_PEER_MAP_ATTR_TIME_SLOTS]) {
net/wireless/nl80211.c
17268
map->map_id = nla_get_u8(tb[NL80211_NAN_PEER_MAP_ATTR_MAP_ID]);
net/wireless/nl80211.c
17272
tb[NL80211_NAN_PEER_MAP_ATTR_TIME_SLOTS],
net/wireless/nl80211.c
18727
struct nlattr **tb;
net/wireless/nl80211.c
18759
tb = kzalloc_objs(*tb, NL80211_ATTR_MAX + 1);
net/wireless/nl80211.c
18760
if (!tb)
net/wireless/nl80211.c
18763
err = nla_parse_nested(tb, NL80211_ATTR_MAX,
net/wireless/nl80211.c
18769
err = nl80211_parse_beacon(rdev, tb, ¶ms.beacon_color_change,
net/wireless/nl80211.c
18775
if (!tb[NL80211_ATTR_CNTDWN_OFFS_BEACON]) {
net/wireless/nl80211.c
18780
if (nla_len(tb[NL80211_ATTR_CNTDWN_OFFS_BEACON]) != sizeof(u16)) {
net/wireless/nl80211.c
18785
offset = nla_get_u16(tb[NL80211_ATTR_CNTDWN_OFFS_BEACON]);
net/wireless/nl80211.c
18798
if (tb[NL80211_ATTR_CNTDWN_OFFS_PRESP]) {
net/wireless/nl80211.c
18799
if (nla_len(tb[NL80211_ATTR_CNTDWN_OFFS_PRESP]) !=
net/wireless/nl80211.c
18805
offset = nla_get_u16(tb[NL80211_ATTR_CNTDWN_OFFS_PRESP]);
net/wireless/nl80211.c
18835
kfree(tb);
net/wireless/nl80211.c
19463
struct nlattr *tb[NL80211_SAR_ATTR_MAX + 1];
net/wireless/nl80211.c
19476
nla_parse_nested(tb, NL80211_SAR_ATTR_MAX,
net/wireless/nl80211.c
19480
if (!tb[NL80211_SAR_ATTR_TYPE] || !tb[NL80211_SAR_ATTR_SPECS])
net/wireless/nl80211.c
19483
type = nla_get_u32(tb[NL80211_SAR_ATTR_TYPE]);
net/wireless/nl80211.c
19488
nla_for_each_nested(spec_list, tb[NL80211_SAR_ATTR_SPECS], rem)
net/wireless/nl80211.c
19501
nla_for_each_nested(spec_list, tb[NL80211_SAR_ATTR_SPECS], rem) {
net/wireless/nl80211.c
3725
struct nlattr **tb = kzalloc_objs(*tb, NUM_NL80211_ATTR);
net/wireless/nl80211.c
3728
if (!tb)
net/wireless/nl80211.c
3733
tb, nl80211_fam.maxattr,
net/wireless/nl80211.c
3741
state->split = tb[NL80211_ATTR_SPLIT_WIPHY_DUMP];
net/wireless/nl80211.c
3742
if (tb[NL80211_ATTR_WIPHY])
net/wireless/nl80211.c
3743
state->filter_wiphy = nla_get_u32(tb[NL80211_ATTR_WIPHY]);
net/wireless/nl80211.c
3744
if (tb[NL80211_ATTR_WDEV])
net/wireless/nl80211.c
3745
state->filter_wiphy = nla_get_u64(tb[NL80211_ATTR_WDEV]) >> 32;
net/wireless/nl80211.c
3746
if (tb[NL80211_ATTR_IFINDEX]) {
net/wireless/nl80211.c
3749
int ifidx = nla_get_u32(tb[NL80211_ATTR_IFINDEX]);
net/wireless/nl80211.c
3765
kfree(tb);
net/wireless/nl80211.c
3879
static int parse_txq_params(struct nlattr *tb[],
net/wireless/nl80211.c
3884
if (!tb[NL80211_TXQ_ATTR_AC] || !tb[NL80211_TXQ_ATTR_TXOP] ||
net/wireless/nl80211.c
3885
!tb[NL80211_TXQ_ATTR_CWMIN] || !tb[NL80211_TXQ_ATTR_CWMAX] ||
net/wireless/nl80211.c
3886
!tb[NL80211_TXQ_ATTR_AIFS])
net/wireless/nl80211.c
3889
ac = nla_get_u8(tb[NL80211_TXQ_ATTR_AC]);
net/wireless/nl80211.c
3890
txq_params->txop = nla_get_u16(tb[NL80211_TXQ_ATTR_TXOP]);
net/wireless/nl80211.c
3891
txq_params->cwmin = nla_get_u16(tb[NL80211_TXQ_ATTR_CWMIN]);
net/wireless/nl80211.c
3892
txq_params->cwmax = nla_get_u16(tb[NL80211_TXQ_ATTR_CWMAX]);
net/wireless/nl80211.c
3893
txq_params->aifs = nla_get_u8(tb[NL80211_TXQ_ATTR_AIFS]);
net/wireless/nl80211.c
4322
struct nlattr *tb[NL80211_TXQ_ATTR_MAX + 1];
net/wireless/nl80211.c
4340
result = nla_parse_nested_deprecated(tb,
net/wireless/nl80211.c
4348
result = parse_txq_params(tb, &txq_params);
net/wireless/nl80211.c
6163
struct nlattr *tb[NL80211_TXRATE_MAX + 1];
net/wireless/nl80211.c
6239
err = nla_parse_nested_deprecated(tb, NL80211_TXRATE_MAX,
net/wireless/nl80211.c
6245
if (tb[NL80211_TXRATE_LEGACY]) {
net/wireless/nl80211.c
6248
nla_data(tb[NL80211_TXRATE_LEGACY]),
net/wireless/nl80211.c
6249
nla_len(tb[NL80211_TXRATE_LEGACY]));
net/wireless/nl80211.c
6251
nla_len(tb[NL80211_TXRATE_LEGACY]))
net/wireless/nl80211.c
6254
if (tb[NL80211_TXRATE_HT]) {
net/wireless/nl80211.c
6257
nla_data(tb[NL80211_TXRATE_HT]),
net/wireless/nl80211.c
6258
nla_len(tb[NL80211_TXRATE_HT]),
net/wireless/nl80211.c
6263
if (tb[NL80211_TXRATE_VHT]) {
net/wireless/nl80211.c
6266
nla_data(tb[NL80211_TXRATE_VHT]),
net/wireless/nl80211.c
6271
if (tb[NL80211_TXRATE_GI]) {
net/wireless/nl80211.c
6273
nla_get_u8(tb[NL80211_TXRATE_GI]);
net/wireless/nl80211.c
6277
if (tb[NL80211_TXRATE_HE] &&
net/wireless/nl80211.c
6279
nla_data(tb[NL80211_TXRATE_HE]),
net/wireless/nl80211.c
6284
if (tb[NL80211_TXRATE_HE_GI])
net/wireless/nl80211.c
6286
nla_get_u8(tb[NL80211_TXRATE_HE_GI]);
net/wireless/nl80211.c
6287
if (tb[NL80211_TXRATE_HE_LTF])
net/wireless/nl80211.c
6289
nla_get_u8(tb[NL80211_TXRATE_HE_LTF]);
net/wireless/nl80211.c
6291
if (tb[NL80211_TXRATE_EHT] &&
net/wireless/nl80211.c
6293
nla_data(tb[NL80211_TXRATE_EHT]),
net/wireless/nl80211.c
6297
if (tb[NL80211_TXRATE_EHT_GI])
net/wireless/nl80211.c
6299
nla_get_u8(tb[NL80211_TXRATE_EHT_GI]);
net/wireless/nl80211.c
6300
if (tb[NL80211_TXRATE_EHT_LTF])
net/wireless/nl80211.c
6302
nla_get_u8(tb[NL80211_TXRATE_EHT_LTF]);
net/wireless/nl80211.c
6438
struct nlattr *tb[NL80211_MBSSID_CONFIG_ATTR_MAX + 1];
net/wireless/nl80211.c
6444
if (nla_parse_nested(tb, NL80211_MBSSID_CONFIG_ATTR_MAX, attrs, NULL,
net/wireless/nl80211.c
6446
!tb[NL80211_MBSSID_CONFIG_ATTR_INDEX])
net/wireless/nl80211.c
6449
config->ema = nla_get_flag(tb[NL80211_MBSSID_CONFIG_ATTR_EMA]);
net/wireless/nl80211.c
6458
config->index = nla_get_u8(tb[NL80211_MBSSID_CONFIG_ATTR_INDEX]);
net/wireless/nl80211.c
6463
if (tb[NL80211_MBSSID_CONFIG_ATTR_TX_LINK_ID])
net/wireless/nl80211.c
6464
tx_link_id = nla_get_u8(tb[NL80211_MBSSID_CONFIG_ATTR_TX_LINK_ID]);
net/wireless/nl80211.c
6466
if (tb[NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX]) {
net/wireless/nl80211.c
6468
nla_get_u32(tb[NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX]);
net/wireless/nl80211.c
6589
struct nlattr *tb[NL80211_HE_BSS_COLOR_ATTR_MAX + 1];
net/wireless/nl80211.c
6592
err = nla_parse_nested(tb, NL80211_HE_BSS_COLOR_ATTR_MAX, attrs,
net/wireless/nl80211.c
6597
if (!tb[NL80211_HE_BSS_COLOR_ATTR_COLOR])
net/wireless/nl80211.c
6601
nla_get_u8(tb[NL80211_HE_BSS_COLOR_ATTR_COLOR]);
net/wireless/nl80211.c
6603
!nla_get_flag(tb[NL80211_HE_BSS_COLOR_ATTR_DISABLED]);
net/wireless/nl80211.c
6605
nla_get_flag(tb[NL80211_HE_BSS_COLOR_ATTR_PARTIAL]);
net/wireless/nl80211.c
6759
struct nlattr *tb[NL80211_FTM_RESP_ATTR_MAX + 1];
net/wireless/nl80211.c
6761
err = nla_parse_nested_deprecated(tb,
net/wireless/nl80211.c
6768
if (tb[NL80211_FTM_RESP_ATTR_ENABLED] &&
net/wireless/nl80211.c
6775
if (tb[NL80211_FTM_RESP_ATTR_LCI]) {
net/wireless/nl80211.c
6776
bcn->lci = nla_data(tb[NL80211_FTM_RESP_ATTR_LCI]);
net/wireless/nl80211.c
6777
bcn->lci_len = nla_len(tb[NL80211_FTM_RESP_ATTR_LCI]);
net/wireless/nl80211.c
6780
if (tb[NL80211_FTM_RESP_ATTR_CIVICLOC]) {
net/wireless/nl80211.c
6781
bcn->civicloc = nla_data(tb[NL80211_FTM_RESP_ATTR_CIVICLOC]);
net/wireless/nl80211.c
6782
bcn->civicloc_len = nla_len(tb[NL80211_FTM_RESP_ATTR_CIVICLOC]);
net/wireless/nl80211.c
6844
struct nlattr *tb[NL80211_HE_OBSS_PD_ATTR_MAX + 1];
net/wireless/nl80211.c
6847
err = nla_parse_nested(tb, NL80211_HE_OBSS_PD_ATTR_MAX, attrs,
net/wireless/nl80211.c
6852
if (!tb[NL80211_HE_OBSS_PD_ATTR_SR_CTRL])
net/wireless/nl80211.c
6855
he_obss_pd->sr_ctrl = nla_get_u8(tb[NL80211_HE_OBSS_PD_ATTR_SR_CTRL]);
net/wireless/nl80211.c
6857
if (tb[NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET])
net/wireless/nl80211.c
6859
nla_get_u8(tb[NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET]);
net/wireless/nl80211.c
6860
if (tb[NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET])
net/wireless/nl80211.c
6862
nla_get_u8(tb[NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET]);
net/wireless/nl80211.c
6863
if (tb[NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET])
net/wireless/nl80211.c
6865
nla_get_u8(tb[NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET]);
net/wireless/nl80211.c
6870
if (tb[NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP])
net/wireless/nl80211.c
6872
nla_data(tb[NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP]),
net/wireless/nl80211.c
6875
if (tb[NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP])
net/wireless/nl80211.c
6877
nla_data(tb[NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP]),
net/wireless/nl80211.c
6889
struct nlattr *tb[NL80211_FILS_DISCOVERY_ATTR_MAX + 1];
net/wireless/nl80211.c
6896
ret = nla_parse_nested(tb, NL80211_FILS_DISCOVERY_ATTR_MAX, attrs,
net/wireless/nl80211.c
6901
if (!tb[NL80211_FILS_DISCOVERY_ATTR_INT_MIN] &&
net/wireless/nl80211.c
6902
!tb[NL80211_FILS_DISCOVERY_ATTR_INT_MAX] &&
net/wireless/nl80211.c
6903
!tb[NL80211_FILS_DISCOVERY_ATTR_TMPL]) {
net/wireless/nl80211.c
6908
if (!tb[NL80211_FILS_DISCOVERY_ATTR_INT_MIN] ||
net/wireless/nl80211.c
6909
!tb[NL80211_FILS_DISCOVERY_ATTR_INT_MAX] ||
net/wireless/nl80211.c
6910
!tb[NL80211_FILS_DISCOVERY_ATTR_TMPL])
net/wireless/nl80211.c
6913
fd->tmpl_len = nla_len(tb[NL80211_FILS_DISCOVERY_ATTR_TMPL]);
net/wireless/nl80211.c
6914
fd->tmpl = nla_data(tb[NL80211_FILS_DISCOVERY_ATTR_TMPL]);
net/wireless/nl80211.c
6915
fd->min_interval = nla_get_u32(tb[NL80211_FILS_DISCOVERY_ATTR_INT_MIN]);
net/wireless/nl80211.c
6916
fd->max_interval = nla_get_u32(tb[NL80211_FILS_DISCOVERY_ATTR_INT_MAX]);
net/wireless/nl80211.c
6926
struct nlattr *tb[NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX + 1];
net/wireless/nl80211.c
6933
ret = nla_parse_nested(tb, NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX,
net/wireless/nl80211.c
6938
if (!tb[NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT] &&
net/wireless/nl80211.c
6939
!tb[NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL]) {
net/wireless/nl80211.c
6944
if (!tb[NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT] ||
net/wireless/nl80211.c
6945
!tb[NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL])
net/wireless/nl80211.c
6948
presp->tmpl = nla_data(tb[NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL]);
net/wireless/nl80211.c
6949
presp->tmpl_len = nla_len(tb[NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL]);
net/wireless/nl80211.c
6950
presp->interval = nla_get_u32(tb[NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT]);
net/wireless/nl80211.c
7143
struct nlattr *tb[NL80211_S1G_SHORT_BEACON_ATTR_MAX + 1];
net/wireless/nl80211.c
7149
ret = nla_parse_nested(tb, NL80211_S1G_SHORT_BEACON_ATTR_MAX, attrs,
net/wireless/nl80211.c
7155
if (!tb[NL80211_S1G_SHORT_BEACON_ATTR_HEAD])
net/wireless/nl80211.c
7158
sb->short_head = nla_data(tb[NL80211_S1G_SHORT_BEACON_ATTR_HEAD]);
net/wireless/nl80211.c
7159
sb->short_head_len = nla_len(tb[NL80211_S1G_SHORT_BEACON_ATTR_HEAD]);
net/wireless/nl80211.c
7162
if (tb[NL80211_S1G_SHORT_BEACON_ATTR_TAIL]) {
net/wireless/nl80211.c
7164
nla_data(tb[NL80211_S1G_SHORT_BEACON_ATTR_TAIL]);
net/wireless/nl80211.c
7166
nla_len(tb[NL80211_S1G_SHORT_BEACON_ATTR_TAIL]);
net/wireless/nl80211.c
8857
struct nlattr *tb[NL80211_STA_WME_MAX + 1];
net/wireless/nl80211.c
8866
err = nla_parse_nested_deprecated(tb, NL80211_STA_WME_MAX, nla,
net/wireless/nl80211.c
8872
if (tb[NL80211_STA_WME_UAPSD_QUEUES])
net/wireless/nl80211.c
8874
tb[NL80211_STA_WME_UAPSD_QUEUES]);
net/wireless/nl80211.c
8878
if (tb[NL80211_STA_WME_MAX_SP])
net/wireless/nl80211.c
8879
params->max_sp = nla_get_u8(tb[NL80211_STA_WME_MAX_SP]);
net/wireless/pmsr.c
100
tb[NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP],
net/wireless/pmsr.c
106
if (tb[NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST])
net/wireless/pmsr.c
108
nla_get_u8(tb[NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST]);
net/wireless/pmsr.c
113
tb[NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST],
net/wireless/pmsr.c
119
if (tb[NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES])
net/wireless/pmsr.c
121
nla_get_u8(tb[NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES]);
net/wireless/pmsr.c
123
out->ftm.request_lci = !!tb[NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI];
net/wireless/pmsr.c
126
tb[NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI],
net/wireless/pmsr.c
132
!!tb[NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC];
net/wireless/pmsr.c
135
tb[NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC],
net/wireless/pmsr.c
141
!!tb[NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED];
net/wireless/pmsr.c
144
tb[NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED],
net/wireless/pmsr.c
158
!!tb[NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED];
net/wireless/pmsr.c
16
struct nlattr *tb[NL80211_PMSR_FTM_REQ_ATTR_MAX + 1];
net/wireless/pmsr.c
161
tb[NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED],
net/wireless/pmsr.c
175
tb[NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST],
net/wireless/pmsr.c
183
tb[NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST],
net/wireless/pmsr.c
191
tb[NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE],
net/wireless/pmsr.c
196
if (tb[NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION])
net/wireless/pmsr.c
198
nla_get_u8(tb[NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION]);
net/wireless/pmsr.c
203
!!tb[NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK];
net/wireless/pmsr.c
207
tb[NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK],
net/wireless/pmsr.c
212
if (tb[NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR]) {
net/wireless/pmsr.c
215
tb[NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR],
net/wireless/pmsr.c
221
nla_get_u8(tb[NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR]);
net/wireless/pmsr.c
224
out->ftm.rsta = !!tb[NL80211_PMSR_FTM_REQ_ATTR_RSTA];
net/wireless/pmsr.c
228
tb[NL80211_PMSR_FTM_REQ_ATTR_RSTA],
net/wireless/pmsr.c
236
tb[NL80211_PMSR_FTM_REQ_ATTR_RSTA],
net/wireless/pmsr.c
245
tb[NL80211_PMSR_FTM_REQ_ATTR_RSTA],
net/wireless/pmsr.c
254
tb[NL80211_PMSR_FTM_REQ_ATTR_RSTA],
net/wireless/pmsr.c
261
!tb[NL80211_PMSR_FTM_REQ_ATTR_NOMINAL_TIME]) {
net/wireless/pmsr.c
266
if (tb[NL80211_PMSR_FTM_REQ_ATTR_NOMINAL_TIME])
net/wireless/pmsr.c
268
nla_get_u32(tb[NL80211_PMSR_FTM_REQ_ATTR_NOMINAL_TIME]);
net/wireless/pmsr.c
270
if (tb[NL80211_PMSR_FTM_REQ_ATTR_MIN_TIME_BETWEEN_MEASUREMENTS])
net/wireless/pmsr.c
272
nla_get_u32(tb[NL80211_PMSR_FTM_REQ_ATTR_MIN_TIME_BETWEEN_MEASUREMENTS]);
net/wireless/pmsr.c
274
if (tb[NL80211_PMSR_FTM_REQ_ATTR_MAX_TIME_BETWEEN_MEASUREMENTS])
net/wireless/pmsr.c
276
nla_get_u32(tb[NL80211_PMSR_FTM_REQ_ATTR_MAX_TIME_BETWEEN_MEASUREMENTS]);
net/wireless/pmsr.c
278
if (tb[NL80211_PMSR_FTM_REQ_ATTR_AW_DURATION])
net/wireless/pmsr.c
280
nla_get_u8(tb[NL80211_PMSR_FTM_REQ_ATTR_AW_DURATION]);
net/wireless/pmsr.c
282
if (tb[NL80211_PMSR_FTM_REQ_ATTR_NUM_MEASUREMENTS])
net/wireless/pmsr.c
284
nla_get_u32(tb[NL80211_PMSR_FTM_REQ_ATTR_NUM_MEASUREMENTS]);
net/wireless/pmsr.c
287
if (tb[NL80211_PMSR_FTM_REQ_ATTR_INGRESS])
net/wireless/pmsr.c
289
nla_get_u64(tb[NL80211_PMSR_FTM_REQ_ATTR_INGRESS]);
net/wireless/pmsr.c
291
if (tb[NL80211_PMSR_FTM_REQ_ATTR_EGRESS])
net/wireless/pmsr.c
293
nla_get_u64(tb[NL80211_PMSR_FTM_REQ_ATTR_EGRESS]);
net/wireless/pmsr.c
296
nla_get_flag(tb[NL80211_PMSR_FTM_REQ_ATTR_PD_SUPPRESS_RESULTS]);
net/wireless/pmsr.c
301
tb[NL80211_PMSR_FTM_REQ_ATTR_PD_SUPPRESS_RESULTS],
net/wireless/pmsr.c
314
struct nlattr *tb[NL80211_PMSR_PEER_ATTR_MAX + 1];
net/wireless/pmsr.c
321
nla_parse_nested_deprecated(tb, NL80211_PMSR_PEER_ATTR_MAX, peer,
net/wireless/pmsr.c
324
if (!tb[NL80211_PMSR_PEER_ATTR_ADDR] ||
net/wireless/pmsr.c
325
!tb[NL80211_PMSR_PEER_ATTR_CHAN] ||
net/wireless/pmsr.c
326
!tb[NL80211_PMSR_PEER_ATTR_REQ]) {
net/wireless/pmsr.c
332
memcpy(out->addr, nla_data(tb[NL80211_PMSR_PEER_ATTR_ADDR]), ETH_ALEN);
net/wireless/pmsr.c
334
if (tb[NL80211_PMSR_PEER_ATTR_REQ_TYPE])
net/wireless/pmsr.c
336
nla_get_u32(tb[NL80211_PMSR_PEER_ATTR_REQ_TYPE]);
net/wireless/pmsr.c
34
nla_parse_nested_deprecated(tb, NL80211_PMSR_FTM_REQ_ATTR_MAX, ftmreq,
net/wireless/pmsr.c
343
tb[NL80211_PMSR_PEER_ATTR_REQ_TYPE],
net/wireless/pmsr.c
350
tb[NL80211_PMSR_PEER_ATTR_CHAN],
net/wireless/pmsr.c
362
tb[NL80211_PMSR_PEER_ATTR_REQ], NULL,
net/wireless/pmsr.c
367
tb[NL80211_PMSR_PEER_ATTR_REQ],
net/wireless/pmsr.c
37
if (tb[NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE])
net/wireless/pmsr.c
38
preamble = nla_get_u32(tb[NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE]);
net/wireless/pmsr.c
48
if (!tb[NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE]) {
net/wireless/pmsr.c
58
tb[NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE],
net/wireless/pmsr.c
66
tb[NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE],
net/wireless/pmsr.c
74
if (tb[NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD])
net/wireless/pmsr.c
76
nla_get_u16(tb[NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD]);
net/wireless/pmsr.c
78
out->ftm.asap = !!tb[NL80211_PMSR_FTM_REQ_ATTR_ASAP];
net/wireless/pmsr.c
81
tb[NL80211_PMSR_FTM_REQ_ATTR_ASAP],
net/wireless/pmsr.c
93
if (tb[NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP])
net/wireless/pmsr.c
95
nla_get_u8(tb[NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP]);
net/xfrm/xfrm_interface_core.c
102
info->if_id = nla_get_u32(tb[LWT_XFRM_IF_ID]);
net/xfrm/xfrm_interface_core.c
104
if (tb[LWT_XFRM_LINK])
net/xfrm/xfrm_interface_core.c
105
info->link = nla_get_u32(tb[LWT_XFRM_LINK]);
net/xfrm/xfrm_interface_core.c
78
struct nlattr *tb[LWT_XFRM_MAX + 1];
net/xfrm/xfrm_interface_core.c
792
static int xfrmi_validate(struct nlattr *tb[], struct nlattr *data[],
net/xfrm/xfrm_interface_core.c
83
ret = nla_parse_nested(tb, LWT_XFRM_MAX, nla, xfrm_lwt_policy, extack);
net/xfrm/xfrm_interface_core.c
864
static int xfrmi_changelink(struct net_device *dev, struct nlattr *tb[],
net/xfrm/xfrm_interface_core.c
87
if (!tb[LWT_XFRM_IF_ID]) {
security/keys/trusted-keys/trusted_tpm1.c
364
static int osap(struct tpm_buf *tb, struct osapsess *s,
security/keys/trusted-keys/trusted_tpm1.c
378
tpm_buf_reset(tb, TPM_TAG_RQU_COMMAND, TPM_ORD_OSAP);
security/keys/trusted-keys/trusted_tpm1.c
379
tpm_buf_append_u16(tb, type);
security/keys/trusted-keys/trusted_tpm1.c
380
tpm_buf_append_u32(tb, handle);
security/keys/trusted-keys/trusted_tpm1.c
381
tpm_buf_append(tb, ononce, TPM_NONCE_SIZE);
security/keys/trusted-keys/trusted_tpm1.c
383
ret = trusted_tpm_send(tb->data, tb->length);
security/keys/trusted-keys/trusted_tpm1.c
387
s->handle = LOAD32(tb->data, TPM_DATA_OFFSET);
security/keys/trusted-keys/trusted_tpm1.c
388
memcpy(s->enonce, &(tb->data[TPM_DATA_OFFSET + sizeof(uint32_t)]),
security/keys/trusted-keys/trusted_tpm1.c
390
memcpy(enonce, &(tb->data[TPM_DATA_OFFSET + sizeof(uint32_t) +
security/keys/trusted-keys/trusted_tpm1.c
399
static int oiap(struct tpm_buf *tb, uint32_t *handle, unsigned char *nonce)
security/keys/trusted-keys/trusted_tpm1.c
406
tpm_buf_reset(tb, TPM_TAG_RQU_COMMAND, TPM_ORD_OIAP);
security/keys/trusted-keys/trusted_tpm1.c
407
ret = trusted_tpm_send(tb->data, tb->length);
security/keys/trusted-keys/trusted_tpm1.c
411
*handle = LOAD32(tb->data, TPM_DATA_OFFSET);
security/keys/trusted-keys/trusted_tpm1.c
412
memcpy(nonce, &tb->data[TPM_DATA_OFFSET + sizeof(uint32_t)],
security/keys/trusted-keys/trusted_tpm1.c
429
static int tpm_seal(struct tpm_buf *tb, uint16_t keytype,
security/keys/trusted-keys/trusted_tpm1.c
454
ret = osap(tb, &sess, keyauth, keytype, keyhandle);
security/keys/trusted-keys/trusted_tpm1.c
504
tpm_buf_reset(tb, TPM_TAG_RQU_AUTH1_COMMAND, TPM_ORD_SEAL);
security/keys/trusted-keys/trusted_tpm1.c
505
tpm_buf_append_u32(tb, keyhandle);
security/keys/trusted-keys/trusted_tpm1.c
506
tpm_buf_append(tb, td->encauth, SHA1_DIGEST_SIZE);
security/keys/trusted-keys/trusted_tpm1.c
507
tpm_buf_append_u32(tb, pcrinfosize);
security/keys/trusted-keys/trusted_tpm1.c
508
tpm_buf_append(tb, pcrinfo, pcrinfosize);
security/keys/trusted-keys/trusted_tpm1.c
509
tpm_buf_append_u32(tb, datalen);
security/keys/trusted-keys/trusted_tpm1.c
510
tpm_buf_append(tb, data, datalen);
security/keys/trusted-keys/trusted_tpm1.c
511
tpm_buf_append_u32(tb, sess.handle);
security/keys/trusted-keys/trusted_tpm1.c
512
tpm_buf_append(tb, td->nonceodd, TPM_NONCE_SIZE);
security/keys/trusted-keys/trusted_tpm1.c
513
tpm_buf_append_u8(tb, cont);
security/keys/trusted-keys/trusted_tpm1.c
514
tpm_buf_append(tb, td->pubauth, SHA1_DIGEST_SIZE);
security/keys/trusted-keys/trusted_tpm1.c
516
ret = trusted_tpm_send(tb->data, tb->length);
security/keys/trusted-keys/trusted_tpm1.c
521
sealinfosize = LOAD32(tb->data, TPM_DATA_OFFSET + sizeof(uint32_t));
security/keys/trusted-keys/trusted_tpm1.c
522
encdatasize = LOAD32(tb->data, TPM_DATA_OFFSET + sizeof(uint32_t) +
security/keys/trusted-keys/trusted_tpm1.c
528
ret = TSS_checkhmac1(tb->data, ordinal, td->nonceodd, sess.secret,
security/keys/trusted-keys/trusted_tpm1.c
534
memcpy(blob, tb->data + TPM_DATA_OFFSET, storedsize);
security/keys/trusted-keys/trusted_tpm1.c
545
static int tpm_unseal(struct tpm_buf *tb,
security/keys/trusted-keys/trusted_tpm1.c
563
ret = oiap(tb, &authhandle1, enonce1);
security/keys/trusted-keys/trusted_tpm1.c
568
ret = oiap(tb, &authhandle2, enonce2);
security/keys/trusted-keys/trusted_tpm1.c
595
tpm_buf_reset(tb, TPM_TAG_RQU_AUTH2_COMMAND, TPM_ORD_UNSEAL);
security/keys/trusted-keys/trusted_tpm1.c
596
tpm_buf_append_u32(tb, keyhandle);
security/keys/trusted-keys/trusted_tpm1.c
597
tpm_buf_append(tb, blob, bloblen);
security/keys/trusted-keys/trusted_tpm1.c
598
tpm_buf_append_u32(tb, authhandle1);
security/keys/trusted-keys/trusted_tpm1.c
599
tpm_buf_append(tb, nonceodd, TPM_NONCE_SIZE);
security/keys/trusted-keys/trusted_tpm1.c
600
tpm_buf_append_u8(tb, cont);
security/keys/trusted-keys/trusted_tpm1.c
601
tpm_buf_append(tb, authdata1, SHA1_DIGEST_SIZE);
security/keys/trusted-keys/trusted_tpm1.c
602
tpm_buf_append_u32(tb, authhandle2);
security/keys/trusted-keys/trusted_tpm1.c
603
tpm_buf_append(tb, nonceodd, TPM_NONCE_SIZE);
security/keys/trusted-keys/trusted_tpm1.c
604
tpm_buf_append_u8(tb, cont);
security/keys/trusted-keys/trusted_tpm1.c
605
tpm_buf_append(tb, authdata2, SHA1_DIGEST_SIZE);
security/keys/trusted-keys/trusted_tpm1.c
607
ret = trusted_tpm_send(tb->data, tb->length);
security/keys/trusted-keys/trusted_tpm1.c
613
*datalen = LOAD32(tb->data, TPM_DATA_OFFSET);
security/keys/trusted-keys/trusted_tpm1.c
614
ret = TSS_checkhmac2(tb->data, ordinal, nonceodd,
security/keys/trusted-keys/trusted_tpm1.c
624
memcpy(data, tb->data + TPM_DATA_OFFSET + sizeof(uint32_t), *datalen);
security/keys/trusted-keys/trusted_tpm1.c
634
struct tpm_buf tb;
security/keys/trusted-keys/trusted_tpm1.c
637
ret = tpm_buf_init(&tb, 0, 0);
security/keys/trusted-keys/trusted_tpm1.c
644
ret = tpm_seal(&tb, o->keytype, o->keyhandle, o->keyauth,
security/keys/trusted-keys/trusted_tpm1.c
650
tpm_buf_destroy(&tb);
security/keys/trusted-keys/trusted_tpm1.c
660
struct tpm_buf tb;
security/keys/trusted-keys/trusted_tpm1.c
663
ret = tpm_buf_init(&tb, 0, 0);
security/keys/trusted-keys/trusted_tpm1.c
667
ret = tpm_unseal(&tb, o->keyhandle, o->keyauth, p->blob, p->blob_len,
security/keys/trusted-keys/trusted_tpm1.c
675
tpm_buf_destroy(&tb);
tools/arch/powerpc/include/uapi/asm/kvm.h
222
__u64 tb;
tools/bpf/bpftool/main.h
252
int do_xdp_dump(struct ifinfomsg *ifinfo, struct nlattr **tb);
tools/bpf/bpftool/main.h
253
int do_filter_dump(struct tcmsg *ifinfo, struct nlattr **tb, const char *kind,
tools/bpf/bpftool/net.c
105
typedef int (*dump_nlmsg_t)(void *cookie, void *msg, struct nlattr **tb);
tools/bpf/bpftool/net.c
217
struct nlattr *tb[TCA_MAX + 1], *attr;
tools/bpf/bpftool/net.c
223
if (libbpf_nla_parse(tb, TCA_MAX, attr, len, NULL) != 0)
tools/bpf/bpftool/net.c
226
return dump_class_nlmsg(cookie, t, tb);
tools/bpf/bpftool/net.c
256
struct nlattr *tb[TCA_MAX + 1], *attr;
tools/bpf/bpftool/net.c
262
if (libbpf_nla_parse(tb, TCA_MAX, attr, len, NULL) != 0)
tools/bpf/bpftool/net.c
265
return dump_qdisc_nlmsg(cookie, t, tb);
tools/bpf/bpftool/net.c
295
struct nlattr *tb[TCA_MAX + 1], *attr;
tools/bpf/bpftool/net.c
301
if (libbpf_nla_parse(tb, TCA_MAX, attr, len, NULL) != 0)
tools/bpf/bpftool/net.c
304
return dump_filter_nlmsg(cookie, t, tb);
tools/bpf/bpftool/net.c
334
struct nlattr *tb[IFLA_MAX + 1], *attr;
tools/bpf/bpftool/net.c
340
if (libbpf_nla_parse(tb, IFLA_MAX, attr, len, NULL) != 0)
tools/bpf/bpftool/net.c
343
return dump_link_nlmsg(cookie, ifi, tb);
tools/bpf/bpftool/net.c
368
static int dump_link_nlmsg(void *cookie, void *msg, struct nlattr **tb)
tools/bpf/bpftool/net.c
390
tb[IFLA_IFNAME]
tools/bpf/bpftool/net.c
391
? libbpf_nla_getattr_str(tb[IFLA_IFNAME])
tools/bpf/bpftool/net.c
395
return do_xdp_dump(ifinfo, tb);
tools/bpf/bpftool/net.c
398
static int dump_class_qdisc_nlmsg(void *cookie, void *msg, struct nlattr **tb)
tools/bpf/bpftool/net.c
406
if (tb[TCA_KIND] &&
tools/bpf/bpftool/net.c
407
strcmp(libbpf_nla_data(tb[TCA_KIND]), "clsact") == 0)
tools/bpf/bpftool/net.c
426
tb[TCA_KIND]
tools/bpf/bpftool/net.c
427
? libbpf_nla_getattr_str(tb[TCA_KIND])
tools/bpf/bpftool/net.c
434
static int dump_filter_nlmsg(void *cookie, void *msg, struct nlattr **tb)
tools/bpf/bpftool/net.c
438
return do_filter_dump((struct tcmsg *)msg, tb, filter_info->kind,
tools/bpf/bpftool/netlink_dumper.c
104
struct nlattr *tb[TCA_ACT_MAX + 1];
tools/bpf/bpftool/netlink_dumper.c
109
if (libbpf_nla_parse_nested(tb, TCA_ACT_MAX, attr, NULL) < 0)
tools/bpf/bpftool/netlink_dumper.c
112
if (tb[TCA_ACT_KIND] &&
tools/bpf/bpftool/netlink_dumper.c
113
strcmp(libbpf_nla_data(tb[TCA_ACT_KIND]), "bpf") == 0)
tools/bpf/bpftool/netlink_dumper.c
114
return do_bpf_dump_one_act(tb[TCA_ACT_OPTIONS]);
tools/bpf/bpftool/netlink_dumper.c
121
struct nlattr *tb[TCA_ACT_MAX_PRIO + 1];
tools/bpf/bpftool/netlink_dumper.c
124
if (libbpf_nla_parse_nested(tb, TCA_ACT_MAX_PRIO, attr, NULL) < 0)
tools/bpf/bpftool/netlink_dumper.c
129
ret = do_dump_one_act(tb[act]);
tools/bpf/bpftool/netlink_dumper.c
14
static void xdp_dump_prog_id(struct nlattr **tb, int attr,
tools/bpf/bpftool/netlink_dumper.c
140
struct nlattr *tb[TCA_BPF_MAX + 1];
tools/bpf/bpftool/netlink_dumper.c
143
if (libbpf_nla_parse_nested(tb, TCA_BPF_MAX, attr, NULL) < 0)
tools/bpf/bpftool/netlink_dumper.c
146
if (tb[TCA_BPF_NAME])
tools/bpf/bpftool/netlink_dumper.c
148
libbpf_nla_getattr_str(tb[TCA_BPF_NAME]));
tools/bpf/bpftool/netlink_dumper.c
149
if (tb[TCA_BPF_ID])
tools/bpf/bpftool/netlink_dumper.c
151
libbpf_nla_getattr_u32(tb[TCA_BPF_ID]));
tools/bpf/bpftool/netlink_dumper.c
152
if (tb[TCA_BPF_ACT]) {
tools/bpf/bpftool/netlink_dumper.c
153
ret = do_bpf_act_dump(tb[TCA_BPF_ACT]);
tools/bpf/bpftool/netlink_dumper.c
161
int do_filter_dump(struct tcmsg *info, struct nlattr **tb, const char *kind,
tools/bpf/bpftool/netlink_dumper.c
166
if (tb[TCA_OPTIONS] &&
tools/bpf/bpftool/netlink_dumper.c
167
strcmp(libbpf_nla_data(tb[TCA_KIND]), "bpf") == 0) {
tools/bpf/bpftool/netlink_dumper.c
173
ret = do_bpf_filter_dump(tb[TCA_OPTIONS]);
tools/bpf/bpftool/netlink_dumper.c
18
if (!tb[attr])
tools/bpf/bpftool/netlink_dumper.c
24
NET_DUMP_UINT("id", " id %u", libbpf_nla_getattr_u32(tb[attr]))
tools/bpf/bpftool/netlink_dumper.c
32
struct nlattr *tb[IFLA_XDP_MAX + 1];
tools/bpf/bpftool/netlink_dumper.c
35
if (libbpf_nla_parse_nested(tb, IFLA_XDP_MAX, attr, NULL) < 0)
tools/bpf/bpftool/netlink_dumper.c
38
if (!tb[IFLA_XDP_ATTACHED])
tools/bpf/bpftool/netlink_dumper.c
41
mode = libbpf_nla_getattr_u8(tb[IFLA_XDP_ATTACHED]);
tools/bpf/bpftool/netlink_dumper.c
55
xdp_dump_prog_id(tb, IFLA_XDP_SKB_PROG_ID, "generic", true);
tools/bpf/bpftool/netlink_dumper.c
56
xdp_dump_prog_id(tb, IFLA_XDP_DRV_PROG_ID, "driver", true);
tools/bpf/bpftool/netlink_dumper.c
57
xdp_dump_prog_id(tb, IFLA_XDP_HW_PROG_ID, "offload", true);
tools/bpf/bpftool/netlink_dumper.c
61
xdp_dump_prog_id(tb, IFLA_XDP_PROG_ID, "driver", false);
tools/bpf/bpftool/netlink_dumper.c
63
xdp_dump_prog_id(tb, IFLA_XDP_PROG_ID, "generic", false);
tools/bpf/bpftool/netlink_dumper.c
65
xdp_dump_prog_id(tb, IFLA_XDP_PROG_ID, "offload", false);
tools/bpf/bpftool/netlink_dumper.c
72
int do_xdp_dump(struct ifinfomsg *ifinfo, struct nlattr **tb)
tools/bpf/bpftool/netlink_dumper.c
74
if (!tb[IFLA_XDP])
tools/bpf/bpftool/netlink_dumper.c
77
return do_xdp_dump_one(tb[IFLA_XDP], (unsigned int)ifinfo->ifi_index,
tools/bpf/bpftool/netlink_dumper.c
78
libbpf_nla_getattr_str(tb[IFLA_IFNAME]));
tools/bpf/bpftool/netlink_dumper.c
83
struct nlattr *tb[TCA_ACT_BPF_MAX + 1];
tools/bpf/bpftool/netlink_dumper.c
85
if (libbpf_nla_parse_nested(tb, TCA_ACT_BPF_MAX, attr, NULL) < 0)
tools/bpf/bpftool/netlink_dumper.c
88
if (!tb[TCA_ACT_BPF_PARMS])
tools/bpf/bpftool/netlink_dumper.c
92
if (tb[TCA_ACT_BPF_NAME])
tools/bpf/bpftool/netlink_dumper.c
94
libbpf_nla_getattr_str(tb[TCA_ACT_BPF_NAME]));
tools/bpf/bpftool/netlink_dumper.c
95
if (tb[TCA_ACT_BPF_ID])
tools/bpf/bpftool/netlink_dumper.c
97
libbpf_nla_getattr_u32(tb[TCA_ACT_BPF_ID]));
tools/bpf/resolve_btfids/main.c
1250
const struct btf_type *tb = btf__type_by_id(btf, *(__u32 *)b);
tools/bpf/resolve_btfids/main.c
1255
nb = btf__str_by_offset(btf, tb->name_off);
tools/lib/bpf/btf.c
1068
struct btf_type *tb = btf_type_by_id(btf, i);
tools/lib/bpf/btf.c
1070
const char *nb = btf__str_by_offset(btf, tb->name_off);
tools/lib/bpf/netlink.c
256
struct nlattr *tb[CTRL_ATTR_FAMILY_ID + 1];
tools/lib/bpf/netlink.c
259
libbpf_nla_parse(tb, CTRL_ATTR_FAMILY_ID, na,
tools/lib/bpf/netlink.c
26
typedef int (*libbpf_dump_nlmsg_t)(void *cookie, void *msg, struct nlattr **tb);
tools/lib/bpf/netlink.c
261
if (!tb[CTRL_ATTR_FAMILY_ID])
tools/lib/bpf/netlink.c
264
*id = libbpf_nla_getattr_u16(tb[CTRL_ATTR_FAMILY_ID]);
tools/lib/bpf/netlink.c
349
struct nlattr *tb[IFLA_MAX + 1], *attr;
tools/lib/bpf/netlink.c
356
if (libbpf_nla_parse(tb, IFLA_MAX, attr, len, NULL) != 0)
tools/lib/bpf/netlink.c
359
return dump_link_nlmsg(cookie, ifi, tb);
tools/lib/bpf/netlink.c
362
static int get_xdp_info(void *cookie, void *msg, struct nlattr **tb)
tools/lib/bpf/netlink.c
372
if (!tb[IFLA_XDP])
tools/lib/bpf/netlink.c
375
ret = libbpf_nla_parse_nested(xdp_tb, IFLA_XDP_MAX, tb[IFLA_XDP], NULL);
tools/lib/bpf/netlink.c
412
struct nlattr *tb[NETDEV_CMD_MAX + 1];
tools/lib/bpf/netlink.c
416
libbpf_nla_parse(tb, NETDEV_CMD_MAX, na,
tools/lib/bpf/netlink.c
419
if (!tb[NETDEV_A_DEV_IFINDEX] || !tb[NETDEV_A_DEV_XDP_FEATURES])
tools/lib/bpf/netlink.c
422
ifindex = libbpf_nla_getattr_u32(tb[NETDEV_A_DEV_IFINDEX]);
tools/lib/bpf/netlink.c
426
md->flags = libbpf_nla_getattr_u64(tb[NETDEV_A_DEV_XDP_FEATURES]);
tools/lib/bpf/netlink.c
427
if (tb[NETDEV_A_DEV_XDP_ZC_MAX_SEGS])
tools/lib/bpf/netlink.c
429
libbpf_nla_getattr_u32(tb[NETDEV_A_DEV_XDP_ZC_MAX_SEGS]);
tools/lib/bpf/netlink.c
672
static int __get_tc_info(void *cookie, struct tcmsg *tc, struct nlattr **tb,
tools/lib/bpf/netlink.c
682
if (!tb[TCA_OPTIONS])
tools/lib/bpf/netlink.c
685
libbpf_nla_parse_nested(tbb, TCA_BPF_MAX, tb[TCA_OPTIONS], NULL);
tools/lib/bpf/netlink.c
701
struct nlattr *tb[TCA_MAX + 1];
tools/lib/bpf/netlink.c
703
libbpf_nla_parse(tb, TCA_MAX,
tools/lib/bpf/netlink.c
706
if (!tb[TCA_KIND])
tools/lib/bpf/netlink.c
708
return __get_tc_info(cookie, tc, tb, nh->nlmsg_flags & NLM_F_ECHO);
tools/lib/bpf/nlattr.c
104
int libbpf_nla_parse(struct nlattr *tb[], int maxtype, struct nlattr *head,
tools/lib/bpf/nlattr.c
110
memset(tb, 0, sizeof(struct nlattr *) * (maxtype + 1));
tools/lib/bpf/nlattr.c
124
if (tb[type]) {
tools/lib/bpf/nlattr.c
129
tb[type] = nla;
tools/lib/bpf/nlattr.c
148
int libbpf_nla_parse_nested(struct nlattr *tb[], int maxtype,
tools/lib/bpf/nlattr.c
152
return libbpf_nla_parse(tb, maxtype, libbpf_nla_data(nla),
tools/lib/bpf/nlattr.c
163
struct nlattr *tb[NLMSGERR_ATTR_MAX + 1], *attr;
tools/lib/bpf/nlattr.c
182
if (libbpf_nla_parse(tb, NLMSGERR_ATTR_MAX, attr, alen,
tools/lib/bpf/nlattr.c
188
if (tb[NLMSGERR_ATTR_MSG])
tools/lib/bpf/nlattr.c
189
errmsg = (char *) libbpf_nla_data(tb[NLMSGERR_ATTR_MSG]);
tools/lib/bpf/nlattr.h
123
int libbpf_nla_parse(struct nlattr *tb[], int maxtype, struct nlattr *head,
tools/lib/bpf/nlattr.h
125
int libbpf_nla_parse_nested(struct nlattr *tb[], int maxtype,
tools/lib/thermal/thermal_nl.c
78
struct nlattr *tb[CTRL_ATTR_MAX + 1];
tools/lib/thermal/thermal_nl.c
83
nla_parse(tb, CTRL_ATTR_MAX, genlmsg_attrdata(gnlh, 0),
tools/lib/thermal/thermal_nl.c
86
if (!tb[CTRL_ATTR_MCAST_GROUPS])
tools/lib/thermal/thermal_nl.c
89
nla_for_each_nested(mcgrp, tb[CTRL_ATTR_MCAST_GROUPS], rem_mcgrp) {
tools/net/ynl/lib/ynl.c
209
const struct nlattr *tb[NLMSGERR_ATTR_MAX + 1] = {};
tools/net/ynl/lib/ynl.c
229
tb[type] = attr;
tools/net/ynl/lib/ynl.c
251
if (tb[NLMSGERR_ATTR_OFFS]) {
tools/net/ynl/lib/ynl.c
255
ys->err.attr_offs = ynl_attr_get_u32(tb[NLMSGERR_ATTR_OFFS]);
tools/net/ynl/lib/ynl.c
274
if (tb[NLMSGERR_ATTR_MISS_TYPE]) {
tools/net/ynl/lib/ynl.c
280
type = ynl_attr_get_u32(tb[NLMSGERR_ATTR_MISS_TYPE]);
tools/net/ynl/lib/ynl.c
289
if (tb[NLMSGERR_ATTR_MISS_NEST]) {
tools/net/ynl/lib/ynl.c
290
off = ynl_attr_get_u32(tb[NLMSGERR_ATTR_MISS_NEST]);
tools/power/x86/intel-speed-select/hfi-events.c
125
struct nlattr *tb[CTRL_ATTR_MAX + 1];
tools/power/x86/intel-speed-select/hfi-events.c
130
nla_parse(tb, CTRL_ATTR_MAX, genlmsg_attrdata(gnlh, 0),
tools/power/x86/intel-speed-select/hfi-events.c
132
if (!tb[CTRL_ATTR_MCAST_GROUPS])
tools/power/x86/intel-speed-select/hfi-events.c
135
nla_for_each_nested(mcgrp, tb[CTRL_ATTR_MCAST_GROUPS], i) {
tools/testing/selftests/net/mptcp/mptcp_diag.c
159
static void parse_rtattr_flags(struct rtattr *tb[], int max, struct rtattr *rta,
tools/testing/selftests/net/mptcp/mptcp_diag.c
164
memset(tb, 0, sizeof(struct rtattr *) * (max + 1));
tools/testing/selftests/net/mptcp/mptcp_diag.c
167
if (type <= max && !tb[type])
tools/testing/selftests/net/mptcp/mptcp_diag.c
168
tb[type] = rta;
tools/testing/selftests/net/mptcp/mptcp_diag.c
209
static void print_subflow_info(struct rtattr *tb[])
tools/testing/selftests/net/mptcp/mptcp_diag.c
214
if (tb[MPTCP_SUBFLOW_ATTR_FLAGS]) {
tools/testing/selftests/net/mptcp/mptcp_diag.c
217
flags = rta_getattr(__u32, tb[MPTCP_SUBFLOW_ATTR_FLAGS]);
tools/testing/selftests/net/mptcp/mptcp_diag.c
241
if (tb[MPTCP_SUBFLOW_ATTR_TOKEN_REM] &&
tools/testing/selftests/net/mptcp/mptcp_diag.c
242
tb[MPTCP_SUBFLOW_ATTR_TOKEN_LOC] &&
tools/testing/selftests/net/mptcp/mptcp_diag.c
243
tb[MPTCP_SUBFLOW_ATTR_ID_REM] &&
tools/testing/selftests/net/mptcp/mptcp_diag.c
244
tb[MPTCP_SUBFLOW_ATTR_ID_LOC])
tools/testing/selftests/net/mptcp/mptcp_diag.c
246
rta_getattr(__u32, tb[MPTCP_SUBFLOW_ATTR_TOKEN_REM]),
tools/testing/selftests/net/mptcp/mptcp_diag.c
247
rta_getattr(__u8, tb[MPTCP_SUBFLOW_ATTR_ID_REM]),
tools/testing/selftests/net/mptcp/mptcp_diag.c
248
rta_getattr(__u32, tb[MPTCP_SUBFLOW_ATTR_TOKEN_LOC]),
tools/testing/selftests/net/mptcp/mptcp_diag.c
249
rta_getattr(__u8, tb[MPTCP_SUBFLOW_ATTR_ID_LOC]));
tools/testing/selftests/net/mptcp/mptcp_diag.c
250
if (tb[MPTCP_SUBFLOW_ATTR_MAP_SEQ])
tools/testing/selftests/net/mptcp/mptcp_diag.c
252
rta_getattr(__u64, tb[MPTCP_SUBFLOW_ATTR_MAP_SEQ]));
tools/testing/selftests/net/mptcp/mptcp_diag.c
253
if (tb[MPTCP_SUBFLOW_ATTR_MAP_SFSEQ])
tools/testing/selftests/net/mptcp/mptcp_diag.c
255
rta_getattr(__u32, tb[MPTCP_SUBFLOW_ATTR_MAP_SFSEQ]));
tools/testing/selftests/net/mptcp/mptcp_diag.c
256
if (tb[MPTCP_SUBFLOW_ATTR_SSN_OFFSET])
tools/testing/selftests/net/mptcp/mptcp_diag.c
258
rta_getattr(__u32, tb[MPTCP_SUBFLOW_ATTR_SSN_OFFSET]));
tools/testing/selftests/net/mptcp/mptcp_diag.c
259
if (tb[MPTCP_SUBFLOW_ATTR_MAP_DATALEN])
tools/testing/selftests/net/mptcp/mptcp_diag.c
261
rta_getattr(__u32, tb[MPTCP_SUBFLOW_ATTR_MAP_DATALEN]));
tools/testing/selftests/net/mptcp/mptcp_diag.c
268
struct rtattr *tb[INET_DIAG_MAX + 1];
tools/testing/selftests/net/mptcp/mptcp_diag.c
27
#define parse_rtattr_nested(tb, max, rta) \
tools/testing/selftests/net/mptcp/mptcp_diag.c
270
parse_rtattr_flags(tb, INET_DIAG_MAX, (struct rtattr *)(r + 1),
tools/testing/selftests/net/mptcp/mptcp_diag.c
274
if (proto == IPPROTO_MPTCP && tb[INET_DIAG_INFO]) {
tools/testing/selftests/net/mptcp/mptcp_diag.c
275
int len = RTA_PAYLOAD(tb[INET_DIAG_INFO]);
tools/testing/selftests/net/mptcp/mptcp_diag.c
28
(parse_rtattr_flags((tb), (max), RTA_DATA(rta), RTA_PAYLOAD(rta), \
tools/testing/selftests/net/mptcp/mptcp_diag.c
281
memcpy(info, RTA_DATA(tb[INET_DIAG_INFO]), len);
tools/testing/selftests/net/mptcp/mptcp_diag.c
284
info = RTA_DATA(tb[INET_DIAG_INFO]);
tools/testing/selftests/net/mptcp/mptcp_diag.c
288
if (proto == IPPROTO_TCP && tb[INET_DIAG_ULP_INFO]) {
tools/testing/selftests/net/mptcp/mptcp_diag.c
292
tb[INET_DIAG_ULP_INFO]);
tools/testing/selftests/net/netfilter/nf_queue.c
105
if (tb[NFQA_SKB_INFO])
tools/testing/selftests/net/netfilter/nf_queue.c
106
skbinfo = ntohl(mnl_attr_get_u32(tb[NFQA_SKB_INFO]));
tools/testing/selftests/net/netfilter/nf_queue.c
41
const struct nlattr **tb = data;
tools/testing/selftests/net/netfilter/nf_queue.c
76
tb[type] = attr;
tools/testing/selftests/net/netfilter/nf_queue.c
82
struct nlattr *tb[NFQA_MAX+1] = { 0 };
tools/testing/selftests/net/netfilter/nf_queue.c
88
mnl_attr_parse(nlh, sizeof(struct nfgenmsg), parse_attr_cb, tb);
tools/testing/selftests/net/netfilter/nf_queue.c
89
if (tb[NFQA_PACKET_HDR]) {
tools/testing/selftests/net/netfilter/nf_queue.c
90
ph = mnl_attr_get_payload(tb[NFQA_PACKET_HDR]);
tools/testing/selftests/net/ovpn/ovpn-cli.c
1451
struct nlattr *tb[CTRL_ATTR_MAX + 1];
tools/testing/selftests/net/ovpn/ovpn-cli.c
1456
nla_parse(tb, CTRL_ATTR_MAX, genlmsg_attrdata(gnlh, 0),
tools/testing/selftests/net/ovpn/ovpn-cli.c
1459
if (!tb[CTRL_ATTR_MCAST_GROUPS])
tools/testing/selftests/net/ovpn/ovpn-cli.c
1462
nla_for_each_nested(mcgrp, tb[CTRL_ATTR_MCAST_GROUPS], rem_mcgrp) {
tools/testing/selftests/powerpc/pmu/ebb/trace.c
104
int trace_log_counter(struct trace_buffer *tb, u64 value)
tools/testing/selftests/powerpc/pmu/ebb/trace.c
109
e = trace_alloc_entry(tb, sizeof(value));
tools/testing/selftests/powerpc/pmu/ebb/trace.c
120
int trace_log_string(struct trace_buffer *tb, char *str)
tools/testing/selftests/powerpc/pmu/ebb/trace.c
129
e = trace_alloc_entry(tb, len + 1);
tools/testing/selftests/powerpc/pmu/ebb/trace.c
142
int trace_log_indent(struct trace_buffer *tb)
tools/testing/selftests/powerpc/pmu/ebb/trace.c
146
e = trace_alloc_entry(tb, 0);
tools/testing/selftests/powerpc/pmu/ebb/trace.c
155
int trace_log_outdent(struct trace_buffer *tb)
tools/testing/selftests/powerpc/pmu/ebb/trace.c
159
e = trace_alloc_entry(tb, 0);
tools/testing/selftests/powerpc/pmu/ebb/trace.c
17
struct trace_buffer *tb;
tools/testing/selftests/powerpc/pmu/ebb/trace.c
19
if (size < sizeof(*tb)) {
tools/testing/selftests/powerpc/pmu/ebb/trace.c
24
tb = mmap(NULL, size, PROT_READ | PROT_WRITE,
tools/testing/selftests/powerpc/pmu/ebb/trace.c
26
if (tb == MAP_FAILED) {
tools/testing/selftests/powerpc/pmu/ebb/trace.c
269
void trace_buffer_print(struct trace_buffer *tb)
tools/testing/selftests/powerpc/pmu/ebb/trace.c
276
printf(" address %p \n", tb);
tools/testing/selftests/powerpc/pmu/ebb/trace.c
277
printf(" tail %p\n", tb->tail);
tools/testing/selftests/powerpc/pmu/ebb/trace.c
278
printf(" size %llu\n", tb->size);
tools/testing/selftests/powerpc/pmu/ebb/trace.c
279
printf(" overflow %s\n", tb->overflow ? "TRUE" : "false");
tools/testing/selftests/powerpc/pmu/ebb/trace.c
282
p = tb->data;
tools/testing/selftests/powerpc/pmu/ebb/trace.c
287
while (trace_check_bounds(tb, p) && p < tb->tail) {
tools/testing/selftests/powerpc/pmu/ebb/trace.c
297
void trace_print_location(struct trace_buffer *tb)
tools/testing/selftests/powerpc/pmu/ebb/trace.c
299
printf("Trace buffer 0x%llx bytes @ %p\n", tb->size, tb);
tools/testing/selftests/powerpc/pmu/ebb/trace.c
31
tb->size = size;
tools/testing/selftests/powerpc/pmu/ebb/trace.c
32
tb->tail = tb->data;
tools/testing/selftests/powerpc/pmu/ebb/trace.c
33
tb->overflow = false;
tools/testing/selftests/powerpc/pmu/ebb/trace.c
35
return tb;
tools/testing/selftests/powerpc/pmu/ebb/trace.c
38
static bool trace_check_bounds(struct trace_buffer *tb, void *p)
tools/testing/selftests/powerpc/pmu/ebb/trace.c
40
return p < ((void *)tb + tb->size);
tools/testing/selftests/powerpc/pmu/ebb/trace.c
43
static bool trace_check_alloc(struct trace_buffer *tb, void *p)
tools/testing/selftests/powerpc/pmu/ebb/trace.c
51
if (tb->overflow)
tools/testing/selftests/powerpc/pmu/ebb/trace.c
54
if (!trace_check_bounds(tb, p)) {
tools/testing/selftests/powerpc/pmu/ebb/trace.c
55
tb->overflow = true;
tools/testing/selftests/powerpc/pmu/ebb/trace.c
62
static void *trace_alloc(struct trace_buffer *tb, int bytes)
tools/testing/selftests/powerpc/pmu/ebb/trace.c
66
p = tb->tail;
tools/testing/selftests/powerpc/pmu/ebb/trace.c
67
newtail = tb->tail + bytes;
tools/testing/selftests/powerpc/pmu/ebb/trace.c
68
if (!trace_check_alloc(tb, newtail))
tools/testing/selftests/powerpc/pmu/ebb/trace.c
71
tb->tail = newtail;
tools/testing/selftests/powerpc/pmu/ebb/trace.c
76
static struct trace_entry *trace_alloc_entry(struct trace_buffer *tb, int payload_size)
tools/testing/selftests/powerpc/pmu/ebb/trace.c
80
e = trace_alloc(tb, sizeof(*e) + payload_size);
tools/testing/selftests/powerpc/pmu/ebb/trace.c
87
int trace_log_reg(struct trace_buffer *tb, u64 reg, u64 value)
tools/testing/selftests/powerpc/pmu/ebb/trace.c
92
e = trace_alloc_entry(tb, sizeof(reg) + sizeof(value));
tools/testing/selftests/powerpc/pmu/ebb/trace.h
33
int trace_log_reg(struct trace_buffer *tb, u64 reg, u64 value);
tools/testing/selftests/powerpc/pmu/ebb/trace.h
34
int trace_log_counter(struct trace_buffer *tb, u64 value);
tools/testing/selftests/powerpc/pmu/ebb/trace.h
35
int trace_log_string(struct trace_buffer *tb, char *str);
tools/testing/selftests/powerpc/pmu/ebb/trace.h
36
int trace_log_indent(struct trace_buffer *tb);
tools/testing/selftests/powerpc/pmu/ebb/trace.h
37
int trace_log_outdent(struct trace_buffer *tb);
tools/testing/selftests/powerpc/pmu/ebb/trace.h
38
void trace_buffer_print(struct trace_buffer *tb);
tools/testing/selftests/powerpc/pmu/ebb/trace.h
39
void trace_print_location(struct trace_buffer *tb);