Incoming frames
The device driver provides Ethernet headers for all incoming frames.
If necessary information like the Ethernet source address is not available (because of the offload functionality) the value is filled with the hardcoded address FAKELL.
Frame | Destination address | Source address |
---|---|---|
IPv4 | Real device address | FAKELL |
IPv6 | Real device address | FAKELL |
Other packets | Real device address | Real source address |
Note that if a source or destination address is a multicast or broadcast address the device driver can provide the corresponding (real) Ethernet multicast or broadcast address even when the packet was delivered or sent through the offload engine. Always providing the link layer headers enables packet socket applications like tcpdump to work properly on a qeth layer 3 device without any changes in the application itself (the patch for libpcap is no longer required).
While the faked headers are syntactically correct, the addresses are not authentic, and hence applications requiring authentic addresses will not work. Some examples are given in Table 2.
Application | Support | Reason |
---|---|---|
tcpdump | Yes | Displays only frames, fake Ethernet information is displayed. |
iptables | Partially | As long as the rule does not deal with Ethernet information of an IPv4 frame. |
dhcp | Yes | Is non-IPv4 traffic. (Note that DHCP does not work for Layer 3 HiperSockets.) |