Lines Matching +full:multi +full:- +full:layer
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * net/sched/em_nbyte.c N-Byte ematch
28 data_len < (sizeof(*nbyte) + nbyte->len)) in em_nbyte_change()
29 return -EINVAL; in em_nbyte_change()
31 em->datalen = sizeof(*nbyte) + nbyte->len; in em_nbyte_change()
32 em->data = (unsigned long)kmemdup(data, em->datalen, GFP_KERNEL); in em_nbyte_change()
33 if (em->data == 0UL) in em_nbyte_change()
34 return -ENOMEM; in em_nbyte_change()
42 struct nbyte_data *nbyte = (struct nbyte_data *) em->data; in em_nbyte_match()
43 unsigned char *ptr = tcf_get_base_ptr(skb, nbyte->hdr.layer); in em_nbyte_match()
45 ptr += nbyte->hdr.off; in em_nbyte_match()
47 if (!tcf_valid_offset(skb, ptr, nbyte->hdr.len)) in em_nbyte_match()
50 return !memcmp(ptr, nbyte->pattern, nbyte->hdr.len); in em_nbyte_match()
71 MODULE_DESCRIPTION("ematch classifier for arbitrary skb multi-bytes");