Multiple inet connections

- Balancing two inet connections on OpenBSD

 in /etc/sysctl.conf:

net.inet.ip.forwarding=1

rules in /etc/pf.conf:

lan_net = "10.2.3.0/24"
int_if  = "rl0"
ext_if1 = "fxp0"
ext_if2 = "em0"
ext_gw1 = "1.1.1.254"
ext_gw2 = "2.2.2.25"
nat on $ext_if1 from $lan_net to any -> ($ext_if1)
nat on $ext_if2 from $lan_net to any -> ($ext_if2)
block in from any to any
block out from any to any
pass out on $int_if from any to $lan_net
pass in quick on $int_if from $lan_net to $int_if
pass in on $int_if route-to \
    { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \
    proto tcp from $lan_net to any flags S/SA modulate state
pass in on $int_if route-to \
    { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \
    proto { udp, icmp } from $lan_net to any keep state
pass in on $ext_if1 proto tcp to ($ext_if1) port ssh flags S/SA keep state
pass in on $ext_if2 proto tcp to ($ext_if2) port ssh flags S/SA keep state
pass in on $int_if proto tcp to ($int_if) port ssh flags S/SA keep state
pass out on $ext_if1 proto tcp from any to any flags S/SA modulate state
pass out on $ext_if1 proto { udp, icmp } from any to any keep state
pass out on $ext_if2 proto tcp from any to any flags S/SA modulate state
pass out on $ext_if2 proto { udp, icmp } from any to any keep state
pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any
pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any