Calmed down the networking stack a lot - since it basically works, there is no

reason to slow it down with debug output that much; this will also help investigating
some issues where you just aren't interested in most of the output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19672 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2007-01-01 22:10:43 +00:00
parent 10f5cebea3
commit af3a31f770
11 changed files with 32 additions and 29 deletions
@@ -32,7 +32,7 @@
#include <sys/sockio.h>
#define TRACE_ARP
//#define TRACE_ARP
#ifdef TRACE_ARP
# define TRACE(x) dprintf x
#else
@@ -130,7 +130,7 @@ ethernet_send_data(net_device *_device, net_buffer *buffer)
{
ethernet_device *device = (ethernet_device *)_device;
dprintf("try to send ethernet packet of %lu bytes (flags %ld):\n", buffer->size, buffer->flags);
//dprintf("try to send ethernet packet of %lu bytes (flags %ld):\n", buffer->size, buffer->flags);
if (buffer->size > device->frame_size || buffer->size < ETHER_HEADER_LENGTH)
return B_BAD_VALUE;
@@ -156,9 +156,9 @@ dprintf("try to send ethernet packet of %lu bytes (flags %ld):\n", buffer->size,
struct iovec iovec;
gBufferModule->get_iovecs(buffer, &iovec, 1);
dump_block((const char *)iovec.iov_base, buffer->size, " ");
//dump_block((const char *)iovec.iov_base, buffer->size, " ");
ssize_t bytesWritten = write(device->fd, iovec.iov_base, iovec.iov_len);
dprintf("sent: %ld\n", bytesWritten);
//dprintf("sent: %ld\n", bytesWritten);
if (bytesWritten < 0) {
device->stats.send.errors++;
@@ -28,7 +28,7 @@
#include <string.h>
#define TRACE_IPV4
//#define TRACE_IPV4
#ifdef TRACE_IPV4
# define TRACE(x) dprintf x
#else
@@ -12,7 +12,7 @@
#include <KernelExport.h>
#define TRACE_BUFFER_QUEUE
//#define TRACE_BUFFER_QUEUE
#ifdef TRACE_BUFFER_QUEUE
# define TRACE(x) dprintf x
#else
@@ -17,7 +17,7 @@
#include <KernelExport.h>
#define TRACE_ENDPOINT_MANAGER
//#define TRACE_ENDPOINT_MANAGER
#ifdef TRACE_ENDPOINT_MANAGER
# define TRACE(x) dprintf x
#else
@@ -41,7 +41,7 @@
// SACK, Selective Acknowledgment - RFC 2018, RFC 2883, RFC 3517
// Forward RTO-Recovery, RFC 4138
#define TRACE_TCP
//#define TRACE_TCP
#ifdef TRACE_TCP
# define TRACE(x) dprintf x
#else
@@ -380,7 +380,7 @@ TCPEndpoint::SendData(net_buffer *buffer)
* fSendMaxSegmentSize;
chunk = gBufferModule->split(buffer, chunkSize);
dprintf(" TCP::Send() split buffer at %lu (buffer size %lu, mss %lu) -> %p\n", chunkSize, socket->send.buffer_size, fSendMaxSegmentSize, chunk);
TRACE((" TCP::Send() split buffer at %lu (buffer size %lu, mss %lu) -> %p\n", chunkSize, socket->send.buffer_size, fSendMaxSegmentSize, chunk));
if (chunk == NULL)
return B_NO_MEMORY;
} else
@@ -475,7 +475,7 @@ TCPEndpoint::ReadData(size_t numBytes, uint32 flags, net_buffer** _buffer)
RecursiveLocker locker(fLock);
dprintf("read %lu bytes, %lu are available\n", numBytes, fReceiveQueue.Available());
TRACE(("read %lu bytes, %lu are available\n", numBytes, fReceiveQueue.Available()));
if (numBytes < fReceiveQueue.Available())
release_sem_etc(fReceiveLock, 1, B_DO_NOT_RESCHEDULE);
@@ -722,7 +722,7 @@ TCPEndpoint::Receive(tcp_segment_header &segment, net_buffer *buffer)
// this is a pure acknowledge segment - we're on the sending end
if (fSendUnacknowledged < segment.acknowledge
&& fSendMax >= segment.acknowledge) {
dprintf("header prediction send!\n");
TRACE(("header prediction send!\n"));
// and it only acknowledges outstanding data
// TODO: update RTT estimators
@@ -745,11 +745,11 @@ dprintf("header prediction send!\n");
} else if (segment.acknowledge == fSendUnacknowledged
&& fReceiveQueue.IsContiguous()
&& fReceiveQueue.Free() >= buffer->size) {
dprintf("header prediction receive!\n");
TRACE(("header prediction receive!\n"));
// we're on the receiving end of the connection, and this segment
// is the one we were expecting, in-sequence
fReceiveNext += buffer->size;
dprintf("receive next = %lu!\n", (uint32)fReceiveNext);
TRACE(("receive next = %lu!\n", (uint32)fReceiveNext));
fReceiveQueue.Add(buffer, segment.sequence);
release_sem_etc(fReceiveLock, 1, B_DO_NOT_RESCHEDULE);
@@ -805,7 +805,7 @@ dprintf("receive next = %lu!\n", (uint32)fReceiveNext);
}
// remove duplicate data at the start
dprintf("* remove %ld bytes from the start\n", drop);
TRACE(("* remove %ld bytes from the start\n", drop));
gBufferModule->remove_header(buffer, drop);
segment.sequence += drop;
}
@@ -830,7 +830,7 @@ dprintf("* remove %ld bytes from the start\n", drop);
}
segment.flags &= ~(TCP_FLAG_FINISH | TCP_FLAG_PUSH);
dprintf("* remove %ld bytes from the end\n", drop);
TRACE(("* remove %ld bytes from the end\n", drop));
gBufferModule->remove_trailer(buffer, drop);
}
@@ -859,7 +859,7 @@ dprintf("* remove %ld bytes from the end\n", drop);
// TODO: handle this!
if (buffer->size == 0 && advertisedWindow == fSendWindow
&& (segment.flags & TCP_FLAG_FINISH) == 0) {
dprintf("duplicate ack!\n");
TRACE(("duplicate ack!\n"));
fDuplicateAcknowledgeCount++;
gStackModule->cancel_timer(&fRetransmitTimer);
@@ -876,10 +876,10 @@ dprintf("* remove %ld bytes from the end\n", drop);
// there is no outstanding data to be acknowledged
// TODO: if the transmit timer function is already waiting
// to acquire this endpoint's lock, we should stop it anyway
dprintf("all inflight data ack'd!\n");
TRACE(("all inflight data ack'd!\n"));
gStackModule->cancel_timer(&fRetransmitTimer);
} else {
dprintf("set retransmit timer!\n");
TRACE(("set retransmit timer!\n"));
// TODO: set retransmit timer correctly
if (!gStackModule->is_timer_active(&fRetransmitTimer))
gStackModule->set_timer(&fRetransmitTimer, 1000000LL);
@@ -893,7 +893,7 @@ dprintf("set retransmit timer!\n");
if (segment.acknowledge > fSendQueue.LastSequence() && fState > ESTABLISHED) {
// our TCP_FLAG_FINISH has been acknowledged
dprintf("FIN has been acknowledged!\n");
TRACE(("FIN has been acknowledged!\n"));
switch (fState) {
case FINISH_SENT:
@@ -923,7 +923,7 @@ dprintf("FIN has been acknowledged!\n");
// TODO: ignore data *after* FIN
if (segment.flags & TCP_FLAG_FINISH) {
dprintf("peer is finishing connection!");
TRACE(("peer is finishing connection!"));
fReceiveNext++;
fFlags |= FLAG_NO_RECEIVE;
@@ -966,7 +966,7 @@ dprintf("FIN has been acknowledged!\n");
if (buffer->size > 0) {
if (fReceiveNext == segment.sequence)
fReceiveNext += buffer->size;
dprintf("adding data, receive next = %lu!\n", (uint32)fReceiveNext);
TRACE(("adding data, receive next = %lu!\n", (uint32)fReceiveNext));
fReceiveQueue.Add(buffer, segment.sequence);
release_sem_etc(fReceiveLock, 1, B_DO_NOT_RESCHEDULE);
@@ -29,7 +29,7 @@
#include <NetBufferUtilities.h>
#include <NetUtilities.h>
#define TRACE_TCP
//#define TRACE_TCP
#ifdef TRACE_TCP
# define TRACE(x) dprintf x
# define TRACE_BLOCK(x) dump_block x
@@ -298,7 +298,7 @@ name_for_state(tcp_state state)
#if 0
void
static void
dump_tcp_header(tcp_header &header)
{
dprintf(" source port: %u\n", ntohs(header.source_port));
@@ -528,6 +528,7 @@ tcp_receive_data(net_buffer *buffer)
AddressString(gDomain, (sockaddr *)&buffer->source, true).Data(),
AddressString(gDomain, (sockaddr *)&buffer->destination, true).Data()));
//dump_tcp_header(header);
//gBufferModule->dump(buffer);
tcp_segment_header segment;
segment.sequence = header.Sequence();
@@ -27,7 +27,7 @@
#include <string.h>
#define TRACE_UDP
//#define TRACE_UDP
#ifdef TRACE_UDP
# define TRACE(x) dprintf x
# define TRACE_BLOCK(x) dump_block x
@@ -49,7 +49,7 @@ device_reader_thread(void *_interface)
net_buffer *buffer;
status = device->module->receive_data(device, &buffer);
if (status == B_OK) {
dprintf("received buffer of %ld bytes length\n", buffer->size);
//dprintf("received buffer of %ld bytes length\n", buffer->size);
tries = 0;
// feed device monitors
@@ -354,8 +354,8 @@ datalink_send_data(struct net_route *route, net_buffer *buffer)
net_interface *interface = route->interface;
net_domain *domain = interface->domain;
dprintf("send buffer (%ld bytes) to interface %s (route flags %lx)\n",
buffer->size, interface->name, route->flags);
//dprintf("send buffer (%ld bytes) to interface %s (route flags %lx)\n",
// buffer->size, interface->name, route->flags);
if (route->flags & RTF_REJECT)
return ENETUNREACH;
+1 -1
View File
@@ -27,7 +27,7 @@
#include <sys/sockio.h>
#define TRACE_ROUTES
//#define TRACE_ROUTES
#ifdef TRACE_ROUTES
# define TRACE(x) dprintf x
#else
+3 -1
View File
@@ -31,7 +31,7 @@
#include <string.h>
#define TRACE_STACK
//#define TRACE_STACK
#ifdef TRACE_STACK
# define TRACE(x) dprintf x
#else
@@ -314,9 +314,11 @@ chain::Hash(void *_chain, const void *_key, uint32 range)
// TODO: check if this makes a good hash...
#define HASH(o) ((uint32)(((o)->family) ^ ((o)->type) ^ ((o)->protocol)) % range)
#if 0
TRACE(("%d.%d.%d: Hash: %lu\n", chain ? chain->family : key->family,
chain ? chain->type : key->type, chain ? chain->protocol : key->protocol,
chain ? HASH(chain) : HASH(key)));
#endif
if (chain != NULL)
return HASH(chain);