The ef pseudo-device driver clones each Ethernet type device with four additional interfaces. Each of them is capable to send or receive only one predefined frame type.
Names for the new interfaces are created by adding a fN suffix to an existing device name. Where N is a device unit which can have one of the following values:
0interface with an Ethernet_II frame
1interface with a Novell Ethernet_802.3 frame
2interface with an Ethernet_802.2 frame
3interface with an Ethernet_802.2/SNAP frame support.
For example, device ed0 will be populated with four devices: ed0f0, ed0f1, ed0f2 and ed0f3.
After that, each device can be configured as usual:
# ifconfig ed0f1 ipx 0x105
This will configure IPX protocol with network number 0x105 and Ethernet_802.3 frame type.
Please note that it is impossible to configure the IPX protocol on the parent ed0 device after the if_ef.ko driver has been loaded.
If the parent interface is not configured for any other protocol (IP for example), subinterfaces will not function. To avoid that, the parent interface should be manually marked as "up":
# ifconfig ed0 up
The ef driver can be loaded via the loader.conf(5) file:
In this case, ordinary interface configuration commands can be used in the rc.conf(5) file:
network_interfaces= "ed2 lo0 tun0 ed2f0 ed2f1"
ifconfig_ed2f0_ipx= "ipx 0x101"
ifconfig_ed2f1_ipx= "ipx 0x102"
Avoid to configure the parent Ethernet device for the IPX protocol, after the ef driver is loaded.