Source-Based Routing (SBR) with PowerScale OneFS is discussed in the PowerScale OneFS 8.1.0 External Network Connectivity Guide. This section clarifies how SBR functions. The naming convention suggests that SBR is routing packets based on a source IP address. However, SBR is actually a mechanism to dynamically create per-subnet default routes. The router used as this gateway is derived from the subnet configuration.
Gateways must be defined for each subnet. For example, consider a cluster with subnets A, B, and C, as illustrated in the following figure:
In the preceding example, each gateway has a defined priority. If SBR is not configured, the highest priority gateway, that is gateway with the lowest value which is reachable, is used as the default route. Once SBR is enabled, when traffic arrives from a subnet that is not reachable using the default gateway, firewall rules are added. Because OneFS is FreeBSD based, these rules are added through ipfw. In the preceding example, the following ipfw rules are provisioned:
If src-ip is in subnetA and dst-ip is not in (subnetA,B,C) set next-hop to gatewayA
If src-ip is in subnetB and dst-ip is not in (subnetA,B,C) set next-hop to gatewayB
If src-ip is in subnetC and dst-ip is not in (subnetA,B,C) set next-hop to gatewayC
The process of adding ipfw rules is stateless and essentially translates to per-subnet default routes. SBR is entirely dependent on the source IP address that is sending traffic to the cluster. If a session is initiated from the source subnet, the ipfw rule is created. The session must be initiated from the source subnet, otherwise the ipfw rule is not created. If the cluster has not received traffic that originated from a subnet that is not reachable using the default gateway, OneFS will transmit traffic it originates through the default gateway.
Given how SBR creates per-subnet default routes, consider: