INF: LAN Man NetBIOS Performance Enhancement to Reserved Bits

ID Number: Q63374

2.00

OS/2

Summary:

Page 6-32 of the "IBM LAN Technical Reference" (dated November 1988)

states that you should set the reserved bits in a DATA_ONLY_LAST frame

to 0 (zero), and set bit 1 to 1 (one), if it is a NO_ACK send. In

Microsoft NetBIOS version 2.0, bits 2 and 3 are sometimes set, and

when they are, a regular send is treated much like SEND_NO_ACK.

To support piggyback acknowledge protocol, two additional bits (bits 2

and 3) have been defined (since the publication of the "IBM LAN

Technical Reference") in the DATA1 field of the DATA_ONLY_LAST frame.

This is part of NetBIOS Performance Enhancement done for OS/2 EE

NetBIOS drivers. The new bits being defined are referenced as bits a

and b as shown below:

OFFSET FIELD NAME LENGTH TYPE Description

------ ---------- ------ ----------------

5 DATA1 1 DB B'rrrrabxr'

where a = Acknowledge_Included

b = Ack_with_data_allowed

x = NO_ACK indicator (old definition, no change)

r = Reserved (must be zero)

B = Binary data follows; for example, B'01'

The Acknowledge_Included bit will be set to ON (1) when NetBIOS sends

an acknowledgment with the DATA_ONLY_LAST frame. It will only be set

to ON if NetBIOS has previously received a DATA_ONLY_LAST frame that

has the ACK_WITH_DATA_ALLOWED bit set to ON. The Acknowledge_Included

bit indicates that an acknowledgment to a previous frame is

"piggybacked" with this data frame, and that the correlator value has

been placed into the xmit_correlator field.

The Ack_with_data_allowed bit indicates that the "piggyback

acknowledge" protocol is supported, and that the partner NetBIOS can,

at its option, use it.

In addition, the description of the xmit_correlator field in the

DATA_ONLY_LAST frame must be changed as follows: X'nnnn', where "nnnn"

is zero when no acknowledgment is sent with data, or "nnnn" equals the

previously received response correlator of a DATA_ONLY_LAST frame in

which the Ack_with_data_allowed indicator was set to ON. When an

acknowledgment is sent, the Acknowledge_Included bit must be set to

ON.