@Before public void setup() { NetworkFactory nf = new NetworkFactory(); Configuration.Builder cb = nf.configurationBuilder().setConfigurationFormat(ConfigurationFormat.CISCO_IOS); _c = cb.build(); _c2 = cb.build(); _aclb = nf.aclBuilder().setOwner(_c); _aclb2 = nf.aclBuilder().setOwner(_c2); }
Configuration c2 = _cb.build(); String aclName = "acl"; IpAccessList.Builder aclb = _nf.aclBuilder().setName(aclName); aclb.setOwner(c1).build(); aclb.setOwner(c2).build();
private Map<String, IpAccessList> createAclMap( String aclName, String srcIpWildcard, LineAction lineAction) { // Build a single entry map, mapping aclName to an ACL matching the given srcIpWildcard // Create a single ACL line matching the given srcIpWildcard IpAccessListLine acll = IpAccessListLine.builder() .setMatchCondition( new MatchHeaderSpace( HeaderSpace.builder() .setSrcIps(ImmutableSet.of(new IpWildcard(srcIpWildcard))) .build())) .setAction(lineAction) .build(); // Add that single ACL line to a new ACL IpAccessList.Builder aclb = _nf.aclBuilder(); aclb.setName(aclName); aclb.setLines(ImmutableList.of(acll)); // Return a map, mapping aclName to the ACL itself return ImmutableMap.of(aclName, aclb.build()); }
@Before public void setup() { _nf = new NetworkFactory(); _cb = _nf.configurationBuilder() .setHostname(HOSTNAME) .setConfigurationFormat(ConfigurationFormat.CISCO_IOS); _ib = _nf.interfaceBuilder().setName(IFACE); _ab = _nf.aclBuilder().setName(ACLNAME); }
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(); }
@Before public void setup() { NetworkFactory nf = new NetworkFactory(); Configuration.Builder cb = nf.configurationBuilder().setConfigurationFormat(ConfigurationFormat.CISCO_IOS); _c1 = cb.setHostname("c1").build(); _c2 = cb.setHostname("c2").build(); _aclb = nf.aclBuilder().setOwner(_c1); _aclb2 = nf.aclBuilder().setOwner(_c2); _c1.setIpSpaces(ImmutableSortedMap.of("ipSpace", Ip.parse("1.2.3.4").toIpSpace())); _c1.setInterfaces( ImmutableSortedMap.of( "iface", Interface.builder().setName("iface").build(), "iface2", Interface.builder().setName("iface2").build())); _c2.setInterfaces(ImmutableSortedMap.of("iface", Interface.builder().setName("iface").build())); }
@Test public void testFilteringByNodeAndFilterName() throws IOException { IpAccessList.Builder aclb = _nf.aclBuilder(); Configuration c1 = _cb.build(); Configuration c2 = _cb.build();
@Test public void testIndirection() throws IOException { Configuration c = _cb.build(); IpAccessList.Builder aclb = _nf.aclBuilder().setOwner(c);
@Test public void testOneRowPerFilterPerConfig() throws IOException { IpAccessList.Builder aclb = _nf.aclBuilder(); Configuration c1 = _cb.build(); Configuration c2 = _cb.build(); Configuration c3 = _cb.build(); // Create 2 ACLs for each of 3 configs. aclb.setOwner(c1).build(); aclb.build(); aclb.setOwner(c2).build(); aclb.build(); aclb.setOwner(c3).build(); aclb.build(); IBatfish batfish = new MockBatfish( ImmutableSortedMap.of( c1.getHostname(), c1, c2.getHostname(), c2, c3.getHostname(), c3)); TestFiltersQuestion question = new TestFiltersQuestion(null, null, null, null); TestFiltersAnswerer answerer = new TestFiltersAnswerer(question, batfish); TableAnswerElement answer = answerer.answer(); // There should be 6 rows assertThat(answer.getRows(), hasSize(6)); }
@Test public void testOneRowPerInterface() throws IOException { Configuration c1 = _cb.setHostname("c1").build(); IpAccessList.Builder aclb = _nf.aclBuilder(); aclb.setOwner(c1).build();
@Before public void setup() { NetworkFactory nf = new NetworkFactory(); Configuration.Builder cb = nf.configurationBuilder().setConfigurationFormat(ConfigurationFormat.CISCO_IOS); _c1 = cb.setHostname("c1").build(); _c2 = cb.setHostname("c2").build(); _aclb = nf.aclBuilder().setOwner(_c1); _c1.setIpSpaces(ImmutableSortedMap.of("ipSpace", Ip.parse("1.2.3.4").toIpSpace())); _c1.setInterfaces( ImmutableSortedMap.of( "iface", Interface.builder().setName("iface").build(), "iface2", Interface.builder().setName("iface2").build())); _c2.setInterfaces(ImmutableSortedMap.of("iface", Interface.builder().setName("iface").build())); }
nf.aclBuilder() .setOwner(c2) .setLines(