Lines Matching full:reassembly

47 reassembly[CONFIG_NET_IPV6_FRAGMENT_MAX_COUNT];  variable
130 if (k_work_delayable_remaining_get(&reassembly[i].timer) && in reassembly_get()
131 reassembly[i].id == id && in reassembly_get()
132 net_ipv6_addr_cmp(src, &reassembly[i].src) && in reassembly_get()
133 net_ipv6_addr_cmp(dst, &reassembly[i].dst)) { in reassembly_get()
134 return &reassembly[i]; in reassembly_get()
137 if (k_work_delayable_remaining_get(&reassembly[i].timer)) { in reassembly_get()
150 k_work_reschedule(&reassembly[avail].timer, IPV6_REASSEMBLY_TIMEOUT); in reassembly_get()
152 net_ipaddr_copy(&reassembly[avail].src, src); in reassembly_get()
153 net_ipaddr_copy(&reassembly[avail].dst, dst); in reassembly_get()
155 reassembly[avail].id = id; in reassembly_get()
157 return &reassembly[avail]; in reassembly_get()
171 if (reassembly[i].id != id || in reassembly_cancel()
172 !net_ipv6_addr_cmp(src, &reassembly[i].src) || in reassembly_cancel()
173 !net_ipv6_addr_cmp(dst, &reassembly[i].dst)) { in reassembly_cancel()
178 k_work_delayable_remaining_get(&reassembly[i].timer)); in reassembly_cancel()
179 k_work_cancel_delayable(&reassembly[i].timer); in reassembly_cancel()
181 NET_DBG("IPv6 reassembly id 0x%x remaining %d ms", in reassembly_cancel()
182 reassembly[i].id, remaining); in reassembly_cancel()
184 reassembly[i].id = 0U; in reassembly_cancel()
187 if (!reassembly[i].pkt[j]) { in reassembly_cancel()
191 NET_DBG("[%d] IPv6 reassembly pkt %p %zd bytes data", in reassembly_cancel()
192 j, reassembly[i].pkt[j], in reassembly_cancel()
193 net_pkt_get_len(reassembly[i].pkt[j])); in reassembly_cancel()
195 net_pkt_unref(reassembly[i].pkt[j]); in reassembly_cancel()
196 reassembly[i].pkt[j] = NULL; in reassembly_cancel()
220 reassembly_info("Reassembly cancelled", reass); in reassembly_timeout()
365 if (!k_work_delayable_remaining_get(&reassembly[i].timer)) { in net_ipv6_frag_foreach()
369 cb(&reassembly[i], user_data); in net_ipv6_frag_foreach()
377 * - a positive value if we can proceed with the reassembly
389 * We have to test several requirements before proceeding with the reassembly: in fragments_are_ready()
477 k_work_init_delayable(&reassembly[i].timer, in net_ipv6_handle_fragment_hdr()
498 NET_DBG("Cannot get reassembly slot, dropping pkt %p", pkt); in net_ipv6_handle_fragment_hdr()
516 * in reassembly chain in correct order. in net_ipv6_handle_fragment_hdr()
526 * then it will discard the whole reassembly. in net_ipv6_handle_fragment_hdr()
563 reassembly_info("Reassembly nth pkt", reass); in net_ipv6_handle_fragment_hdr()
569 reassembly_info("Reassembly last pkt", reass); in net_ipv6_handle_fragment_hdr()