RFC 1841
PPP Network Control Protocol for LAN Extension
PPP Network Control Protocol for LAN Extension ๐
Okay bestie, this is RFC 1841, and it's a super cute informational doc ๐ Here's the title block tea โ:
- Series: Network Working Group
- Request For Comments: 1841
- Category: Informational
- Authors: J. Chapman, D. Coli, A. Harvey, B. Jensen, and K. Rowett, all from Cisco Systems, Inc.
- Date: September 1995
- Obsoletes/Updates: The title block doesn't list any RFCs that it obsoletes or updates ๐
It's titled PPP Network Control Protocol for LAN Extension โจ
Status of Memo ๐
Okay so this memo is just here to inform the Internet community ๐ It is NOT an Internet standard of any kind, and it's giving open-access energy because distribution is unlimited ๐ซถ
Abstract ๐ธ
Telecom infrastructure keeps getting better and offers faster connections for less money ๐ธ Meanwhile, the way people get online is shifting from plain old modems to smarter devices ๐ง This informational RFC is all about a PPP Network Control Protocol for one of those smart devices, and that protocol is the LAN extension interface protocol ๐ฆ
Table of Contents ๐
1.0 Introduction ........................................... 3
1.1 LAN Extension Interface Topology ..................... 4
1.2 LAN Extension Interface Architecture ................. 5
1.3 LAN Extension Interface Protocol ..................... 6
2.0 LAN Extension Interface Protocol Control Packets........ 8
2.1 Startup Options ...................................... 8
2.2 Remote Command Options ............................... 14
2.3 Conditions for Sending PPP-LEX Packet ................ 17
3.0 Filter Protocol Type ................................... 18
3.1 LEX_RCMD_REQUEST - Filter Protocol Type............... 19
3.2 Response Packets - Filter Protocol Type............... 21
4.0 Filter MAC Address ..................................... 22
4.1 LEX_RCMD_REQUEST - Filter MAC Address ................ 23
4.2 Response Packets - Filter MAC Address................. 25
5.0 Set Priority ........................................... 27
5.1 LEX_RCMD_REQUEST - Set Priority ...................... 27
5.2 Response Packets - Set Priority ...................... 29
6.0 Disable LAN Extension Ethernet Interface ............... 30
6.1 LEX_RCMD_REQUEST - Disable LAN Extension
Ethernet Interface ................................... 31
6.2 Response Packets - Disable LAN Extension
Ethernet Interface ................................... 32
7.0 Enable LAN Extension Ethernet Interface ................ 33
7.1 LEX_RCMD_REQUEST - Enable LAN Extension
Ethernet Interface ................................... 33
7.2 Response Packets - Enable LAN Extension
Ethernet Interface ................................... 34
8.0 Reboot LAN Extension Interface Unit .................... 35
8.1 LEX_RCMD_REQUEST - Reboot LAN Extension Interface
Unit ................................................. 35
8.2 Response Packets - Reboot LAN Extension
Interface Unit ....................................... 36
9.0 Request Statistics ..................................... 37
9.1 LEX_RCMD_REQUEST - Request Statistics ................ 37
9.2 LEX_RCMD_ACK - Request Statistics .................... 39
9.3 LEX_RCMD_NAK/LEX_RCMD_REJ - Request Statistics ....... 44
10.0 Download Request ...................................... 45
10.1 LEX_RCMD_REQUEST - Download Request ................. 46
10.2 Response Packets - Download Request.................. 48
11.0 Download Data ......................................... 49
11.1 LEX_RCMD_REQUEST - Download Request ................. 49
11.2 Response Packets - Download Data .................... 51
12.0 Download Status ....................................... 52
12.1 LEX_RCMD_REQUEST - Download Status .................. 53
12.2 LEX_RCMD_ACK - Download Status ...................... 54
12.3 LEX_RCMD_NAK/LEX_RCMD_REJ - Download Status ......... 56
13.0 Inventory Request ..................................... 56
13.1 LEX_RCMD_REQUEST - Inventory Request ................ 57
13.2 LEX_RCMD_ACK - Inventory Request .................... 58
13.3 LEX_RCMD_NAK/LEX_RCMD_REJ - Inventory Request ....... 61
14.0 LAN Extension Interface Protocol Data Packets ......... 62
14.1 Frame Format ........................................ 62
14.2 Summary Field Descriptions........................... 63
NOTES ...................................................... 65
REFERENCES ................................................. 65
SECURITY CONSIDERATIONS .................................... 66
AUTHORS' ADDRESSES ......................................... 66
1.0 Introduction ๐
Okay so more and more companies are letting their employees telecommute, because local governments have rules about traffic and air pollution ๐๐จ Plus, lots of businesses are run out of home offices that are connected to the internet, and small branch offices too ๐ With all these changes at work, more people and businesses need internet access from small LANs ๐ป
Right now, routers handle LAN-to-LAN traffic over high-speed WAN links like leased lines, ISDN, or Frame Relay ๐ The new crowd of internet users coming from home offices and small branch offices might have different, less network-savvy skills than the people connecting today ๐ฅบ These new users need something better than the complicated, hard-to-configure routers we've been using, and one option is a LAN extension interface unit ๐
A LAN extension interface unit is a hardware device installed at remote sites (like a home office or small branch office) that connects a LAN across a WAN link to a router at a central site ๐ The next sections introduce the LAN extension interface topology, architecture, and protocol โจ
1.1 LAN Extension Interface Topology ๐ฆ
Figure 1 shows the topology of LAN extension interfaces ๐ It shows two LAN extension interface units connected via a WAN link to a central or "host router" ๐
Figure 1 LAN Extension Interface Topology
-----------------------------------------
Router
-----------------------------------------
Virtual Interface Virtual Interface
123.123.78.1 123.123.89.1
.........................................
Serial 0 Serial n
-----------------------------------------
|<---- WAN Link ---->|
------------------ ------------------
| LAN Extension | | LAN Extension |
| Interface Unit | | Interface Unit |
------------------ ------------------
| |
------------------ ------------------
| |
------------ ------------
| End node | | End node |
------------ ------------
123.123.78.2 123.123.46.2
Each LAN extension interface unit maps to a virtual interface on the host router ๐ช That virtual interface mirrors the characteristics of its LAN extension interface unit ๐ To the routing protocols, the virtual interface looks just like a local interface, except it has the bandwidth of a serial line ๐ง The virtual interface keeps track of whether its LAN extension interface unit is up or down, and it identifies each unit by its MAC address ๐
A LAN extension interface protocol moves MAC frames from the LAN extension interface unit across the serial line to the host router ๐ Once they reach the termination point in the router, the router routes the packets ๐บ๏ธ This topology uses only one subnet per remote LAN instead of two, which is what happens when routers sit on both ends of a WAN link ๐ Figure 1 shows this subnetting structure ๐ธ The IP addresses of the virtual interfaces on the router are in the same subnet as the IP addresses of the end nodes on the LAN of the LAN extension interface unit ๐ The LAN extension interface unit itself has no IP address ๐
LAN extension interface units kinda resemble bridges, but there are a few big differences ๐
- LAN extension interface units always depend on a host router. They cannot operate standalone, or even back-to-back with other LAN extension interface units ๐
- LAN extension interface units don't need to use any spanning tree algorithm ๐ โโ๏ธ
- LAN extension interface units move MAC frames across a serial line (like bridges do), but a router can either route or bridge the LAN extension interface data packets ๐
1.2 LAN Extension Interface Architecture โจ
okay so bestie, here's the big picture ๐ง Figure 2 lays out the whole LAN extension interface architecture, and it's giving organized chaos in the best way ๐
Figure 2 LAN Extension Interface Architecture
Router LAN Extension Interface
------------------- -------------------
| Network Layer | | MAC Layer |
------------------- -------------------
| |
------------------- -------------------
| |Virtual Interface| | Filters | |
| ------------------- ------------------- |
| | | |
| ------------------- ------------- |
| | PPP | | RCMD | |
| | | | Handler | |
| ------------------- ------------- |
| | | |
| ------------------- ------------------- |
| |Serial Interface | | PPP | |
| ------------------- ------------------- |
| | | |
| | ------------------- |
| | | Serial Interface| |
| | ------------------- |
| | WAN Link | |
| --------------------------------------- |
| |
| Outbound Inbound |
--------------> <---------------
so inbound traffic goes from the remote LAN, to the LAN extension interface unit, across the WAN link, and finally to the host router ๐๐จ. The LAN extension interface unit can filter received frames to keep the WAN nice and efficient ๐ฆ It can filter by protocol type or by MAC address. Frames that make it through the filters head to the WAN protocol state machine, which in Figure 2 is PPP. Then the unit adds PPP encapsulation and forwards the packet to the router over the WAN serial link. โจ
When the frame lands, the host router strips off the PPP header and hands the packet to the virtual interface. From there, the virtual interface treats it just like any packet that came in on a local interface ๐ That means routing or bridging it to another interface, depending on how it's configured.
Now the outbound direction ๐ธ (from the host router, across the WAN link, to the LAN extension interface unit, and then onto the LAN). The host router's virtual interface builds the full MAC header before adding PPP encapsulation. Then the packet goes over the WAN serial link to the LAN extension interface unit. That unit strips the PPP header and forwards the packet straight onto the LAN. The host router has already figured out that the packet needs to go to the LAN extension interface unit, so there's no need for extra filtering or processing on that end. Efficient queen behavior ๐
The data stream also carries a control stream, which is how the host router configures and manages the LAN extension interface unit. The virtual interface makes the remote unit look like a local router interface to the routing protocols. Super iconic ๐
Configuration commands and statistics-gathering commands get issued on the router to the virtual interface. The virtual interface formats these remote commands into encoded messages and sends them in-band, mixed in with the data packets ๐ The LAN extension interface unit decodes the remote commands and runs them. Responses come back the same way, as formatted messages sent from the LAN extension interface unit to the host router. The remote command messages use a different encapsulation type than the data packets. You'll see more on this later, in the "LAN Extension Interface Protocol Control Packets" and "LAN Extension Interface Protocol Data Packets" sections ๐งโจ
1.3 LAN Extension Interface Protocol ๐
okay so the new piece here is a Network Control Protocol (NCP) for PPP, and it's called PPP-LEX ๐ Its main job is to encapsulate LAN extension interface control packets and data packets. The IETF assigned two new protocol types for these jobs, shown in Table 1 ๐
Table 1 IETF Protocol Types for PPP-LEX
Protocol Type Function
0x8041 Encapsulates control packets
0x0041 Encapsulates data packets (MAC frames)
PPP is the natural choice here, and honestly it's so smart ๐ง It lets the two ends negotiate a specific control protocol and its options at connection time. That means network admins don't have to statically configure the router interface for each remote interface. Instead, the remote interfaces negotiate the link when they connect โจ
The LAN extension interface protocol uses PPP link operation as described in RFC 1331. Here's what that says, verbatim ๐ซถ
In order to establish communications of a point-to-point link, each end of the PPP link must first send [Link Control Protocol] LCP packets to configure and test the data link. After the link has been established,the peer may be authenticated. Then PPP must send NCP packets to choose and configure one or more network layer protocols. Once each of the chosen network-layer protocols has been configured, datagrams from each network layer protocol can be sent over the link. The link will remain configured for communications until explicit LCP or NCP packets close the link down, or until some external event occurs (an inactivity timer expires or network administrator intervention). (References, [1])
so, putting it together: the LAN extension interface unit and the host router swap PPP-LCP packets at connection time to dynamically configure and test the WAN serial link ๐ฅ Once the link hits an "opened" state, they swap PPP-LEX NCP packets to configure the LAN extension interface protocol. When that NCP reaches "opened" too, PPP carries the PPP-LEX control and data packets across the serial link. From that point on, the link can carry any combination of LCPs, PPP-LEX NCPs, PPP-LEX control packets, and PPP-LEX data packets. Main character energy ๐
Quick note, bestie: the LAN extension interface protocol is not a bridging protocol ๐ The only thing it shares with the PPP Bridging Control Protocol (References. [2]) is that it also encapsulates MAC frames. Don't mix them up!
The next sections dig into PPP-LEX control packets and data packets ๐ฆ
2.0 LAN Extension Interface Protocol Control Packets ๐
There are two types of PPP-LEX control packets:
- Startup options packet
- Remote command options packets
The startup options packet is the first PPP-LEX NCP packet that the LAN extension interface unit sends to the host router after LCP reaches an "opened" state. This required startup options packet configures the LAN extension interface protocol and puts the PPP-LEX NCP into an "opened" state ๐
Remote command options are the PPP-LEX NCP packets that control how the LAN extension interface protocol functions and how its statistics get gathered ๐
2.1 Startup Options ๐ธ
The LAN extension interface unit sends a startup options packet to the host router to negotiate these startup options:
- MAC Type
- MAC Address
- LAN Extension
The MAC Type startup option tells the host router what kind of media the LAN extension interface unit is hooked up to. For example, the unit might be connected to an Ethernet LAN or a Token Ring LAN. Right now, only Ethernet is supported ๐ซ The MAC type tells the host router what kind of traffic the unit is ready to receive. If the host router rejects the MAC type, the LAN extension interface unit sends the Configure-Request again.
The MAC Address startup option sends the MAC address of the LAN extension interface unit to the host router. This does two jobs: it authenticates the unit, and it binds the unit to the matching virtual interface on the host router ๐ The host router also inserts that MAC address into outbound packets. The MAC address is written in IEEE 802.3 canonical format.
The LAN Extension startup option sets the network layer protocol (NCP) to PPP-LEX and gives the host router the LAN extension interface protocol version number ๐
Each startup option is sent as a series of three fields: Option-Type, Option-Length, and Option-Data fields. These fields get concatenated in the startup options Configure-Request packet โจ
Frame Format ๐ฆ
Figure 3 gives you a summary of the frame format for the startup options packet. The LAN extension interface unit sends this packet to the host router, and it transmits the fields from left to right ๐
Figure 3 Startup Options Frame Format (Configure-Request)
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address | Control | Protocol Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1 octet) (1) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1 octet) (1) (2)
LAN Extension Interface Startup Options
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Length | Option-Data |
Okay so the Address field is up first, and bestie, it's giving very simple energy ๐
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1 octet) (1)
Address ๐ This one is a PPP-specified field. It's one octet long and holds the binary sequence 11111111 (hex 0xFF), which is the All-Stations address. PPP doesn't hand out individual station addresses, so this is the only one you'll see. The All-Stations address must be recognized and received by all devices, no exceptions ๐ซถ If you want the full tea on this field, check out "The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links." (References, [1])
Control โจ Also PPP-specified, one octet, and it holds the binary sequence 00000011 (hex 0x03). That's the Unnumbered Information (UI) command with the P/F bit set to zero. For more info, go read "The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to Point Links." (References, [1]) ๐
Protocol-Type ๐ธ This one is two octets and holds the IETF-assigned protocol type value. The valid LAN extension interface protocol type values are:
0x8041(for control packets)0x0041(for data packets)
Since the startup options packet is wrapping LAN extension interface control data, the only valid value for this field is 0x8041. Simple and iconic ๐
Code ๐ฆ One octet that tells you what type of LCP packet the LAN extension interface packet is sending. The valid values are:
0x01- Configure-Request0x02- Configure-Ack0x03- Configure-Nak0x04- Configure-Rej
The LAN extension interface unit is the one that kicks off the startup options packet, so for this field the valid value is 1. It's literally always going to be 1 here ๐
Identifier ๐ง One octet that holds a randomly generated value. This value helps match requests with their replies, which is so smart. It is recommended that a non-zero value be used for the identifier. Zero could be used in the future for unsolicited messages from the LAN extension interface unit, so keep that in mind ๐ Valid values are 0x01-0xFF.
Length ๐ Two octets, and it tells you the length of the entire packet in octets. That includes the Code, Identifier, Length, and startup options fields. Everything counted, no cap โจ
Option-Type ๐ One octet that identifies the startup option being negotiated. The valid values are:
0x01- MAC Type0x03- MAC Address0x05- LAN Extension
Option-Length ๐ One octet that specifies the length of the startup option fields. That count includes the Option-Type, Option-Data, and Option-Length fields themselves, so it's a whole package ๐
Option-Data ๐ This is where the actual data for the Option-Type value lives. If the Option-Type is MAC type (0x01), then Option-Data holds the MAC type, like Ethernet, Token Ring, and so on. If the Option-Type is MAC address (0x03), then Option-Data holds the actual MAC address. If the Option-Type is LAN Extension (0x05), then Option-Data holds LAN extension interface software information. Here's the table that spells out each Option-Type value and what its Option-Data contains:
Option-Type Field Value Option-Data
0x01 (MAC Type) The most up-to-date value of the MAC type as
specified in the most recent "Assigned
Numbers" RFC. The current valid value from
that RFC follows:
* 0x01: IEEE 802.3/Ethernet with canonical
addresses
0x03 (MAC Address) The burned-in MAC address in IEEE 802.3
canonical format.
0x05 (LAN Extension) The LAN extension interface protocol version
number. 0x01 is the current protocol version
supported.
Example ๐ง Okay, time for the fun part! In the Configure-Request packet that the LAN extension interface unit sends to the host router, it concatenates the Option-Type, Option-Data, and Option-Length fields for each startup option. You can see it in Figure 4. And it transmits these fields from left to right, so no skipping ahead ๐
Figure 4 Sample Startup Options Configure-Request Packet ๐ท
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF | 0x03 | 0x8041 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address Control Protocol-Type
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x01 | 0x09 | 0x12 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Option-Type Identifier Length
LAN Extension Interface Startup Options
<------------------------------------------------
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x01 | 0x03 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Option-Type Option-Length
------------------------------>
4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0x01 |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Option-Data
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x03 | 0x08 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Option-Type Option-Length |
4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0A 0A 0A 0A 0B 0C |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
---------- Option-Data --------|
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0x05 | 0x03 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Option-Type Option-Length
4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
0x01 |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Option-Data
In Figure 4, the Address field always holds 0xFF and the Control field always holds 0x03, every time ๐ The Protocol-Type is 0x8041 because the startup options packet is a LAN extension interface control packet. The Code field is 0x01 because the LAN extension interface unit is sending an LCP Configure-Request packet to configure or negotiate PPP-LEX. The Identifier field holds a randomly generated number, and the Length field gives the total length of the entire packet.
The first startup option is the MAC Type one. Its Option-Type value is 0x01, and its Option-Length value is 3 octets. In this example, the Option-Data value is 0x01 because the LAN extension interface unit connects to an Ethernet LAN using 802.3 canonical addresses ๐ง
Next up is the MAC Address startup option. Its Option-Type value is 0x03, its Option-Length value is 8 octets, and its Option-Data value is the actual MAC address ๐ธ
Lastly, the LAN Extension startup option gets sent. Its Option-Type value is 0x05, its Option-Length value is 3 octets, and its Option-Data value is the LAN extension interface protocol version number (0x01) โจ
The host router responds to this LCP Configure-Request packet with an LCP Configure-Ack packet, a Configure-Nak packet, or a Configure-Rej packet. If you want more details on those, go check "The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links" RFC. (References, [1]) ๐
2.2 Remote Command Options โจ
Once the host router answers the startup options Configure-Request packet with a Configure-Ack packet, the PPP-LEX NCP is in an "opened" state. At that point, the LAN extension interface unit and the host router freely swap PPP-LEX data packets and remote command options packets. Main character energy ๐
The host router starts the PPP-LEX remote command options packets to control how the LAN extension interface unit is configured and to gather statistics ๐ There are 11 types of remote command options that the host router can send in a LEX_RCMD_REQUEST packet to the LAN extension interface unit. The unit replies to a LEX_RCMD_REQUEST packet with a LEX_RCMD_ACK, LEX_RCMD_NAK, or LEX_RCMD_REJ packet ๐
Frame Format ๐ฆ
Figure 5 is a summary of the frame format for a remote command options packet. These fields are transmitted from left to right.
Figure 5 Remote Command Options Frame Format ๐ซถ
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address | Control | Protocol Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1 octet) (1) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1 octet) (1) (2)
LAN Extension Interface Remote Command Options
<--------------------------------
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Flags |
2.2 Remote Command Options (continued) โจ
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1 octet) (1)
---------------------------------------------->
6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Option-Length | Option-Data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2)
Address ๐
okay so the Address field is a single octet, and it's always 11111111 (that's 0xFF in hex). That's the All-Stations address ๐ธ PPP doesn't hand out individual station addresses, so this one is basically the "hey everyone" address. The All-Stations address must be recognized and received by all devices, no exceptions bestie. For more info on this field, check "The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links." (References, [1])
Control ๐ฆ
This one is also a single octet from PPP, and it's 00000011 (hex 0x03), which is the Unnumbered Information (UI) command with the P/F bit set to zero. Iconic.
For more information on this field, refer to "The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to Point Links." (References, [1])
Note: from here on, the Address and Control fields get treated as one 2-octet field that reads 0xFF03. Easy peasy ๐
Protocol-Type ๐
The Protocol-Type field is two octets, and it holds the IETF-assigned protocol type value. The valid LAN extension interface protocol type values are:
0x8041(for control packets) ๐ซถ0x0041(for data packets) โจ
Since the remote command options packet is wrapping up LAN extension interface control data, the only valid value for this field is 0x8041. No cap.
Code ๐ฅ
The Code field is one octet and tells you what type of PPP-LEX packet you're looking at. The valid values are:
0x40- LEX_RCMD_REQUEST packet ๐ง0x41- LEX_RCMD_ ACK packet ๐0x42- LEX_RCMD_NAK packet ๐ญ0x43- LEX_RCMD_REJ packet ๐
The host router is the one that sends the LEX_RCMD_REQUEST packet. The LAN extension interface unit is the one that sends LEX_RCMD_ACK, LEX_RCMD_NAK, and LEX_RCMD_REJ packets. Main character energy, but make it a team effort ๐
Identifier ๐
The Identifier field is one octet and holds a randomly generated value. That value helps match up requests with their replies, which is so useful ngl ๐ It is recommended that a non-zero value be used for the identifier. The reason is that zero could be used in the future for unsolicited messages from the LAN extension interface unit. Valid values are 0x01-0xFF.
Length ๐
The Length field is two octets, and it tells you the length in octets of the entire packet. That includes the Code, Identifier, Length, and remote command options fields. Simple, but iconic.
Option-Type ๐ธ
The Option-Type field is one octet, and it says which remote command option is being sent. The valid values are:
0x01- Filter Protocol Type โจ0x02- Filter MAC Address ๐ฆ0x03- Set Priority ๐0x04- Disable LAN Extension Ethernet Interface ๐0x05- Enable LAN Extension Ethernet Interface ๐0x06- Reboot LAN Extension Interface Unit ๐ฅ0x07- Request Statistics ๐ง0x08- Download Request ๐0x09- Download Data ๐ซถ0x0A- Download Status ๐ญ0x0B- Inventory Request ๐
Every remote command option gets its own section later in this document, so hang tight bestie ๐
Option-Flags ๐
This field is one octet. It further specifies the remote command option, and it contains specific actions that must be followed. Not optional, babe.
Option-Length ๐
The Option-Length field is two octets, and it gives the length in octets of the remote command option fields. That covers the Option-Type, Option-Flags, Option-Length, and Option-Data fields all together ๐งฎ
Option-Data ๐ฆ
The Option-Data field holds the data that goes with whatever remote command option is named in the Option-Type field. โจ
2.3 Conditions for Sending PPP-LEX Packet ๐ธ
This section explains the general conditions for when each PPP-LEX packet type gets sent. For the specifics of each remote command, check the matching remote command section later in this document ๐
LEX RCMD_REQUEST Packet ๐ฅ
The host router sends LEX_RCMD_REQUEST packets to the LAN extension interface unit to start a remote command request. Until the host router gets a LEX_RCMD_ACK, LEX_RCMD_NAK, or LEX_RCMD_REJ packet back from the LAN extension interface unit, it keeps sending the LEX_RCMD_REQUEST packet a default number of times. After that, the host router times out. Respect the persistence ๐ค๐ซถ
LEX_RCMD_ACK Packet ๐
The LAN extension interface unit answers a LEX_RCMD_REQUEST packet with a LEX_RCMD_ACK packet when it correctly receives the request and is able to carry it out. Yay, it worked ๐ฅฐ
LEX RCMD_NAK Packet ๐ญ
The LAN extension interface unit answers a LEX_RCMD_REQUEST packet with a LEX_RCMD_NAK packet when it recognizes all the elements of the remote command option, but some of those elements aren't acceptable. As soon as the host router gets a LEX_RCMD_NAK packet, it immediately stops sending the request. Rejected, but make it make sense ๐
LEX RCMD_REJ Packet ๐
The LAN extension interface unit answers a LEX_RCMD_REQUEST packet with a LEX_RCMD_REJ packet when the Option-Type value in the request is invalid. Invalid Option-Type values are anything less than 0x01 or greater than 0x0B. Right now this is the only condition where the LAN extension interface unit sends a LEX_RCMD_REJ packet. Once the host router gets a LEX_RCMD_REJ packet, it immediately stops sending the request. Bye felicia ๐
The sections after this one each cover one of the 11 remote command options. Every section gives a general description of the option, then spells out its Option-Type, Option-Flags, Option-Length, and Option-Data fields. The sections also describe the return messages the LAN extension interface unit sends back. It's a whole lineup ๐ ๐
3.0 Filter Protocol Type โจ
The host router sends a LEX_RCMD_REQUEST packet with an Option-Type of 0x01 to the LAN extension interface unit. That tells the unit to filter inbound packets by protocol type. A protocol type filter decides whether or not the LAN extension interface unit forwards packets of a specific protocol type to the host router. Each protocol type filter is made up of a 16-bit value, a 16-bit mask, and a permit or deny field. (Check the "Option-Data Field Descriptions" section for more on these filter fields ๐ง)
A LEX_RCMD_REQUEST packet can hold anywhere from 0 to 200 protocol type filters, depending on MTU size. When one packet has multiple filters, they get concatenated together ๐ซถ
The LAN extension interface unit runs the protocol type filters against each inbound packet's protocol type field, in the order the filters appear in the filter table. A packet has to be permitted by one of the filters before the LAN extension interface unit can forward it across the serial link. Gatekeeping at its finest ๐
Here's the filtering algorithm:
if (protocol_type_field & (~filter_mask)) == filter_value)
if (permit/deny_field == PERMIT) <forward packet on serial LAN>
else <DROP PACKET>
The protocol type filter should also be applied to the DIX type code field of Ethernet II frames, as well as to IEEE 802.2 SNAP packets ๐ฆ
3.1 LEX RCMD_REQUEST-Filter Protocol Type ๐ธ
Figure 6 is a frame format summary of a LEX_RCMD_REQUEST packet for the Filter Protocol Type remote command option. The host router transmits the fields from left to right. Picture it like a conveyor belt ๐
Figure 6 LEX_RCMD_REQUEST Packet Frame Format - Filter Protocol Type
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF03 | Protocol-Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2 octets) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
LAN Extension Interface Remote Command Options
<--------------------------------
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1)
---------------------------------------------->
6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Option-Length | Option-Data |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2)
Where the Option-Data field contains the following fields:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value (16 bits) | Value (16 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Permit/Deny (16 bits) |
Summary Field Descriptions ๐
okay so for the full tea on the fields in the PPP Header, the LAN Extension Interface Protocol Header, and the LAN Extension Interface Remote Command Options, go back to the "Remote Command Options" section earlier in this doc. This table is the quick cheat sheet for when you send a LEX_RCMD_REQUEST packet that tells the LAN extension interface unit to filter by protocol type ๐ง
Table 2 Field Values for LEX_RCMD_REQUEST Packet-Filter Protocol Type
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code 0x40 (LEX_RCMD_REQUEST packet)
Identifier Valid values: 0x01-0xFF
Length Minimum length = 12 octets
Maximum length = 1212 octets
Option-Type 0x01 (Filter Protocol Type)
Option-Flags None
Option-Length Minimum length = 4 octets
Maximum length = 1204 octets
Option-Data Zero or more filters to be applied at
the LAN extension interface unit. See the
following "Option-Data Field Descriptions"
for details.
Option-Data Field Descriptions ๐
three Option-Data fields work together as a team to specify a protocol type filter, and they're each giving something different:
- Value ๐ธ The Value field holds a 16-bit value that can be any Ethernet type code. Check the "Assigned Numbers" RFC for the valid Ethernet type codes. (References, [4]).
- Mask ๐ฆ The Mask field is a 16-bit "wild card" mask. So it's a 16-bit number where the ones bits line up with the type code bits that get ignored during the comparison. Basically the mask kicks certain bits out of the comparison in the protocol type filter. iconic ๐
- Permit/Deny ๐ This one decides whether a protocol type filter lets inbound frames through to the host router or blocks them. A permit value is a non-zero value that lets frames of a specific protocol type pass to the host router. A deny value is a zero value that does not let frames of a specific protocol type pass to the host router. not me being so precise about zero vs non-zero ๐
Implementation Notes ๐ฅ
each LEX_RCMD_REQUEST packet is a complete specification of all protocol type filters, and it replaces any previously established filters. so it's a full reset every time, periodt โจ
note the following special cases:
- A LEX_RCMD_REQUEST packet with an Option-Length field equal to four (without any filter entries) tells the LAN extension interface unit to turn off protocol type filtering. All MAC protocol types get forwarded. ๐
- A LEX_RCMD_REQUEST packet with a filter entry of 0x0000 in the Value field, 0xFFFF in the Mask field, and a positive value in the Permit/Deny field means that if the previous filters in the filter list do not permit the inbound packet, then this filter entry will. This filter entry is typically the last filter in a list of filters contained within the Option-Data field. the backup plan era ๐ง
- A LEX_RCMD_REQUEST packet with a filter entry of 0x0000 in the Value field, 0xFFFF in the Mask field, and a zero in the Permit/Deny field means that the LAN extension interface unit must deny all protocol types. This filter is typically the last filter in a list of filters contained within the Option-Data field. the ultimate block ๐
3.2 Response Packets - Filter Protocol Type ๐
these are the packets that count as valid responses to the Filter Protocol Type LEX_RCMD_REQUEST packet:
- LEX_RCMD_ACK - Filter Protocol Type โจ The LAN extension interface unit sends a LEX_RCMD_ACK packet in response to the Filter Protocol Type LEX_RCMD_REQUEST packet when it correctly receives the Filter Protocol Type remote command option and applies all filter entries to its filter table. All filter entries get sent back to the host router in the LEX_RCMD_ACK packet. ๐ซถ
- LEX_RCMD_NAK - Filter Protocol Type ๐ญ The LAN extension interface unit sends a LEX_RCMD_NAK packet in response to the Filter Protocol Type LEX_RCMD_REQUEST packet when the request has an incorrect number of bytes in the filter, or when there are no more filter entries available. The LAN extension interface unit keeps using the previous filter table (that is, the filter table that existed before the request came in). The host router should signal an error to the user/network administrator. All filter entries get sent back to the host router in the LEX_RCMD_NAK packet. rough day, but the router handles it ๐
- LEX_RCMD-REJ - Filter Protocol Type ๐ฆ Check the "Conditions for Sending PPP-LEX Packets" section earlier in this document for more info on this packet type.
Table 3 sums up the field values for Filter Protocol Type LEX_RCMD_ACK, LEX_RCMD_NAK, and LEX_RCMD_REJ packets.
Table 3 Field Values for Response Packets - Filter Protocol Type
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code Valid values:
* 0x41 (LEX_RCMD_ACK packet)
* 0x42 (LEX_RCMD_NAK packet)
* 0x43 (LEX_RCMD_REJ packet)
Identifier The same value as that sent by the
LEX_RCMD_REQUEST packet
Length The same value as that sent by the
LEX_RCMD_REQUEST packet
Option-Type 0x01 (Filter Protocol Type)
Option-Flags None
Option-Length The same value as that sent by the
LEX_RCMD_REQUEST packet
Option-Data The filter entries sent in the
LEX_RCMD_REQUEST packet
4.0 Filter MAC Address ๐ธ
the host router sends a LEX_RCMD_REQUEST packet with an Option-Type of 0x02 to the LAN extension interface unit to set up filtering by source MAC address. A MAC address filter decides whether or not the LAN extension interface unit forwards packets with a specific source MAC address to the host router. A MAC address filter is made up of a MAC address, a MAC address mask, and a permit or deny field. (See the "Option-Data Field Descriptions" section later in this section for more info on these filter fields.) ๐ฆ
A LEX_RCMD_REQUEST packet can contain 0 to 100 (depending on MTU size) MAC address filters. When a LEX_RCMD_REQUEST packet contains multiple filters, they get concatenated. ๐ง
The LAN extension interface unit applies MAC address filters to each inbound packet's source MAC address, in the order the filters appear in the filter entry list. A packet must be permitted by one of the filters before the LAN extension interface unit can forward it across the serial link. no pass, no forward ๐ฅ
4.1 LEX RCMD_REQUEST - Filter MAC Address ๐
Figure 7 gives you a frame format summary of a LEX_RCMD_REQUEST packet for the Filter MAC Address remote command option. The host router transmits the fields from left to right. โจ
Figure 7 LEX_RCMD_REQUEST Packet Frame Format - Filter MAC Address
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF03 | Protocol-Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2 octets) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
LAN Extension Interface Remote Command Options
<--------------------------------
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1)
---------------------------------------------->
6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Option-Length | Option-Data |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
(2)
Where the Option-Data field contains the following fields:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC Address (48 bits)....
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC Address Mask (48 bits)....
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Permit/Deny (16 bits) |
4.2 Response Packets - Filter MAC Address โจ
Okay so, here's the full Table 4 breakdown for a LEX_RCMD_REQUEST that sets up the LAN extension interface unit to filter by source MAC address ๐
Table 4 Field Values for LEX_RCMD_REQUEST Packet - Filter MAC Address
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code 0x40 (LEX_RCMD_REQUEST packet)
Identifier Valid values: 0x01-0xFF
Length Minimum length = 12 octets
Maximum length = 1412 octets
Option-Type 0x02 (Filter MAC Address)
Option-Flags None
Option-Length Minimum length = 4 octets
Maximum length = 1404 octets
Option-Data Zero or more filters to be applied at the
LAN extension interface unit. See the
following "Option-Data Field Description
section for details.
For a complete description of the fields in the PPP Header, the LAN Extension Interface Protocol Header, and the LAN Extension Interface Remote Command Options, just look back at the "Remote Command Options" section earlier in this doc. Table 4 is the quick summary ๐
Option-Data Field Descriptions ๐ง
Three Option-Data fields work together to make a MAC address filter ๐
- MAC Address
The MAC Address field holds a 48-bit IEEE 802.3 MAC address in canonical format ๐ธ
- MAC Address Mask
The MAC Address Mask field is a "wild card" mask. It's a 48-bit hexadecimal number where the ones bits mark the MAC address bits to be ignored during the comparison. So the mask basically excludes those bits from the comparison in the MAC address filter. Iconic behaviour ๐
- Permit/Deny
The Permit/Deny field decides whether a MAC address filter lets inbound frames of a specific MAC address through to the host router, or blocks them. A permit value is a non-zero value that lets frames of a specific MAC address pass to the host router. A deny value is a zero value that does not let those frames pass to the host router ๐ฅ
Implementation Notes ๐ฆ
Every LEX_RCMD_REQUEST packet is a complete specification of all MAC address filters, and it replaces any filters that were set up before. Fresh start every time ๐
A LEX_RCMD_REQUEST packet with an Option-Length field equal to four (and no filter entries) tells the LAN extension interface unit to turn filtering off. Then all MAC addresses get forwarded, except local destination addresses cached in the self-learning filter ๐
4.2 Response Packets - Filter MAC Address โจ
These packets are valid responses to the Filter MAC Address LEX_RCMD_REQUEST packet:
- LEX_RCMD_ACK - Filter MAC Address
The LAN extension interface unit sends a LEX_RCMD_ACK packet in response to a Filter MAC Address LEX_RCMD_REQUEST packet when it correctly receives the Filter MAC Address remote command option and applies the entries to its filter table. All MAC address filter entries come back in the LEX_RCMD_ACK packet. Major success ๐
- LEX_RCMD_NAK - Filter MAC Address
The LAN extension interface unit sends a LEX_RCMD_NAK packet in response to the Filter MAC Address LEX_RCMD_REQUEST packet when the request has an incorrect number of bytes in the filter, or when there are no more filter entries available. The LAN extension interface unit keeps using the previous filter table (the one that existed before the request arrived). The host router should signal an error to the user/network administrator. All filter entries come back in the LEX_RCMD_NAK packet. Not it ๐
- LEX_RCMD-REJ - Filter MAC Address
See the "Conditions for Sending PPP-LEX Packets" section earlier in this document for more information on this packet type.
Table 5 sums up the field values for the Filter MAC Address LEX_RCMD_ACK, LEX_RCMD_NAK, and LEX_RCMD_REJ packets ๐
Table 5 Field Values for Response Packets - Filter MAC Address
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code Valid values:
* 0x41 (LEX_RCMD_ACK packet)
* 0x42 (LEX_RCMD_NAK packet)
* 0x43 (LEX_RCMD_REJ packet)
Identifier The same value as that sent by the
LEX_RCMD_REQUEST packet
Length The same value as that sent by the
LEX_RCMD_REQUEST packet
Option-Type 0x02 (Filter MAC Address)
Option-Flags None
Option-Length The same value as that sent by the
LEX_RCMD_REQUEST packet
Option-Data The filter entries sent in the
LEX_RCMD_REQUEST packet
5.0 Set Priority ๐
The host router sends a LEX_RCMD_ REQUEST with an Option-Type of 0x03 to the LAN extension interface unit. That sets the sending priority for different protocol type packets going from the LAN extension interface unit to the host router. There are four levels of priority:
- High
- Medium
- Normal
- Low
Packets get classified by protocol type, then queued into one of four output queues on the LAN extension interface unit. Those queues line up with the priority levels above. When the LAN extension interface unit is ready to transmit a packet, it scans the priority queues in order, from highest to lowest, to find the highest priority packet. Queue VIP energy ๐
5.1 LEX RCMD_REQUEST - Set Priority ๐
To set up priority queues for each protocol type, the host router sends a Set Priority LEX_RCMD_REQUEST packet. Figure 8 is a frame format summary of that packet. The host router transmits the fields from left to right โจ
Figure 8 LEX_RCMD_REQUEST Packet Frame Format - Set Priority
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF03 | Protocol-Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2 octets) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
LAN Extension Interface Remote Command Options
<--------------------------------
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1)
---------------------------------------------->
6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Option-Length | Option-Data |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
(2)
Where the Option-Data field contains the following fields:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Protocol Type (16 bits) | Protocol Value (16 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Summary Field Descriptions ๐
For a complete description of the fields in the PPP Header, the LAN Extension Interface Protocol Header, and the LAN Extension Interface Remote Command Options, go back to the "Remote Command Options" section earlier in this document. The table below is the summary of these fields when you send a LEX_RCMD_REQUEST packet that sets priority queuing ๐ซถ
Table 6 Field Values for LEX_RCMD_REQUEST Packet - Set Priority
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code 0x40 (LEX_RCMD_REQUEST packet)
Identifier Valid values: 0x01-0xFF
Length Minimum length = 12 octets
Maximum length = 1028 octets
Option-Type 0x03 (Set Priority)
Option-Flags None
Option-Length Minimum length = 4 octets
Maximum length = 1020 octets
Option-Data Protocol Type and Priority Value. See the
following "Option-Data Field Description"
section for details.
Option-Data Field Descriptions ๐
The following Option-Data fields set the priority queuing of different protocol type packets ๐
- Protocol Type
The Protocol Type field is a 16-bit number that can be any Ethernet type code. For the correct Ethernet type code, check the most recent "Assigned Numbers" RFC ๐
- Priority Value
The Priority Value field picks the priority queue for the protocol type named in the Protocol Type field. Valid values are:
- 0 - High priority queue
- 1 - Medium priority queue
- 2 - Normal priority queue
- 3 - Low priority queue
Sending a LEX_RCMD_REQUEST packet with an Option-Length of four (no priority entries) turns off priority queuing. When it's off, the LAN extension interface unit transfers all packets at a normal (2) priority level. If you specify a new priority, it overwrites the previous setting. Clean slate, bestie ๐งโจ
5.2. Response Packets - Set Priority โจ
Okay so bestie, the only packets that count as valid replies to a Set Priority LEX_RCMD_REQUEST are these three ๐
- LEX_RCMD_ACK - Set Priority
Check the "Conditions for Sending PPP-LEX Packets" section earlier in the doc if you want the full scoop on when this one gets sent ๐ฆ
- LEX_RCMD_NAK - Set Priority
The LAN extension interface unit sends a LEX_RCMD_NAK ๐ in reply to the Set Priority request when the message has the wrong number of bytes, when the resources it needs aren't available, or when the priority you asked for is invalid. Not a vibe.
- LEX_RCMD-REJ - Set Priority
Same deal as the ACK: see the "Conditions for Sending PPP-LEX Packets" section earlier in this document for the details ๐ธ Table 7 sums up the field values for the Set Priority LEX_RCMD_ACK, LEX_RCMD_NAK, and LEX_RCMD_REJ packets.
Table 7 Field Values for Response Packets - Set Priority ๐
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code Valid values:
* 0x41 (LEX_RCMD_ACK packet)
* 0x42 (LEX_RCMD_NAK packet)
* 0x43 (LEX_RCMD_REJ packet)
Identifier A randomly generated value that aids in
matching requests with replies
Length Minimum length = 12 octets
Maximum length = 1028 octets
Option-Type 0x03 (Set Priority)
Option-Flags None
Option-Length Minimum length = 4 octets
Maximum length = 1020 octets
Option-Data Protocol Type and Priority Value sent
in the LEX_RCMD_REQUEST packet
6.0. Disable LAN Extension Ethernet Interface ๐
Okay this one is giving shutdown energy ๐ญ The host router sends a LEX_RCMD_ REQUEST with an Option-Type of 0x04 to the LAN extension interface unit to disable the LAN extension Ethernet interface. It stops data traffic going from the LAN extension interface unit to the host router, which is useful for troubleshooting or for reconfiguring the unit. Heads up: this remote command option only affects data traffic. PPP-LEX control packets can still go over the serial link, so the conversation doesn't totally stop ๐
6.1. LEX RCMD_REQUEST - Disable LAN Extension Ethernet Interface ๐
Figure 9 is a quick frame format summary of a LEX_RCMD_REQUEST packet for the Disable LAN Extension Ethernet Interface remote command option. The host router sends the fields from left to right โจ
Figure 9 LEX_RCMD_REQUEST Packet Frame Format - Disable LAN Extension Ethernet Interface ๐ฆ
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF03 | Protocol-Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2 octets) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
LAN Extension Interface Remote Command Options
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Flags | Option-Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
Summary Field Descriptions ๐ง
For the full rundown on the fields in the PPP Header, the LAN Extension Interface Protocol Header, and the LAN Extension Interface Remote Command Option, go back to the "Remote Command Options" section earlier in this document. The table below gives you the quick version for a LEX_RCMD_REQUEST packet that disables the LAN extension interface unit ๐
Table 8 Field Values for LEX_RCMD_REQUEST Packet - Disable LAN Extension Ethernet Interface ๐
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code 0x40 (LEX_RCMD_REQUEST packet)
Identifier Valid values: 0x01-0xFF
Length 12 octets
Option-Type 0x04 (Disable LAN Extension Ethernet
Interface)
Option-Flags None
Option-Length 4 octets
Option-Data None
6.2. Response Packets - Disable LAN Extension Ethernet Interface โญ
LEX_RCMD_ACK, LEX_RCMD_NAK, and LEX_RCMD-REJ packets are all valid replies to the Disable LAN Extension Ethernet Interface LEX_RCMD_REQUEST packet. Check the "Conditions for Sending PPP-LEX Packets" section earlier in this document for when the LAN extension interface unit sends each one. Also, note this detail: the LAN extension interface unit sends the LEX_RCMD_ACK packet after shutting down the interface ๐
Table 9 sums up the field values for the Disable LAN Extension Ethernet Interface LEX_RCMD_ACK, LEX_RCMD_NAK, and LEX_RCMD_REJ packets ๐
Table 9 Field Values for Response Packets - Disable LAN Extension Ethernet Interface ๐ธ
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code Valid values:
* 0x41 (LEX_RCMD_ACK packet)
* 0x42 (LEX_RCMD_NAK packet)
* 0x43 (LEX_RCMD_REJ packet)
Identifier The same value as that sent by the
LEX_RCMD_REQUEST packet
Length 12 octets
Option-Type 0x04 (Disable LAN Extension Ethernet
Interface)
Option-Flags None
Option-Length 4 octets
Option-Data None
7.0. Enable LAN Extension Ethernet Interface ๐ฅ
Now the glow-up ๐ The host router sends a LEX_RCMD_ REQUEST with an Option-Type of 0x05 to the LAN extension interface unit to enable the LAN extension Ethernet interface. This remote command option lets LAN traffic flow into the LAN extension interface unit again, after the interface has been disabled ๐ซถ
7.1. LEX RCMD_REQUEST - Enable LAN Extension Ethernet Interface ๐
Figure 10 is a frame format summary of a LEX_RCMD_REQUEST packet for an Enable LAN Extension Ethernet Interface remote command option. The host router sends the fields from left to right ๐ง
Figure 10 LEX_RCMD_REQUEST Packet Frame Format - Enable LAN Extension Ethernet Interface ๐
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF03 | Protocol-Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2 octets) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
LAN Extension Interface Remote Command Options
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Flags | Option-Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
Summary Field Descriptions ๐ฆ
For the full descriptions of the PPP Header, the LAN Extension Interface Protocol Header, and the LAN Extension Interface Remote Command Option fields, check the "Remote Command Options" section earlier in this document. Table 10 gives you the summary for a LEX_RCMD_REQUEST packet that enables the LAN extension Ethernet interface ๐ธ
Table 10 Field Values for LEX_RCMD_REQUEST Packet - Enable LAN Extension Ethernet Interface โจ
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code 0x40 (LEX_RCMD_REQUEST packet)
Identifier Valid values: 0x01-0xFF
Length 12octets
Option-Type 0x05 (Enable LAN Extension Ethernet
Interface)
Option-Flags None
Option-Length 4 octets
Option-Data None
7.2. Response Packets - Enable LAN Extension Ethernet Interface ๐
LEX_RCMD_ACK, LEX_RCMD_NAK, and LEX_RCMD-REJ packets are all valid replies to the Enable LAN Extension Ethernet Interface LEX_RCMD_REQUEST packet. For when the LAN extension interface unit sends each of these, look at the "Conditions for Sending PPP-LEX Packets" section earlier in this document. Note that the LAN extension interface unit sends the LEX_RCMD_ACK packet after enabling the interface ๐
The frame format of the response packets mirrors the request ๐ช Table 11 sums up the field values for the Enable LAN Extension Ethernet Interface LEX_RCMD_ACK, LEX_RCMD_NAK, and LEX_RCMD_REJ packets ๐ซถ
Table 11 Field Values for Response Packets - Enable LAN Extension Ethernet Interface ๐
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code Valid values:
* 0x41 (LEX_RCMD_ACK packet)
* 0x42 (LEX_RCMD_NAK packet)
* 0x43 (LEX_RCMD_REJ packet)
Identifier The same value as that sent by the
LEX_RCMD_REQUEST packet
Length 12 octets
Option-Type 0x05 (Enable LAN Extension Ethernet
Interface)
Option-Flags None
Option-Length 4 octets
Option-Data None
8.0 Reboot LAN Extension Interface Unit ๐โจ
okay bestie, so the host router sends a LEX_RCMD_REQUEST packet with an Option-Type of 0x06 to the LAN extension interface unit to make it reboot itself ๐ฅ The Option-Flags field is where you pick the boot mode, and there are two of them ๐
- Boot mode
0x00is the default, and it's giving careful. The unit checks for a valid Flash image and boots from it if one exists ๐ซถ If there's no valid Flash image, it boots from the PROM image instead. And if the Flash image is bad, it recovers by booting from PROM. Iconic recovery arc ๐ฆ - Boot mode
0x01is the no-debate option. It forces the unit to boot from the PROM image ๐ โโ๏ธ
8.1 LEX RCMD_REQUEST - Reboot LAN Extension Interface Unit ๐
Okay so Figure 11 gives you the frame format summary for a LEX_RCMD_REQUEST packet using the Reboot LAN Extension Interface Unit remote command option ๐ฆ The host router sends the fields left to right.
Figure 11 LEX_RCMD_REQUEST Packet Frame Format -
Reboot LAN Extension Interface Unit
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF03 | Protocol-Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2 octets) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
LAN Extension Interface Remote Command Options
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Flags | Option-Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
Summary Field Descriptions ๐
For the full scoop on the PPP Header, the LAN Extension Interface Protocol Header, and the LAN Extension Interface Remote Command Option, check the "Remote Command Options" section earlier in this document ๐ Table 12 is the quick-glance version of those fields for a LEX_RCMD_REQUEST packet that tells the unit to reboot.
Table 12 Field Values for LEX_RCMD_REQUEST Packet -
Reboot LAN Extension Interface Unit
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code 0x40 (LEX_RCMD_REQUEST packet)
Identifier Valid values: 0x01-0xFF
Length 12 octets
Option-Type 0x06 (Reboot LAN Extension Interface Unit)
Option-Flags Valid values:
* 0x00 - Reboot from Flash image if it
exists. If not, reboot from PROM. (This
value does not force the LAN extension
interface unit to reboot from PROM.)
* 0x01 - Reboot from PROM explicitly.
Option-Length 4 octets
Option-Data None
8.2 Response Packets - Reboot LAN Extension Interface Unit ๐
LEX_RCMD_ACK, LEX_RCMD_NAK, and LEX_RCMD-REJ packets are all valid replies to the Reboot LAN Extension Interface Unit LEX_RCMD_REQUEST packet ๐ For when the unit actually sends each of those, look back at the "Conditions for Sending PPP-LEX Packets" section earlier in this document. Also, the unit reboots after it sends the LEX_RCMD_ACK packet, so it's basically saying "bye, see you on the other side" ๐
The response frames mirror the request frames, and Table 13 sums up the field values for LEX_RCMD_ACK, LEX_RCMD_NAK, and LEX_RCMD_REJ packets for this reboot command ๐ง
Table 13 Field Values for Response Packets -
Reboot LAN Extension Interface Unit
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code Valid values:
* 0x41 (LEX_RCMD_ACK packet)
* 0x42 (LEX_RCMD_NAK packet)
* 0x43 (LEX_RCMD_REJ packet)
Identifier The same value as that sent in the
LEX_RCMD_REQUEST packet
Length 12 octets
Option-Type 0x06 (Reboot LAN Extension Interface Unit)
Option-Flags Valid values:
* 0x00 - Reboot from Flash image if it
exists. If not, reboot from PROM. (This
value does not force the LAN extension
interface unit to reboot from PROM.)
* 0x01 - Reboot from PROM explicitly.
Option-Length 4 octets
Option-Data None
9.0 Request Statistics ๐โจ
The host router sends a LEX_RCMD_REQUEST packet with an Option-Type of 0x07 to grab statistics info from the LAN extension interface unit ๐ It's totally up to the host what it wants to peek at:
- Serial interface only ๐
- LAN interface only ๐
- Both the serial and LAN interfaces ๐ฏโโ๏ธ
The host router can also send a Statistics Request LEX_RCMD_REQUEST packet to reset the statistics in the LAN extension interface unit, which is a glow-up reset ๐งน๐
9.1 LEX RCMD_REQUEST - Request Statistics ๐
Figure 12 is the summary frame format for a LEX_RCMD_REQUEST packet using the Request Statistics remote command option. The host router sends the fields left to right.
Figure 12 LEX_RCMD_REQUEST Packet Frame Format - Request Statistics
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF03 | Protocol-Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2 octets) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
LAN Extension Interface Remote Command Option
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 0 1 2
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Flags | Option-Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
Summary Field Descriptions ๐
For the full details on the PPP Header, the LAN Extension Interface Protocol Header, and the LAN Extension Interface Remote Command Option, look at the "Remote Command Options" section earlier in this document ๐ Table 14 is the cheat sheet for a LEX_RCMD_REQUEST packet asking for the LAN extension interface unit's statistics.
Table 14 Field Values for LEX_RCMD_REQUEST Packet -
Request Statistics
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code 0x40 (LEX_RCMD_REQUEST packet)
Identifier Valid values: 0x01-0xFF
Length 12 octets
Option-Type 0x07 (Request Statistics)
Option-Flags Valid values:
* 0x01 - Resets serial statistics in the LAN
extension interface unit
* 0x02 - Returns serial statistics from the
LAN extension interface unit
* 0x04 - Returns LAN statistics from the LAN
extension interface unit
* 0x08 - Resets LAN statistics in the LAN
* extension interface unit
If both serial and LAN statistics are
desired, the corresponding bits of this
field should be set (that is, 0x06). The
serial interface statistics appear in the
response packet before the LAN statistics.
Option-Length 4 octets
Option-Data None
9.2 LEX RCMD_ACK - Request Statistics ๐
The normal reply to a Statistics Request LEX_RCMD_REQUEST packet is a LEX_RCMD_ACK packet ๐ฅฐ This ack has an Option-Type, an Option-Flags, and an Option-Length field, followed by one or two blocks of statistics data. The Option-Flags value tells you whether there's one block or two ๐ Check the "Summary Field Descriptions" section that comes next for what each value means.
The LAN extension interface unit sends the fields left to right, and Figure 13 shows the frame format for this Statistics Request LEX_RCMD_ACK packet โจ
Figure 13 LEX_RCMD_ACK Packet Frame Format - Request Statistics
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF03 | Protocol-Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2 octets) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
LAN Extension Interface Remote Command Options
<--------------------------------
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Flags |
Okay bestie, so this is where the Option-Data field gets its actual stats. ๐ Its Option-Data can carry one or both of these two blocks, and I'm not gonna pretend the diagram above doesn't look a little like a spreadsheet had a lot of feelings ๐
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1)
----------------------------------------------->
6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Option-Length | Option-Data |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2)
Serial Interface Statistics Block ๐โจ This one is giving serial line realness. Every row is 32 bits, so it's all packed in nice and tidy.
(32 bits)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Input, Number of Packets Received |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Input, Number of CRC Erros |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Input, Number of Framing Errors |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Input, Number of Overruns |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Input, Number of Packets Dropped |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Input, Number of Frame Aborts |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Input, Number of Packets in Error |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Input, Number of Packets Dropped Due to Lack of |
| Buffer Descriptors |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Input, Time of Last Packet Received |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Input, Average Data Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Input, Average Packet Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Input, Number of Octets Received |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Input, Number of Packets Dropped Due to No Buffers|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Number of Packets Transmitted |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Number of Packets with Error Transmissions|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Number of Under-run Errors |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Number of Packets in Low Priority Queue |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Size of Low Priority Queue |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Number of Packets Dropped in Low Priority |
| Queue |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Number of Packets in Normal Priority Queue|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Size of Normal Priority Queue |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Number of Packets Dropped in Normal |
| Priority Queue |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Number of Packets in Medium Priority Queue|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Size of Medium Priority Queue |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Number of Packets Dropped in |
| Medium Priority Queue |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Number of Packets in High Priority Queue |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Size of High Priority Queue |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Number of Packets Dropped in High |
| Priority Queue |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Time of Last Packet Transmitted |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Number of Carrier Transitions |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Transmitted Data Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Line Output, Number of Octets Transmitted |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Lan Interface Statistics Block ๐ Same deal here, but for LAN stuff. Still 32 bits per row, still very organized, still slay ๐
(32 bits)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Input, Number of Packets Received |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Input, Number of Packets Received with CRC Errors |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Input, Number of Packets Received with Framing Errors |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Input, Number of Overruns |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Input, Number of Packets Dropped Due to Congestion |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Input, Number of Frame Aborts |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Input, Number of Broadcast Packets Received |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Input, Number of Packets Received with Errors |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Input, Number of Packets Dropped Due to Lack of Buffer |
| Descriptors |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Input, Number of Runts (Too Small Packets) Received |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Input, Time of Last Packet Received |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Input, Average Data Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Input, Average Packet Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Input, Number of Octets Received |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Input, Number of Packets Dropped Due to Lack of Buffers |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Output, Number of Packets Transmitted |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Output, Number of Packets Transmitted with Errors |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Output, Number of Under-runs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Output, Number of Collisions (Ethernet) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Output, Number of Packets in Queue |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Output, Queue Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Output, Number of Packets Dropped in Queue |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Output, Time of Last Packet Transmitted |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Output, Transmit Data Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Output, Transmit Packet Rate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN Output, Number of Octets Transmitted |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN, Number of Interface Resets |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Okay bestie, so the stats notes are up next ๐ Counts are cumulative since the last counter reset, timestamps are in milliseconds since the last given event, and packet rates are in packets per second (averaged). ๐
Summary Field Descriptions โจ
For the full scoop on the PPP Header, the LAN Extension Protocol Header, and the LAN Extension Remote Command Option, go back to the "Remote Command Options" section earlier in the doc ๐ This table is the quick version for a LEX_RCMD_ACK packet that sends statistics back to the host router ๐ฆ
Table 15 Field Values for LEX_RCMD_ACK Packet - Request Statistics
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code 0x41 (LEX_RCMD_ACK packet)
Identifier The same value as that sent by the
LEX_RCMD_REQUEST packet
Length Minimum length = 120 octets
Maximum length = 140 octets
Option-Type 0x07 (Request Statistics)
Option-Flags The LAN extension interface unit always sets
this field to reflect the actions taken in
response to the LEX_RCMD_ACK packet. Valid
values:
* 0x01 - Reset serial statistics in the LAN
extension interface unit
* 0x02 - Return serial statistics from the
LAN extension interface unit
* 0x04 - Return LAN statistics from the LAN
extension interface unit
* 0x08 - Reset LAN statistics in the LAN
extension interface unit
If both serial and LAN statistics are
returned, the corresponding bits of this
field should are set (that is, 0x06). The
serial interface statistics appear in the
response packet before the LAN statistics.
Option-Length Minimum length = 116 octets
Maximum length = 136 octets
Option-Data The Serial Interface Statistics Block, the
LAN Interface Statistics Block, or both the
Serial Interface and LAN Interface
Statistics blocks. When the Option-Data
contains both blocks, the Serial Interface
Block precedes the LAN Interface Block.
Statistics values that the LAN extension
interface unit does not collect/support
are retuned with a value of zero.
Implementation Notes ๐ง
If the LAN extension interface unit doesn't implement the ability to send the serial and LAN interface statistics blocks separately, the implementation may always return both statistics blocks (with the Option-Flags and Option-Length fields containing the appropriate corresponding values). ๐
An implementation, such as a Token Ring LAN implementation, can collect a different set of statistics than shown above by defining a new statistics request type remote command option. ๐
9.3 LEX RCMD_NAK/LEX RCMD_REJ - Request Statistics ๐
The LAN extension interface unit sends a LEX_RCMD_NAK packet when the Statistics Request LEX_RCMD_REQUEST packet didn't specify which type of statistics the host router wants. In other words, the request's Option-Flags field equals zero. ๐
For when the LAN extension interface unit sends a Request Statistics LEX_RCMD_REJ packet, check the "Conditions for Sending PPP-LEX Packets" section earlier in the doc ๐ฅ
The frame format for the LEX_RCMD_NAK and LEX_RCMD_REJ packets is the same as the Statistics Request LEX_RCMD_REQUEST packet. Table 16 sums up the field values for the Statistics Request LEX_RCMD_NAK and LEX_RCMD_REJ packets ๐
Table 16 Field Values for LEX_RCMD_NAK/LEX_RCMD_REJ Packets - Request Statistics
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code Valid values:
* 0x42 (LEX_RCMD_NAK packet)
* 0x43 (LEX_RCMD_REJ packet)
Identifier The same value as that sent by the
LEX_RCMD_REQUEST packet
Length 12 octets
Option-Type 0x07 (Request Statistics)
Option-Flags The same value as that sent by the
LEX_RCMD_REQUEST packet
Option-Length 4 octets
Option-Data None
10.0 Download Request ๐พ
The host router sends a LEX_RCMD_REQUEST packet with an Option-Type of 0x08 to alert the LAN extension interface unit that it's about to issue a software download to Flash memory ๐ง Once the LAN extension interface unit acknowledges the command, the host router starts sending the download data. โจ
10.1 LEX RCMD_REQUEST - Download Request ๐
Figure 14 is a summary frame format of a LEX_RCMD_REQUEST packet for a Download Request remote command option. The host router transmits the fields from left to right. ๐ฆ
Figure 14 LEX_RCMD_REQUEST Packet Frame Format - Download Request
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF03 | Protocol-Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2 octets) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
LAN Extension Interface Remote Command Option
<--------------------------------
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1)
----------------------------------------------->
6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Option-Length | Option-Data |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2)
Where the Option-Data field contains the following fields:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Block Number (16 bits) | File Size (32 bits)....
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Filename (Max. 64 octets).......
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
For a full description of the PPP Header, the LAN Extension Interface Protocol Header, and the LAN Extension Interface Remote Command Option, check the "Remote Command Options" section earlier in the doc ๐ Table 17 gives you the summary when the host router sends a LEX_RCMD_REQUEST packet to tell the LAN extension interface unit about an upcoming software download to Flash memory ๐
Table 17 Field Values for LEX_RCMD_REQUEST Packet - Download Request
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code 0x40 (LEX_RCMD_REQUEST packet)
Identifier Valid values: 0x01-0xFF
Length Variable depending on size of filename in
the Filename field. Valid range:
Minimum length = 19 octets
Maximum length = 82 octets
Option-Type 0x08 (Download Request)
Option-Flags None
Option-Length Variable depending on size of filename in
the Filename field. Valid range:
Minimum length = 11 octets
Maximum length = 74 octets
Option-Data Block Number, File Size, and Filename of
the code/image to be downloaded. See the
following "Option-Data Field Descriptions"
section for details.
Option-Data Field Descriptions ๐ซถ
The Option-Data field contains the following fields:
- Block Number
The Block Number field holds a value that identifies a contiguous group of code bits to be downloaded to the LAN extension interface unit. In the LEX_RCMD_REQUEST packet, the Block Number is always zero. ๐ข
- File Size
The File Size field holds the size (in octets) of the code to be downloaded to the LAN extension interface unit. ๐
- Filename
The Filename field holds the name of the image to be transferred to the LAN extension interface unit. ๐
10.2 Response Packets - Download Request ๐ธ
These packets are valid responses to a Download Request LEX_RCMD_REQUEST packet:
- LEX_RCMD_ACK - Download Request
Check the "Conditions for Sending PPP-LEX Packets" section earlier in the doc for more on when the LAN extension interface unit sends this packet. ๐
- LEX_RCMD_NAK - Download Request
The LAN extension interface unit sends a Download Request LEX_RCMD_NAK packet when it's currently programming Flash, when the File Size field value in the request is greater than the unit's available Flash bytes, when the LAN extension interface unit is out of memory, or when the Block Number field value in the request isn't zero. ๐ญ
- LEX_RCMD_REJ - Download Request
Refer to the "Conditions for Sending PPP-LEX Packets" section earlier in the doc for more info on when the LAN extension interface unit sends this packet. ๐ง
Table 18 sums up the field values for the Download Request LEX_RCMD_ACK, LEX_RCMD_NAK, and LEX_RCMD_REJ packets ๐
Table 18 Field Values for Response Packets - Download Request
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code Valid values:
* 0x41 (LEX_RCMD_ACK packet)
* 0x42 (LEX_RCMD_NAK packet)
* 0x43 (LEX_RCMD_REJ packet)
Identifier The same value as that sent by the
LEX_RCMD_REQUEST packet
Length The same value as that sent by the
LEX_RCMD_REQUEST packet
Option-Type 0x08 (Download Request)
Option-Flags None
Option-Length The same value as that sent by the
LEX_RCMD_REQUEST packet
Option-Data Block Number, File Size, and Filename of
the code/image to be downloaded.
11.0 Download Data โจ
okay so once the host router gets a Download Request LEX_RCMD_ACK packet back from the LAN extension interface unit, it starts sending the data that gets written into Flash memory. It does this by sending LEX_RCMD_REQUEST packets with an Option-Type of 0x09. It sends multiple Download Data LEX_RCMD_REQUEST packets, and each one carries 512 octets of Option-Data with the binary data to be programmed into Flash memory ๐พ๐ซถ
A packet with Option-Data of less than 512 octets is the signal that the download data is over (aka the end of tile). Now here's the tricky part ๐ If the file being downloaded is an even multiple of 512 bytes, the last packet should have an Option-Length of 6. So it has Option-Data with the Block Number field value but no data. A Block Number with no data is how the LAN extension interface unit knows this is the last block ๐โจ
11.1 LEX RCMD_REQUEST - Download Data
The Download Data LEX_RCMD_REQUEST packet is kinda giving TFTP frame vibes ๐ Figure 15 shows the summary, and the host router sends the fields from left to right.
Figure 15 LEX_RCMD_REQUEST Packet Frame Format - Download Data
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF03 | Protocol-Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2 octets) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
LAN Extension Interface Remote Command Option
<--------------------------------
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1)
----------------------------------------------->
6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Option-Length | Option-Data |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2)
Where the Option-Data field contains the following fields:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Block Number (16 bits) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| Binary Download Data (Max. 512 octets)..... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Summary Field Descriptions ๐
For a complete descriptions of the fields in the PPP Header, the LAN Extension Interface Protocol Header, and the LAN Extension Interface Remote Command Option, check the "Remote Command Options" section earlier in this document. Table 19 is the cheat sheet for sending a LEX_RCMD_REQUEST packet that downloads software to the LAN extension interface unit ๐ง
Table 19 Field Values for LEX_RCMD_REQUEST Packet - Download Data
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code 0x40 (LEX_RCMD_REQUEST packet)
Identifier Valid values: 0x01-0xFF
Length Minimum length = 14 octets
Maximum length = 526 octets
Option-Type 0x09 (Download Data)
Option-Flags None
Option-Length Minimum length = 6 octets (signals end of
data transfer for a file with a file size
of an even multiple of 512 bytes)
Maximum length = 518 octets
Option-Data Block Number and Download Data. See the
following "Option-Data Field Descriptions"
section for details.
Option-Data Field Descriptions ๐
The following Option-Data fields give the LAN extension interface unit its download data:
Block Number ๐ข
The Block Number identifies the contiguous group of code bits being downloaded. The host router generates this number automatically. The first Download Data packet gets a block number of one, and the host router bumps the Block Number by one with every Download Data LEX_RCMD_REQUEST packet it sends to the LAN extension interface unit. The maximum value of the Block Number depends on the unit's Flash memory size.
Download Data ๐
The Download Data is the actual code bits getting downloaded to the LAN extension interface unit. A maximum of 512 octets of download data can be sent in one Download Data LEX_RCMD_REQUEST packet.
11.2 Response Packets - Download Data
These packets are valid responses to a Download Data LEX_RCMD_REQUEST packet:
- LEX_RCMD_ACK - Download Data
Check the "Conditions for Sending PPP-LEX Packets" section earlier in the document for more on this one ๐ธ
- LEX_RCMD_NAK - Download Data
The LAN extension interface unit sends a Download Data LEX_RCMD_NAK packet when it's not in the proper state, or when accepting the data would over-run the download buffer. Oof ๐
- LEX_RCMD_REJ - Download Data
Same deal here, see the "Conditions for Sending PPP-LEX Packets" section earlier in the document for more info on this packet ๐ฆ
Table 20 summarizes the field values of the Download Data LEX_RCMD_ACK, LEX_RCMD_NAK, and LEX_RCMD_REJ packets ๐
Table 20 Field Values for Response Packets - Download Data
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code Valid values:
* 0x41 (LEX_RCMD_ACK packet)
* 0x42 (LEX_RCMD_NAK packet)
* 0x43 (LEX_RCMD_REJ packet)
Identifier The same value as that sent by the
LEX_RCMD_REQUEST packet
Length 14 octets
Option-Type 0x09 (Download Data)
Option-Flags None
Option-Length 6 octets
Option-Data Block Number only
12.0 Download Status ๐
Once a Download Data sequence is done, the host router sends a LEX_RCMD_REQUEST packet with an Option-Type of 0x0A to ask whether the download worked or not. Lowkey a bad checksum of the image, or a malfunctioning Flash memory, could make the download fail ๐ญ
12.1 LEX RCMD_REQUEST - Download Status
Figure 16 shows the frame format summary of a LEX_RCMD_REQUEST packet for a Download Status remote command option. The host router sends the fields from left to right โจ
Figure 16 LEX_RCMD_REQUEST Packet Frame Format - Download Status
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF03 | Protocol-Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2 octets) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
LAN Extension Interface Remote Command Option
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Flags | Option-Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
Summary Field Descriptions ๐
For a complete descriptions of the fields in the PPP Header, the LAN Extension Interface Protocol Header, and the LAN Extension Interface Remote Command Option, check the "Remote Command Options" section earlier in this document. Table 21 summarizes these fields when sending a LEX_RCMD_REQUEST packet that asks for the download status of the LAN extension interface unit ๐
Table 21 Field Values for LEX_RCMD_REQUEST Packet - Download Status
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code 0x40 (LEX_RCMD_REQUEST packet)
Identifier Valid values: 0x01-0xFF
Length 12 octets
Option-Type 0x0A (Download Status)
Option-Flags None
Option-Length 4 octets
Option-Data None
12.2 LEX RCMD_REQUEST - Download Status
When the LAN extension interface unit correctly receives the Download Status LEX_RCMD_REQUEST packet, it sends back a LEX_RCMD_ACK packet with the status info in the Option-Data field ๐
Figure 17 shows the frame format for the Download Status LEX_RCMD_ACK packet. The LAN extension interface unit sends the fields from left to right.
Figure 17 LEX_RCMD_ACK Packet Frame Format - Download Status
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF03 | Protocol-Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2 octets) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
LAN Extension Interface Remote Command Option
<--------------------------------
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1)
----------------------------------------------->
6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Option-Length | Option-Data |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2)
Where the Option-Data field contains the following fields:
0 1 2 3 4 5
okay so the Status field is a 16-bit thing, and it's giving clean layout ๐
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Status (16 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Summary Field Descriptions โจ
bestie, for the full tea on the PPP Header, the LAN Extension Interface Protocol Header, and the LAN Extension Interface Remote Command Option, go back to the "Remote Command Options" section earlier in this doc ๐ Table 22 is the quick cheat sheet for when the unit sends status info back to the host router ๐
Table 22 Field Values for LEX_RCMD_ACK Packet - Download Status
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code 0x41 (LEX_RCMD_ACK packet)
Identifier The same value as that sent by the
LEX_RCMD_REQUEST packet
Length 14 octets
Option-Type 0x0A (Download Status)
Option-Flags None
Option-Length 6 octets
Option-Data Status information. See the following
"Option-Data Field Descriptions" section
for details.
Option-Data Field Descriptions ๐ซถ
okay so the Option-Data field is where the Status field carries the download status back to the host router ๐ The Status field reports these:
1- Acknowledgment that no errors occurred โ3- Sequence error occurred ๐ญ6- Flash write error occurred ๐7- Checksum error ๐
12.3 LEX RCMD_NAK/LEX RCMD_REJ - Download Status ๐
ngl this one is basically the mirror image of the request ๐ช Refer to the "Conditions for Sending PPP-LEX Packets" section earlier in this document to find out when the LAN extension interface unit sends a Download Status LEX_RCMD_NAK packet or a Download Status LEX_RCMD_REJ packet ๐ฅ
The frame format for these two response packets mirrors the frame format of the Download Status LEX_RCMD_REQUEST packet. Table 23 summarizes the field values for the Download Status LEX_RCMD_NAK and LEX_RCMD_REJ packets ๐
Table 23 Field Values for LEX_RCMD_NAK/LEX_RCMD_REJ Packets - Download Status
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code Valid values:
* 0x42 (LEX_RCMD_NAK packet)
* 0x43 (LEX_RCMD_REJ packet)
Identifier The same value as that sent by the
LEX_RCMD_REQUEST packet
Length 12 octets
Option-Type 0x0A (Download Status)
Option-Flags None
Option-Length 4 octets
Option-Data None
13.0 Inventory Request ๐ง
okay so the host router sends a LEX_RCMD_REQUEST packet with an Option-Type of 0x0B to the LAN extension interface unit to ask for inventory info ๐ฆ The host router may use this remote command option to:
- Tell apart different versions of the LAN extension interface unit so it knows what they can do ๐
- Figure out whether a new version of Flash code should be downloaded ๐พ
13.1 LEX RCMD_REQUEST - Inventory Request ๐ฆ
Figure 18 shows the frame format for a LEX_RCMD_REQUEST packet with an Inventory Request remote command option. The host router transmits the fields from left to right, so read it left to right too ๐
Figure 18 LEX_RCMD_REQUEST Packet Frame Format - Inventory Request
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF03 | Protocol-Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2 octets) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
LAN Extension Interface Remote Command Option
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Flags | Option-Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
Summary Field Descriptions โจ
For a complete description of the fields in the PPP Header, the LAN Extension Interface Protocol Header, and the LAN Extension Interface Remote Command Option, go to the "Remote Command Options" section earlier in this document ๐ Table 24 gives the summary when you send a LEX_RCMD_REQUEST packet that asks for inventory info ๐
Table 24 Field Values for LEX_RCMD_REQUEST Packet-Inventory Request
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code 0x40 (LEX_RCMD_REQUEST packet)
Identifier Valid values: 0x01-0xFF
Length 12 octets
Option-Type 0x0B (Inventory Request)
Option-Flags None
Option-Length 4 octets
Option-Data None
13.2 LEX RCMD_ACK - Inventory Request ๐ธ
when the unit correctly receives the Inventory Request remote command option and retrieves the inventory info, it replies with an acknowledgment ๐ซง That ack carries the requested inventory info in the Option-Data field ๐
Figure 19 shows the frame format for the Inventory Request LEX_RCMD_ACK packet ๐ง
Figure 19 LEX_RCMD_ACK Packet Frame Format - Inventory Request
PPP Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF03 | Protocol-Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2 octets) (2)
LAN Extension Interface Protocol Header
<-------------------------------------------------------------->
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1) (2)
LAN Extension Interface Remote Command Option
<--------------------------------
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option-Type | Option-Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(1) (1)
----------------------------------------------->
6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Option-Length | Option-Data |
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(2)
Where the Option-Data field contains the following fields:
(32 bits)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flash Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Serial Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| HW Version | PROM Major Ver| PROM Minor Ver|Flash Major Ver|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Flash Minor Ver| FLAGS | RAM Major Ver | RAM Minor Ver |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Mac Address (6 octets) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Summary Field Descriptions โจ
For a complete description of the fields in the PPP Header, the LAN Extension Interface Protocol Header, and the LAN Extension Interface Remote Command Option, go to the "Remote Command Options" section earlier in this document ๐ Table 25 is the summary for when you're acknowledging a LEX_RCMD_REQUEST packet that asks for inventory info ๐
Table 25 Field Values for LEX_RCMD_ACK Packet - Inventory Request
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code 0x41 (LEX_RCMD_ACK packet)
Identifier The same value as that sent by
LEX_RCMD_REQUEST packet
Length 34 octets
Option-Type 0x0B (Inventory Request)
Option-Flags None
Option-Length 26 octets
Option-Data Inventory data. See the following
"Option-Data Field Descriptions" section
for details.
Option-Data Field Descriptions ๐ซถ
the Option-Data field of the LEX_RCMD_ACK packet uses these fields to send inventory data to the host router about the LAN extension interface unit ๐ง
- Flash Size
- Serial Number
- HW Version
- PROM Major Ver
- PROM Minor Ver
- Flash Major Ver
- Flash Minor Ver
- FLAGS
- RAM Major Ver
- RAM Minor Ver
- MAC Address
Flash Size
This field contains the LAN extension interface unit's Flash size in bytes.
Serial Number
This field provides the LAN extension interface unit's serial number. This is an unassigned, 32-bit number.
HW Version
This field contains the version number of the LAN extension interface hardware unit.
PROM Major Ver
This field contains part of the version number of the PROM image. "Major" indicates which major software release this revision belongs to. For example, if the PROM version number is 1.2, then the major version number is 1.
PROM Minor Ver
This field contains part of the version number of the PROM image. "Minor" indicates which minor software release this revision belongs to. For example, if the PROM version number is 1.2, then the minor version number is 2.
Flash Major Ver
This field contains the "major" version number of the Flash image. For example, if the Flash image version number is 1.2, then the major version number is 1.
Flash Minor Ver
This field contains the "minor" version number of the Flash image. For example, if the Flash image version number is 1.2, then the minor version number is 2.
FLAGS
FLAGS report the boot status of the LAN extension interface unit. The flags are as follows:
0x01- Running PROM image0x02- Running Flash image0x04- PROM image passed checksum0x08- Flash image passed checksum
RAM Major Ver
This field contains the "major" version number of the running image in RAM. For example, if the RAM image version number is 1.2, then the major version number is 1.
RAM Minor Ver
This field contains the "minor" version number of the running image in RAM. For example, if the RAM image version number is 1.2, then the minor version number is 2.
MAC Address
The MAC Address is the LAN extension interface unit's burned-in MAC address in canonical format. This field is six octets.
13.3 LEX RCMD_NAK/LEX RCMD_REJ - Inventory Request โจ
okay so for these two response packets, go back to the "Conditions for Sending PPP-LEX Packets" section earlier in this doc ๐ง That's where you'll find when the LAN extension interface unit actually sends an Inventory Request LEX_RCMD_NAK packet or an Inventory Request LEX_RCMD_REJ packet ๐
the frame format of these two response packets literally mirrors the request, no cap ๐ฆ Table 26 has all the field values:
Table 26 Field Values for LEX_RCMD_NAK/LEX_RCMD_REJ Packets -
Inventory Request
Field Value
Address/Control 0xFF03 (Broadcast address/Unnumbered
information)
Protocol-Type 0x8041 (Control packet)
Code Valid values:
* 0x42 (LEX_RCMD_NAK packet)
* 0x43 (LEX_RCMD_REJ packet)
Identifier The same value as that sent by the
LEX_RCMD_REQUEST packet
Length 12 octets
Option-Type 0x0B (Inventory Request)
Option-Flags None
Option-Length 4 octets
Option-Data None
14.0 LAN Extension Interface Protocol Data Packets ๐
okay this part is giving data packets ๐ซถ When the PPP-LEX NCP is in an "opened" state, the LAN extension interface unit and the host router also swap PPP-LEX data packets (on top of the control packets). There is only one type of PPP-LEX data packet, and it's a subset of the PPP-BCP packet format ๐
the subsetting is set up so that a PPP-BCP implementation will successfully process a LAN extension interface protocol packet. ngl that's so smart ๐ญ The differences are:
- LAN ID field will not be present.
- LAN FCS field will never be present (that is, the F flag will always be off [=0]).
- LAN ID flag (I) will always be off.
- Pad field for the serial link will never be present, and the count field will be 0.
if you want the full deets on PPP-BCP packets, check the "PPP Bridging Control Protocol (BCP)" RFC. (References, [2]) ๐
14.1 Frame Format
Figure 20 shows the frame format for a PPP-LEX data packet ๐ธ The MAC frame gets transferred except for the FCS field. The LAN extension interface unit computes the FCS for packets going to the LAN, and it strips the FCS for packets headed to the host router. the way that split works is so clean ๐
Figure 20 PPP-LEX Data Packet Frame Format
(8 bits) (8 bits) (8 bits) (8 bits)
+-+-+-+-+-+-+-+-+
| HDLC FLAG |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xFF | 0x03 | 0x0041 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| F|I|Z|0| Pad | Mac Type | Destination MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source MAC Address | Length/Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LLC Data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Serial) HDLC CRC | HDLC FLAG |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
14.2 Summary Field Descriptions
okay now the field-by-field tea โ๐
HDLC FLAG
HDLC Frame delimiter. โจ
0xFF
This Address field contains the broadcast address. ๐ข
0x03
This Control field contains unnumbered information. ๐ง
0x0041
This field contains the IETF-assigned protocol type value for a PPP-LEX data packet. In this case this field will always contain 0x0041. ๐
Flags
The flags F, I, Z, 0 have these meanings:
- F: Set bit F if the LAN FCS field is present. Because PPP-LEX data packets do not contain the LAN FCS field, this bit should not be set (field=0).
- I: Set bit I if the LAN ID field is present. Because PPP-LEX data packets do not contain the field, this bit should not be set (field=0).
- Z: Set bit Z if IEEE 802.3 Pad must be zero filled to minimum size.
- 0: Reserved, must be zero.
Pad
Any PPP frame may have padding inserted in the Optional Data Link Layer Padding field. The value tells the receiving system how many pad octets to strip off. The LAN extension interface protocol does not support the Optional Data Link Layer Padding field, so the value of this field should be zero. ๐
MAC Type
This field contains the most up-to-date value of the MAC type as specified in the most recent "Assigned Numbers" RFC. The current value is:
- 1: IEEE 802.3/Ethernet with canonical addresses
Destination MAC Address
This field is 6 octets and contains the MAC address of the destination system as defined by IEEE. The MAC Type field defines the bit ordering. ๐
Source MAC Address
This field is 6 octets and contains the MAC address of the destination system as defined by IEEE. The MAC Type field defines the bit ordering. ๐
Length/Type
This field is any Ethernet protocol type (See RFC 1700 in the references "Assigned Numbers"). For IEEE 802.3 frames, this is a length field. ๐ฆ
LLC Data
This field is the remainder of the MAC frame which is (or would be if it were present) protected by the LAN FCS. ๐ซถ
(Serial) HDLC CRC
This is a 16 bit Cyclic Redundancy Check field. ๐ฅ
For complete info on all the fields above and how they relate to PPP-BCP packets, check the "PPP Bridging Control Protocol (BCP)" RFC. (References, [2]) ๐
Notes
- The LAN extension interface protocol does allow the segmentation of individual LAN packets across the serial link. Each LAN packet must be transmitted across the serial link as one PPP-LEX encapsulation. ๐
- MAC addresses in PPP-LEX packets should be in canonical format. ๐
References
[1] Simpson, W., "The Point-To-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-To-Point Links", RFC 1331, Daydreamer, May 1992.
[2] Baker, F., and R. Bowen, "PPP Bridging Control Protocol (BCP)", RFC 1638, ACC, IBM, June 1994.
[3] Lloyd, B., and W. Simpson, "PPP Authentication Protocols", RFC 1334, Lloyd & Associates, Daydreamer, October 1992.
[4] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC 1700, USC/Information Sciences Institute, October 1994.
[5] Reynolds, J., and J. Postel, "Standard for the transmission of IP datagrams over IEEE 802 networks", RFC 1042, USC/Information Sciences Institute, February 1988.
Security Considerations ๐
Security issues are not discussed in this memo. ๐ญ
Authors' Addresses ๐ง
Joelle Bafile Chapman, Technical Writer
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
EMail: joelle@cisco.com
Dave Coli, Software Engineer
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
EMail: dcoli@cisco.com
Andy Harvey, Software Engineer
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
EMail: agh@cisco.com
Bent Jensen, Engineering Manager
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
EMail: bent@cisco.com
Kevin Rowett, Software Engineer
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
EMail: krowett@cisco.com
๐ฆ where this page comes from
- ietf: rfc1841 1995-09
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms