Lines Matching refs:buffer

246 	net_buffer* buffer = entry->request_buffer;
247 if (buffer == NULL || buffer == kDeletedBuffer)
250 buffer = atomic_pointer_test_and_set(&entry->request_buffer,
251 (net_buffer*)NULL, buffer);
252 if (buffer == kDeletedBuffer)
255 return buffer;
260 put_request_buffer(ndp_entry* entry, net_buffer* buffer)
263 &entry->request_buffer, buffer, (net_buffer*)NULL);
265 // someone else took over ownership of the request buffer
266 gBufferModule->free(buffer);
274 net_buffer* buffer = atomic_pointer_get_and_set(&entry->request_buffer,
276 if (buffer != NULL && buffer != kDeletedBuffer)
277 gBufferModule->free(buffer);
345 net_buffer* buffer = iterator.Next();
347 gBufferModule->free(buffer);
371 net_buffer* buffer = iterator.Next();
374 TRACE((" NDP Dequeing packet %p...\n", buffer));
376 memcpy(buffer->destination, &hardware_address,
378 protocol->next->module->send_data(protocol->next, buffer);
661 ndp_receive_solicitation(net_buffer* buffer, bool* reuseBuffer)
665 NetBufferHeaderReader<neighbor_discovery_header> bufferHeader(buffer);
703 // send a reply (by reusing the buffer we got)
704 gBufferModule->trim(buffer, sizeof(neighbor_discovery_header));
717 sockaddr_in6* source = (sockaddr_in6*)buffer->source;
718 sockaddr_in6* destination = (sockaddr_in6*)buffer->destination;
722 buffer->flags = 0;
732 return sIPv6Module->send_data(sIPv6Protocol, buffer);
737 ndp_receive_advertisement(net_buffer* buffer)
740 if ((buffer->flags & MSG_MCAST) != 0)
743 NetBufferHeaderReader<neighbor_discovery_header> bufferHeader(buffer);
770 ndp_receive_router_advertisement(net_buffer* buffer)
772 NetBufferHeaderReader<router_advertisement_header> bufferHeader(buffer);
783 ndp_receive_data(net_buffer* buffer)
787 NetBufferHeaderReader<icmp6_hdr> icmp6Header(buffer);
796 ndp_receive_solicitation(buffer, &reuseBuffer);
801 ndp_receive_advertisement(buffer);
806 ndp_receive_router_advertisement(buffer);
811 gBufferModule->free(buffer);
867 // we'll still need our buffer, so in order to prevent it being
909 net_buffer* buffer = entry->request_buffer = gBufferModule->create(256);
915 NetBufferPrepend<neighbor_discovery_header> header(buffer);
927 sockaddr_in6* source = (sockaddr_in6*)buffer->source;
931 sockaddr_in6* destination = (sockaddr_in6*)buffer->destination;
934 buffer->protocol = IPPROTO_ICMPV6;
960 net_buffer* clone = gBufferModule->clone(buffer, true);
1022 ipv6_datalink_send_data(net_datalink_protocol* _protocol, net_buffer* buffer)
1026 memcpy(buffer->source, &protocol->hardware_address,
1029 if ((buffer->flags & MSG_MCAST) != 0) {
1032 (sockaddr_in6*)buffer->destination);
1033 memcpy(buffer->destination, &multicastDestination,
1040 ((struct sockaddr_in6*)buffer->destination)->sin6_addr);
1043 ((struct sockaddr_in6*)buffer->destination)->sin6_addr, &entry);
1053 buffer));
1054 entry->queue.Add(buffer);
1058 memcpy(buffer->destination, &entry->hardware_address,
1062 return protocol->next->module->send_data(protocol->next, buffer);