Before Solaris 2.6, you either needed special software like JetAdmin or get a printer that supported the BSD print protocol and set your system up as a BSD client.
Starting with Solaris 2.6, there's a new lp "model" script, "netstandard". This script allows you to print to remote BSD type printers as well as over raw TCP/IP connections. It's used like this:
# Raw TCP lpadmin -p <localname> -m netstandard -o protocol=tcp -o dest=host:port \ -v /dev/null # BSD lpadmin -p <localname> -m netstandard -o protocol=bsd -o dest=host \ -v /dev/null
Enable/accept and you're all set.
When using netstandard, all filtering is done locally. When configured as a BSD print client, filtering isn't done locally as only print servers should filter jobs.