Adding static routes data for members
Adding extra data on member entities for routing.
Subnet, mask and gateway data is attached to each member.
Default values are:
subnet=255.255.255.255
mask=255.255.255.255
GW=255.255.255.255
Only in case when LB is connected to both, pool sub-net and vip sub-net
and member is not on pool's sub-net, routing info will be determined
instead of setting to default values:
1. In case when member's port is found, member's subnet and mask
data will be set to those of the port, gateway will be set to pool's
gateway address
2. In case when no port found or more than one port found for member's IP address,
member's subnet will be set to member's IP address value , gateway will be set
to pool's gateway value, and mask will be set to default 255.255.255.255
New unit tests were added for testing following scenarios:
1. Adding 3 members on 3 different sub-nets, vip's, pool's and other sub-net
2. Adding member on other than pool's sub-net with no port
3. Adding member on other than pool's sub-net with multiple ports with same IP address
but on different sub-nets
Internal vip graph building function was added (_populate_vip_graph)
for more convenient code re-use and better structure
Change-Id: I6d592ffe8ee3f82f56a4bfbe1d420541871dad2d
Closes-Bug:
1291417