02.03.2014 Views

BSP Developer's Guide

BSP Developer's Guide

BSP Developer's Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

VxWorks 5.5<br />

<strong>BSP</strong> Developer’s <strong>Guide</strong><br />

The MUX Is an Interface Joining the Data Link and Protocol Layers<br />

One feature of the network stack is an API between the data link and network<br />

protocol layers. This API multiplexes access to the networking hardware for<br />

multiple network protocols. This interface is known as the MUX. Figure H-1 shows<br />

the MUX in relationship to protocol and data link layers.<br />

Figure H-1<br />

The MUX Is the Interface Between the Data Link and Protocol Layers<br />

Protocol Layer:<br />

IP + ICMP<br />

Streams<br />

(custom<br />

protocol)<br />

MUX<br />

Data Link Layer:<br />

Ethernet<br />

Backplane<br />

CSLIP<br />

(other)<br />

At the protocol layer, VxWorks typically uses IP, although you can port and use<br />

other protocols. At the data link layer, VxWorks typically uses Ethernet, although<br />

VxWorks does support other physical media for data transmission. For example,<br />

VxWorks supports the use of serial lines for long-distance connections. In more<br />

closely coupled environments, VxWorks Internet protocols can also use the shared<br />

memory on a common backplane as the physical medium. However, whatever the<br />

medium, the network interface drivers all use the MUX to communicate with the<br />

protocol layer.<br />

NOTE: The data link layer is an abstraction. A network interface driver is code that<br />

implements the functionality described by that abstraction. Likewise, the protocol<br />

layer is an abstraction. The code that implements the functionality of the protocol<br />

layer could be called a protocol interface driver. However, this document refers to<br />

such code simply as “the protocol.”<br />

The MUX Decouples Network Interface Drivers and Protocols<br />

Under the BSD 4.3 model, VxWorks network drivers and protocols are tightly<br />

coupled. Both the protocol and the network driver depend on an intimate<br />

knowledge of each other’s data structures. Under the MUX-based model, network<br />

drivers and protocols have no knowledge of each other’s internals. Network<br />

interface drivers and protocols interact only indirectly—through the MUX.<br />

268

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!