|SDRP, Source Demand Routing Protocol|
|Type:||Transport layer protocol.|
|MAC header||IP header||SDRP header||Data :::|
|Version||D||S||P||Hop count||Source route protocol type||Payload protocol type|
|Source route identifier|
|Prefix length||Notification code||Source route length||Next hop pointer|
|Source route :::|
SDRP version number.
D, Data/Control flag. 1 bit.
|0||The packet carries control information.|
|1||The packet carries data.|
S, Loose/Strict Source Route. 1 bit.
|0||The next hop is a Loose Source Route.|
|1||The next hop is a Strict Source Route Hop.|
P, Probe Indicator. 1 bit.
|0||The packet contains control information.|
|1||The originator is probing the route.|
Contains the maximum number of routers an SDRP data packet may traverse. It is decremented by 1 as an SDRP data packet traverses a router which forwards the packet using SDRP forwarding. Once the Hop Count field reaches the value of 0, the router should discard the data packet and generate a control packet. A router that receives a packet with a Hop Count value of 0 should discard the data packet, and generate a control packet.
Source route protocol type.
Indicates the type of information that appears in the source route.
|1||The contents of the source route indicates an Explicit Source Route.|
Payload protocol type.
Indicates the protocol type of the payload. If the payload is an IP datagram, then this field should contain the value 1. Note that this field is not the same as the IP protocol type.
Target router. 32 bits.
Used only in control packets. This field contains one of the IP addresses of the router that originated the SDRP packet that triggered the control packet to be returned.
Prefix. 32 bits.
Contains an IP address prefix. Only the number of bits specified by Prefix length are significant. This field is used to prevent routing loops when using BGP or IDRP to route to the next AS in a loose source route.
Notification code. 8 bits.
This field is only meaningful in control packets. In data packets, this field is transmitted as zero, and should be ignored on receipt.
|1||No Route Available.|
|2||Strict Source Route Failed.|
|3||Transit Policy Violation.|
|4||Hop Count Exceeded.|
|6||Unimplemented SDRP version.|
|7||Unimplemented Source Route Protocol Type.|
|8||Setup Request Rejected.|
Source route length.
The length in 32 bit words of the domain level source route carried in the SDRP Header.
Next hop pointer.
Indicates the offset of the high order byte of the next hop along the route that the packet has to be forwarded. This offset is relative to the start of the Source Route field; so if the value of the Next Hop Pointer field equals the value of the Source Route Length field, then the entire source route has been completely traversed. All other source routes are said to be incompletely traversed.
Source route. Variable length.
This field carries the datagram originated by the end system within the domain that constructed the SDRP packet. The Payload field forms the data portion of the SDRP packet. In a control packet this field may be empty or may carry the payload header of the packet that triggered the control message. Note that there is no padding between the Source Route and the Payload, and that the Payload may start at any arbitrary byte boundary.
[RFC 1940] Source Demand Routing: Packet Format and Forwarding Specification (Version 1).