<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>Hi,<br><br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>In PF, the 'route-to' and 'rdr-to' support 'round-robin' and 'sticky'. so PF can be used as a load balancer nicely.<br><br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>In IPFW, 'forward' and 'nat' can do the traffic redirection, but it only accept 1 destination. in order to do the load-balancing, some rules are needed before the 'forward/nat' which can split the traffic.<br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>e.g.<br><br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>100   tag 1 prob 50%<br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>200   skipto 1000 when tagged 1<br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>300   tag 2<br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>1000  forward to IP1 when tagged 1<br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>1100  forward to IP2 when tagged 2<br><br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>It can work as a "random" load-balancer (prob is randon), but cannot acheve the "round-robin" and "sticky". <br><br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>so I was thinking about how to introduce the feature, and below 2 can acheve that, but not confident about which looks nicer.<br><br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>1. fwd and nat support multiple destinations,<br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>e.g.<br><br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>fwd ip1:port1[,ip2:port2,ip3:port3] <br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><br><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>fwd ip1:port1[,ip2:port2,ip3:port3] round-robin<br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><br><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i>fwd ip1:port1[,ip2:port2,ip3:port3] round-robin<br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i><br></i></div></div></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i><br><br></i></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(0,0,0)"><i><br></i></div></div>