You can set up to eight STREAMS modules to be pushed onto the stream when the datalink is opened. These modules are typically used by third-party networking software such as virtual private networks (VPNs) and firewalls. Documentation about such networking software is provided by the software vendor.
The list of modules to push on a specific datalink is controlled by the autopush property. In turn, the value of the autopush property is set by using the dladm set-linkprop command.
There is a separate autopush command that you can use to push modules onto the datalink's stream on a per-driver basis. This command uses a configuration file that is set up for each driver and which informs the command the modules to push. However, the driver is always bound to the NIC. If the datalink's underlying NIC is removed, then the link's autopush property information is lost as well.
Therefore, using the dladm command for this purpose is more preferable than using the autopush command. If both per-driver and per-link types of autopush configuration exist for a specific datalink, the per-link information that is set with the dladm set-linkprop command is used, and the per-driver information is ignored.
To push modules to the STREAMS when the datalink is opened, use the same dladm set-linkprop command to specify modules for the autopush property. For example, you would push the vpnmod and bufmod modules on top of the link net0 as follows:
# dladm set-linkprop -p autopush=vpnmod.bufmod net0