u_short port; /* Remote UDP port, in net byte order */
/* interface mtu probably used for this host - includes RX Header */
- u_short ifMTU; /* doesn't include IP header */
+ u_short ifMTU; /* doesn't include IP/UDP header */
/* For garbage collection */
afs_uint32 idleWhen; /* When the refcountwent to zero */
int reSends; /* Total number of retransmissions for this peer, since this structure was created */
/* the "natural" MTU, excluding IP,UDP headers, is negotiated by the endpoints */
- u_short natMTU;
+ u_short natMTU; /* includes rx header */
u_short maxMTU;
/* negotiated maximum number of packets to send in a single datagram. */
u_short maxDgramPackets;
u_short congestSeq; /* Changed when a call retransmits */
afs_uint64 bytesSent; /* Number of bytes sent to this peer */
afs_uint64 bytesReceived; /* Number of bytes received from this peer */
- struct rx_queue rpcStats; /* rpc statistic list */
+ struct opr_queue rpcStats; /* rpc statistic list */
int lastReachTime; /* Last time we verified reachability */
- afs_int32 maxPacketSize; /* peer packetsize hint */
+ afs_int32 maxPacketSize; /* Max size we sent that got acked (w/o hdrs) */
+#ifdef AFS_RXERRQ_ENV
+ rx_atomic_t neterrs;
+
+ /* protected by peer_lock */
+ int last_err_origin; /* origin of the last network error received */
+ int last_err_type; /* last error 'type' received */
+ int last_err_code; /* last error 'code' received */
+#endif
};
#endif