@Test public void testAllAttrs() { SortedSet<Ip> bumTransportIps = ImmutableSortedSet.of(Ip.parse("2.2.2.2"), Ip.parse("2.2.2.3")); VniSettings vs = VniSettings.builder() .setBumTransportIps(bumTransportIps) .setBumTransportMethod(BumTransportMethod.UNICAST_FLOOD_GROUP) .setSourceAddress(Ip.parse("1.2.3.4")) .setUdpPort(2345) .setVlan(7) .setVni(10007) .build(); assertThat( vs.getBumTransportIps(), containsInAnyOrder(Ip.parse("2.2.2.2"), Ip.parse("2.2.2.3"))); assertThat(vs.getBumTransportMethod(), equalTo(BumTransportMethod.UNICAST_FLOOD_GROUP)); assertThat(vs.getSourceAddress(), equalTo(Ip.parse("1.2.3.4"))); assertThat(vs.getUdpPort(), equalTo(2345)); assertThat(vs.getVlan(), equalTo(7)); assertThat(vs.getVni(), equalTo(10007)); }
public static @Nonnull Builder builder() { return new Builder(); }
VniSettings.Builder vniSettingsBuilder = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(multicastGroup)) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setUdpPort(udpPort) .setVni(vni); VniSettings vniSettingsTail = vniSettingsBuilder.setSourceAddress(srcIp1).setVlan(vlan1).build(); v1.setVniSettings(ImmutableSortedMap.of(vni, vniSettingsTail)); v2.setVniSettings( ImmutableSortedMap.of( vni, vniSettingsBuilder.setSourceAddress(srcIp2).setVlan(vlan2).build())); TableAnswerElement answer = (TableAnswerElement)
VniSettings.Builder vniSettingsBuilder = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(MULTICAST_GROUP)) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setUdpPort(UDP_PORT) .setVni(VNI); VniSettings vniSettingsTail = vniSettingsBuilder.setSourceAddress(SRC_IP1).setVlan(VLAN1).build(); _v1.setVniSettings(ImmutableSortedMap.of(VNI, vniSettingsTail)); _v2.setVniSettings( ImmutableSortedMap.of( VNI, vniSettingsBuilder.setSourceAddress(SRC_IP2).setVlan(VLAN2).build())); addVniEdges(graph, vrfHostnames, VNI, ImmutableList.of(_v1, _v2));
1, VniSettings.builder() .setVni(1) .setVlan(10001) .setSourceAddress(Ip.parse("1.2.3.4")) .setUdpPort(4242) .setBumTransportMethod(BumTransportMethod.UNICAST_FLOOD_GROUP) .setBumTransportIps( ImmutableSortedSet.of(Ip.parse("2.3.4.5"), Ip.parse("2.3.4.6"))) .build(), 2, VniSettings.builder() .setVni(2) .setVlan(10002) .setSourceAddress(Ip.parse("1.2.3.4")) .setUdpPort(4789) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setBumTransportIps(ImmutableSortedSet.of(Ip.parse("227.10.1.1"))) .build())); 1, VniSettings.builder() .setVni(1) .setUdpPort(1234) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .build()));
VniSettings.Builder vniSettingsBuilder = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(MULTICAST_GROUP)) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setUdpPort(UDP_PORT) .setVni(VNI); VniSettings vniSettingsTail = vniSettingsBuilder.setSourceAddress(SRC_IP1).setVlan(VLAN1).build(); _v1.setVniSettings(ImmutableSortedMap.of(VNI, vniSettingsTail)); _v2.setVniSettings( ImmutableSortedMap.of( VNI, vniSettingsBuilder.setSourceAddress(SRC_IP2).setVlan(VLAN2).build())); addVniEdge(graph, vrfHostnames, VNI, _v1, vniSettingsTail, _v2); Set<VxlanEdge> edges = graph.edges();
VniSettings vniSettingsCommon = VniSettings.builder() .setSourceAddress(SRC_IP1) .setVlan(VLAN1) .setVni(VNI) .setBumTransportMethod(BumTransportMethod.UNICAST_FLOOD_GROUP) .setBumTransportIps(ImmutableSortedSet.of(SRC_IP2)) .setUdpPort(UDP_PORT) .build(); VxlanNode nodeTail = VxlanNode.builder()
@Test public void testComputeNodeVlanProperties() { int vlan = 1; InterfaceSpecifier interfacesSpecifier = InterfaceSpecifierFactory.load(FlexibleInterfaceSpecifierFactory.NAME) .buildInterfaceSpecifier(null); boolean excludeShutInterfaces = false; IntegerSpace vlans = IntegerSpace.of(vlan); Map<Integer, ImmutableSet.Builder<NodeInterfacePair>> switchedVlanInterfaces = new HashMap<>(); ImmutableMap.Builder<Integer, Integer> vlanVnisBuilder = ImmutableMap.builder(); Interface iface = _ib.build(); iface.setSwitchport(true); iface.setSwitchportMode(SwitchportMode.ACCESS); iface.setAccessVlan(vlan); Configuration c = _configurations.values().iterator().next(); int vni = 10000; c.getDefaultVrf().getVniSettings().put(vni, _vnb.setVlan(vlan).setVni(vni).build()); computeNodeVlanProperties( _specifierContext, c, interfacesSpecifier, excludeShutInterfaces, vlans, switchedVlanInterfaces, vlanVnisBuilder); assertThat(switchedVlanInterfaces, hasKey(vlan)); assertThat( switchedVlanInterfaces.get(vlan).build(), contains(new NodeInterfacePair(NODE, INTERFACE))); assertThat(vlanVnisBuilder.build(), equalTo(ImmutableMap.of(vlan, vni))); }
VniSettings.Builder vniSettingsBuilder = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(MULTICAST_GROUP)) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setUdpPort(UDP_PORT) .setVni(VNI); VniSettings vniSettingsTail = vniSettingsBuilder.setSourceAddress(SRC_IP1).setVlan(VLAN1).build(); _v1.setVniSettings(ImmutableSortedMap.of(VNI, vniSettingsTail)); _v2.setVniSettings( ImmutableSortedMap.of( VNI, vniSettingsBuilder.setSourceAddress(SRC_IP2).setVlan(VLAN2).build()));
VniSettings vniSettingsCommon = VniSettings.builder() .setSourceAddress(SRC_IP1) .setVlan(VLAN1) .setVni(VNI) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setBumTransportIps(ImmutableSortedSet.of(MULTICAST_GROUP)) .setUdpPort(UDP_PORT) .build(); VxlanNode nodeTail = VxlanNode.builder()
@Before public void setup() { _nf = new NetworkFactory(); Configuration c = _nf.configurationBuilder() .setConfigurationFormat(ConfigurationFormat.CISCO_IOS) .setHostname(NODE) .build(); Vrf v = _nf.vrfBuilder().setName(Configuration.DEFAULT_VRF_NAME).setOwner(c).build(); _ib = _nf.interfaceBuilder().setOwner(c).setVrf(v).setName(INTERFACE).setActive(true); _configurations = ImmutableMap.of(c.getHostname(), c); _vnb = VniSettings.builder().setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP); _specifierContext = new TestSpecifierContext() { @Override public Map<String, Configuration> getConfigs() { return _configurations; } }; }
@Test public void testCompatibleVniSettingsUnicast() { VniSettings vniSettingsTail = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(SRC_IP2)) .setBumTransportMethod(BumTransportMethod.UNICAST_FLOOD_GROUP) .setSourceAddress(SRC_IP1) .setUdpPort(UDP_PORT) .setVlan(VLAN1) .setVni(VNI) .build(); VniSettings vniSettingsHead = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(SRC_IP1)) .setBumTransportMethod(BumTransportMethod.UNICAST_FLOOD_GROUP) .setSourceAddress(SRC_IP2) .setUdpPort(UDP_PORT) .setVlan(VLAN2) .setVni(VNI) .build(); assertThat(compatibleVniSettings(vniSettingsTail, vniSettingsHead), equalTo(true)); }
@Test public void testCompatibleVniSettingsMulticast() { VniSettings vniSettingsTail = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(MULTICAST_GROUP)) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setSourceAddress(SRC_IP1) .setUdpPort(UDP_PORT) .setVlan(VLAN1) .setVni(VNI) .build(); VniSettings vniSettingsHead = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(MULTICAST_GROUP)) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setSourceAddress(SRC_IP2) .setUdpPort(UDP_PORT) .setVlan(VLAN2) .setVni(VNI) .build(); assertThat(compatibleVniSettings(vniSettingsTail, vniSettingsHead), equalTo(true)); }
@Test public void testCompatibleVniSettingsMismatchSameSourceAddress() { VniSettings vniSettingsTail = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(MULTICAST_GROUP)) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setSourceAddress(SRC_IP1) .setUdpPort(UDP_PORT) .setVlan(VLAN1) .setVni(VNI) .build(); VniSettings vniSettingsHead = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(MULTICAST_GROUP)) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setSourceAddress(SRC_IP1) .setUdpPort(UDP_PORT) .setVlan(VLAN2) .setVni(VNI) .build(); assertThat(compatibleVniSettings(vniSettingsTail, vniSettingsHead), equalTo(false)); }
@Test public void testCompatibleVniSettingsMismatchDifferentUdpPort() { VniSettings vniSettingsTail = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(MULTICAST_GROUP)) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setSourceAddress(SRC_IP1) .setUdpPort(UDP_PORT) .setVlan(VLAN1) .setVni(VNI) .build(); VniSettings vniSettingsHead = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(MULTICAST_GROUP)) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setSourceAddress(SRC_IP2) .setUdpPort(UDP_PORT + 1) .setVlan(VLAN2) .setVni(VNI) .build(); assertThat(compatibleVniSettings(vniSettingsTail, vniSettingsHead), equalTo(false)); }
@Test public void testCompatibleVniSettingsMismatchNoVlanHead() { VniSettings vniSettingsTail = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(MULTICAST_GROUP)) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setSourceAddress(SRC_IP1) .setUdpPort(UDP_PORT) .setVlan(VLAN1) .setVni(VNI) .build(); VniSettings vniSettingsHead = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(MULTICAST_GROUP)) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setSourceAddress(SRC_IP2) .setUdpPort(UDP_PORT) .setVni(VNI) .build(); assertThat(compatibleVniSettings(vniSettingsTail, vniSettingsHead), equalTo(false)); }
@Test public void testCompatibleVniSettingsMismatchBumTransportTailFloodGroup() { VniSettings vniSettingsTail = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(SRC_IP1)) .setBumTransportMethod(BumTransportMethod.UNICAST_FLOOD_GROUP) .setSourceAddress(SRC_IP1) .setUdpPort(UDP_PORT) .setVlan(VLAN1) .setVni(VNI) .build(); VniSettings vniSettingsHead = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(SRC_IP1)) .setBumTransportMethod(BumTransportMethod.UNICAST_FLOOD_GROUP) .setSourceAddress(SRC_IP2) .setUdpPort(UDP_PORT) .setVlan(VLAN2) .setVni(VNI) .build(); assertThat(compatibleVniSettings(vniSettingsTail, vniSettingsHead), equalTo(false)); }
@Test public void testCompatibleVniSettingsMismatchBumTransportMulticastGroupUnicast() { VniSettings vniSettingsTail = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(SRC_IP2)) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setSourceAddress(SRC_IP1) .setUdpPort(UDP_PORT) .setVlan(VLAN1) .setVni(VNI) .build(); VniSettings vniSettingsHead = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(SRC_IP1)) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setSourceAddress(SRC_IP2) .setUdpPort(UDP_PORT) .setVlan(VLAN2) .setVni(VNI) .build(); assertThat(compatibleVniSettings(vniSettingsTail, vniSettingsHead), equalTo(false)); }
@Test public void testCompatibleVniSettingsMismatchBumTransportMethod() { VniSettings vniSettingsTail = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(MULTICAST_GROUP)) .setBumTransportMethod(BumTransportMethod.MULTICAST_GROUP) .setSourceAddress(SRC_IP1) .setUdpPort(UDP_PORT) .setVlan(VLAN1) .setVni(VNI) .build(); VniSettings vniSettingsHead = VniSettings.builder() .setBumTransportIps(ImmutableSortedSet.of(MULTICAST_GROUP)) .setBumTransportMethod(BumTransportMethod.UNICAST_FLOOD_GROUP) .setSourceAddress(SRC_IP2) .setUdpPort(UDP_PORT) .setVlan(VLAN2) .setVni(VNI) .build(); assertThat(compatibleVniSettings(vniSettingsTail, vniSettingsHead), equalTo(false)); }