- changed status to resolved
Fix batfish upgrade bugs
[In isAdvertisementFiltered() function in DirectedEdge.java]For source process of type BGP, no peer exists. (_neighbor map has no matching key)
Exception in thread "main" java.lang.NullPointerException
at edu.wisc.cs.arc.graphs.DirectedEdge.isAdvertisementFiltered(DirectedEdge.java:201)
at edu.wisc.cs.arc.graphs.ProcessGraph.applyRouteFilters(ProcessGraph.java:822)
at edu.wisc.cs.arc.graphs.ProcessGraph.filterEdgesAndVertices(ProcessGraph.java:1016)
at edu.wisc.cs.arc.graphs.ExtendedTopologyGraph.customize(ExtendedTopologyGraph.java:165)
at edu.wisc.cs.arc.graphs.ProcessGraph.customize(ProcessGraph.java:851)
at edu.wisc.cs.arc.Driver.generateFlowETGs(Driver.java:552)
at edu.wisc.cs.arc.Driver.main(Driver.java:208)
This causes failure of bgpospfchains, routemap and bgp_length test cases.
Dealing with unused ACLs:
globalrib fails because of unused ACLS in B.cfg (works if ACLs are removed from config file). Error occurs in batfish.vendor.VendorConfiguration.unused.
Exception in thread "main" java.lang.NullPointerException
at org.batfish.vendor.VendorConfiguration.unused(VendorConfiguration.java:161)
at org.batfish.representation.cisco.CiscoConfiguration.warnUnusedIpAccessLists(CiscoConfiguration.java:3290)
at org.batfish.representation.cisco.CiscoConfiguration.toVendorIndependentConfiguration(CiscoConfiguration.java:3112)
at edu.wisc.cs.arc.configs.ConfigurationParser.convertConfigurations(ConfigurationParser.java:311)
at edu.wisc.cs.arc.configs.ConfigurationParser.parse(ConfigurationParser.java:131)
at edu.wisc.cs.arc.Driver.main(Driver.java:101)
external fails because there is no outgoing edge from a BGP.IN node in any of the flowETGs. (So there is a mismatch in the edge list of BGP.IN vertex)
fat-trees, single_ospf and repair_local-vs-global tests pass successfully.
I also tried fixing another bug in advertisesBgp() function in Process.java to emulate the changes you made in advertisesOspf() function. I doubt that this is a complete or valid fix
Comments (8)
-
-
- changed status to open
Fixed the null peer issue, but bgp_length test case still fails
-
- changed status to resolved
Fixed bug in checking what BGP advertises towards fixing issue
#14→ <<cset 46a0f6563c71>>
-
Fixed BGP redistribution of OSPF, towards fixing issue
#14→ <<cset 82b16597a618>>
-
- changed status to open
bgpospfchains is still buggy due to improper construction of the instance graph. Need to try switching back to BGP processes being identified by AS number and reverting the replacements on the corresponding test graphs.
-
Passing examples:
- bgpospfchains
- fat-tree-ospf-2
- fat-tree-ospf-4
- repair_local-vs-global
- single_ospf
- vlan
Failing examples:
- bgp_length: extra vertices
- external
- fat-tree-ospf-2-broken: extra vertices
- fat-tree-ospf-4-broken: extra vertices
- routemap: extra vertices
Unfixable (due to Batfish not supporting multiple OSPF processes per VRF):
- globalrib
- ospf1_ospf2_redist-bypass
- ospf1_ospf2_redist-take
- ospf1_ospf2_selectlgi-bypass
- ospf1_ospf2_select-override
- twoospf
-
All except external was failing due to vertices not being renamed in the testGVs.
-
- changed status to resolved
All examples that are supported in the newer version of Batfish now pass.
- Log in to comment
Working on fixing issue
#14→ <<cset a3ab4d3de6a3>>