It can also be your custom-made user level program doing a series of putmsg and getmsg system calls. PPA stands for physical point of attachment, which is a nice way to say that it is an instance number of the NIC that is involved in sending and receiving of data. The number listed for the PPA is the device's instance number. During outbound data, DLPI uses this structure to call a function in the driver. Drivers get two pieces of data during a bind.
Streams read side q and a function pointer also known affectionately as the rint function.
This rint function is called by the driver with q and data as arguments. Some of these extensions are for enlisting the LAN devices, IP fast path, enabling or disabling loopback, and so on. I've heard about IP fastpath. The basic idea of how Fastpath works is that the DLPI user sends the driver an ioctl request setting up a fastpath on this stream. The driver builds up a link header and returns to the user.