"n1", ImmutableSet.of( ib.setActive(false).setAddress(duplicateAddr).setName("Eth1/1").build()), "n2", ImmutableSet.of( ib.setActive(true).setAddress(duplicateAddr).setName("Eth2/1").build(), ib.setActive(true)
_ib.setOwner(c1) .setVrf(vrf1) .setAddress(new InterfaceAddress(P1.getStartIp(), P1.getPrefixLength())) .build(); Map<String, Map<String, Map<String, IpSpace>>> interfaceHostSubnetIps =
@Test public void testComputeInterfaceHostSubnetIpsWithPrefixLength31() { Configuration c1 = _cb.build(); Map<String, Configuration> configs = ImmutableMap.of(c1.getHostname(), c1); Vrf vrf1 = _vb.setOwner(c1).build(); Prefix prefix = Prefix.parse("1.0.0.1/31"); Interface i1 = _ib.setOwner(c1) .setVrf(vrf1) .setAddress(new InterfaceAddress(prefix.getStartIp(), prefix.getPrefixLength())) .build(); Map<String, Map<String, Map<String, IpSpace>>> interfaceHostSubnetIps = computeInterfaceHostSubnetIps(configs); assertThat( interfaceHostSubnetIps, hasEntry( equalTo(c1.getHostname()), hasEntry( equalTo(vrf1.getName()), hasEntry(equalTo(i1.getName()), containsIp(prefix.getStartIp()))))); assertThat( interfaceHostSubnetIps, hasEntry( equalTo(c1.getHostname()), hasEntry( equalTo(vrf1.getName()), hasEntry(equalTo(i1.getName()), containsIp(prefix.getEndIp()))))); }
_ib.setOwner(c1) .setVrf(vrf1) .setAddress(new InterfaceAddress(P1.getStartIp(), P1.getPrefixLength())) .build(); Ip i2Ip = Ip.create(P1.getStartIp().asLong() + 1); _ib.setOwner(c2) .setVrf(vrf2) .setAddress(new InterfaceAddress(i2Ip, P1.getPrefixLength())) .build(); Edge edge = Edge.of(c1.getHostname(), i1.getName(), c2.getHostname(), i2.getName());
Interface i1 = _ib.setVrf(vrf1) .setAddress(new InterfaceAddress(P1.getStartIp(), P1.getPrefixLength())) .setProxyArp(true) .build(); Interface i2 = _ib.setVrf(vrf2) .setAddress(new InterfaceAddress(P2.getStartIp(), P2.getPrefixLength())) .setProxyArp(false) .build(); Interface i3 = _ib.setAddress(null).setProxyArp(true).build(); IpSpace ipsRoutedOutI1 = IpWildcardSetIpSpace.builder().including(new IpWildcard(P1), new IpWildcard(P3)).build();
.setName("iface11") .setOwner(node1) .setAddress(new InterfaceAddress("1.2.3.4/24")) .setActive(true) .build(); .setActive(true) .setOwner(node1) .setAddress(new InterfaceAddress("2.3.4.5/24")) .build(); node1.setInterfaces(ImmutableSortedMap.of("iface11", iface11, "iface12", iface12)); .setActive(true) .setOwner(node2) .setAddress(new InterfaceAddress("1.2.3.5/30")) .build(); node2.setInterfaces(ImmutableSortedMap.of("iface2", iface2));
.setAddress(new InterfaceAddress("1.0.0.1/30")) .setOwner(c1) .setVrf(v1)
InterfaceAddress c2Addr = new InterfaceAddress("1.0.0.1/31"); Interface i1 = nf.interfaceBuilder().setActive(true).setOwner(c1).setVrf(v1).setAddress(c1Addr).build(); Prefix loopPrefix = Prefix.parse("2.0.0.0/32"); v1.setStaticRoutes( Vrf v2 = nf.vrfBuilder().setOwner(c2).build(); Interface i2 = nf.interfaceBuilder().setActive(true).setOwner(c2).setVrf(v2).setAddress(c2Addr).build(); Prefix natPoolIp = Prefix.parse("5.5.5.5/32");
.setAddress(new InterfaceAddress("1.0.0.1/30")) .setOwner(c1) .setVrf(v1)
.setAddress( new InterfaceAddress(LINK_1_NETWORK.getStartIp(), LINK_1_NETWORK.getPrefixLength())) .build(); ib.setOwner(dstNode) .setVrf(dstVrf) .setAddress( new InterfaceAddress(LINK_1_NETWORK.getEndIp(), LINK_1_NETWORK.getPrefixLength())) .build(); .setAddress( new InterfaceAddress(LINK_2_NETWORK.getStartIp(), LINK_2_NETWORK.getPrefixLength())) .build(); ib.setOwner(dstNode) .setVrf(dstVrf) .setAddress( new InterfaceAddress(LINK_2_NETWORK.getEndIp(), LINK_2_NETWORK.getPrefixLength())) .build(); .setAddress(new InterfaceAddress(DST_PREFIX_1.getStartIp(), DST_PREFIX_1.getPrefixLength())) .build(); .setAddress(new InterfaceAddress(DST_PREFIX_2.getStartIp(), DST_PREFIX_2.getPrefixLength())) .build();
.setName("iface1") .setOwner(c1) .setAddress(new InterfaceAddress("1.1.1.1/24")) .setVrf(new Vrf("default")) .build(); .setName("iface2") .setOwner(c1) .setAddress(new InterfaceAddress("2.2.2.2/24")) .setVrf(new Vrf("default")) .build();
.setAddress(new InterfaceAddress("1.1.1.22/32")) .setVrrpGroups(ImmutableSortedMap.of(vrrpGroupId, vg1)) .build(); .setAddress(new InterfaceAddress("1.1.1.33/32")) .setVrrpGroups(ImmutableSortedMap.of(vrrpGroupId, vg2)) .build();
.setOwner(_c1) .setName("iface1") .setAddress(new InterfaceAddress("1.1.1.1/24")) .build(); _c1.setInterfaces(ImmutableSortedMap.of(_iface1.getName(), _iface1)); .setOwner(_c2) .setName("iface2") .setAddress(new InterfaceAddress("2.2.2.2/24")) .build(); _c2.setInterfaces(ImmutableSortedMap.of(_iface2.getName(), _iface2));
Interface i1 = _ib.setVrf(vrf1) .setAddress(new InterfaceAddress(P1.getStartIp(), P1.getPrefixLength())) .setVrrpGroups( ImmutableSortedMap.of( .setAddress(new InterfaceAddress(P1.getEndIp(), P1.getPrefixLength())) .setVrrpGroups( ImmutableSortedMap.of(
OspfArea oa1 = _oab.setOspfProcess(op1).build(); _ib.setOwner(c1).setVrf(v1).setOspfArea(oa1).setAddress(new InterfaceAddress(ip1, pl)).build(); .setVrf(v2) .setOspfArea(oa2) .setAddress(new InterfaceAddress(ip2, pl)) .setOspfPassive(true) .build();
@Before public void setup() { NetworkFactory nf = new NetworkFactory(); Configuration.Builder cb = nf.configurationBuilder().setConfigurationFormat(ConfigurationFormat.CISCO_IOS); _host1 = cb.setHostname("host1").build(); _host1.setInterfaces( ImmutableSortedMap.of( "int1", Interface.builder() .setName("int1") .setAddress(new InterfaceAddress(Ip.parse("1.1.1.1"), 24)) .build())); _host2 = cb.setHostname("host2").build(); _host2.setInterfaces( ImmutableSortedMap.of( "int2", Interface.builder() .setName("int2") .setAddress(new InterfaceAddress(Ip.parse("2.2.2.2"), 24)) .build())); _configurations = ImmutableSortedMap.of("host1", _host1, "host2", _host2); _includeNodes = ImmutableSortedSet.of("host1", "host2"); _includeRemoteNodes = ImmutableSortedSet.of("host1", "host2"); // Sending an edge from host1 to host2 in layer 3 _topology = new Topology(ImmutableSortedSet.of(Edge.of("host1", "int1", "host2", "int2"))); }
private static SortedMap<String, Configuration> aclNetwork() { NetworkFactory nf = new NetworkFactory(); Configuration.Builder cb = nf.configurationBuilder().setConfigurationFormat(ConfigurationFormat.CISCO_IOS); ImmutableSortedMap.Builder<String, Configuration> configs = new ImmutableSortedMap.Builder<>(Comparator.naturalOrder()); Configuration c1 = cb.build(); configs.put(c1.getHostname(), c1); Vrf v1 = nf.vrfBuilder().setOwner(c1).build(); // destination interface nf.interfaceBuilder() .setAddress(new InterfaceAddress("1.1.1.0/31")) .setOwner(c1) .setOutgoingFilter( nf.aclBuilder() .setOwner(c1) .setLines(ImmutableList.of(IpAccessListLine.REJECT_ALL)) .build()) .setVrf(v1) .build(); return configs.build(); }
private Batfish maxTracesBatfish() throws IOException { // create a simple network with two paths for a given destination Prefix dst = Prefix.parse("1.1.1.1/32"); NetworkFactory nf = new NetworkFactory(); Configuration config = nf.configurationBuilder().setConfigurationFormat(ConfigurationFormat.CISCO_IOS).build(); Vrf vrf = nf.vrfBuilder().setOwner(config).build(); Interface.Builder ifaceBuilder = nf.interfaceBuilder().setActive(true).setOwner(config).setVrf(vrf); Interface lo0 = ifaceBuilder.setAddress(new InterfaceAddress("5.5.5.5/32")).build(); Interface lo1 = ifaceBuilder.setAddress(new InterfaceAddress("6.6.6.6/32")).build(); Builder routeBuilder = StaticRoute.builder().setNetwork(dst).setAdministrativeCost(1); vrf.setStaticRoutes( ImmutableSortedSet.of( routeBuilder.setNextHopInterface(lo0.getName()).build(), routeBuilder.setNextHopInterface(lo1.getName()).build())); Batfish batfish = BatfishTestUtils.getBatfish(ImmutableSortedMap.of(config.getHostname(), config), _folder); batfish.computeDataPlane(); return batfish; }
/** Make an interface with the specified parameters */ private Interface iface(String interfaceName, String ip, boolean active, boolean blacklisted) { return _nf.interfaceBuilder() .setName(interfaceName) .setActive(active) .setAddress(new InterfaceAddress(ip)) .setBlacklisted(blacklisted) .build(); }
public static Interface newInterface( String name, Configuration c, InterfaceAddress primaryAddress) { return FACTORY .interfaceBuilder() .setName(name) .setOwner(c) .setVrf(c.getDefaultVrf()) .setAddress(primaryAddress) .build(); }