Here is the general classification ("User" here refers to the remote node that we are disconnecting from): 2xx The User did nothing wrong, but the servent chose to close the connection: it is either exiting normally (200), or the local manager of the servent requested an explicit close of the connection (201). 4xx The User did something wrong, as far as the servent is concerned. It can send packets deemed too big (400), too many duplicate messages (401), relay improper queries (402), relay messages deemed excessively long-lived [hop+TTL > max] (403), send too many unknown messages (404), the node reached its inactivity timeout (405), it failed to reply to a ping with TTL=1 (406), or it is not sharing enough (407). 5xx The servent noticed an error, but it is an "internal" one. It can be an I/O error or other bad error (500), a protocol desynchronization (501), the send queue became full (502). Here are the officially registered BYE codes and their meaning: (entries marked [UNUSED] are not used by gtk-gnutella) 200 Servent Shutdown 201 User Manual Removal 202 Local Node Preferred 203 Changing Peer Mode 204 RESERVED 205 RESERVED 206 RESERVED 207 RESERVED 208 RESERVED 209 RESERVED 210 User Timeout Expired [UNUSED] 299 Generic User-side Condition [UNUSED] 400 Message Too Large 401 Too Many Duplicates 402 Relayed Improper Queries [UNUSED] 403 Relayed High TTL Message 404 Too Many Unknown Messages [UNUSED] 405 Activity Timeout 406 No Reply to Alive Pings 407 Not Sharing Enough [UNUSED] 408 Sent Message With TTL=0 409 Too Many Errors 410 Excessive Messages [UNUSED] 411 Invalid Payload [UNUSED] 412 Security Violation 413 Invalid QRP Sequence 414 Leaf Node Relaying Messages 499 Generic Peer-side Error [UNUSED] 500 Servent Internal Error 501 Protocol Desynchronized 502 Send Queue Full 503 Servent Closing Connection [UNUSED] 504 Switched Between Leaf/Ultra During Handshake 505 Protocol Not Supported 599 Generic Servent-side Error [UNUSED] Finally, recall that the above are generic categories of events. For instance, gtk-gnutella will send: 400 Too large ping message (543255552 bytes) The code is the classifier, the message given can be more explicit.