@Test public void testGetSessionFlows() { Prefix sourcePrefix = Prefix.parse("2.0.0.0/8"); Prefix destPrefix = Prefix.parse("1.0.0.0/8"); BDD tcp = PKT.getIpProtocol().value(IpProtocol.TCP); BDD outBdd = BDDOps.andNull( dstBdd(destPrefix), srcBdd(sourcePrefix), dstPortBdd(1), srcPortBdd(2), tcp, PKT.getFactory().ithVar(0), _lastHopMgr.getLastHopOutgoingInterfaceBdd(R1, R1I1, FW, FWI1), _fwSrcMgr.getSourceInterfaceBDD(FWI1), PKT.getTcpCwr(), PKT.getDscp().value(0), PKT.getEcn().value(0)); BDD sessionFlows = BDDOps.andNull(srcBdd(destPrefix), dstBdd(sourcePrefix), dstPortBdd(2), srcPortBdd(1), tcp); BDDReachabilityAnalysisSessionFactory sessionFactory = new BDDReachabilityAnalysisSessionFactory( PKT, ImmutableMap.of(), ImmutableMap.of(), _lastHopMgr, ImmutableMap.of(), _reverseFlowTransformationFactory, TRIVIAL_REVERSE_TRANSFORMATION_RANGES); assertEquals(sessionFlows, sessionFactory.getSessionFlowMatchBdd(outBdd)); }
@VisibleForTesting BDD getSessionFlowMatchBdd(BDD bdd) { return _bddPacket.swapSourceAndDestinationFields(bdd.project(_fiveTupleBdd)); }
BDDReachabilityAnalysisSessionFactory { @VisibleForTesting BDD getSessionFlowMatchBdd(BDD bdd) { return _bddPacket.swapSourceAndDestinationFields(bdd.project(_fiveTupleBdd)); } }
BDDReachabilityAnalysisSessionFactory { @VisibleForTesting BDD getSessionFlowMatchBdd(BDD bdd) { return _bddPacket.swapSourceAndDestinationFields(bdd.project(_fiveTupleBdd)); } BDDReachabilityAnalysisSessionFactory(
      BDDPacket bddPacket,
      Map<String, Configuration> configs,
      Map<String, BDDSourceManager> srcManagers,
      LastHopOutgoingInterfaceManager lastHopManager,
      Map<StateExpr, BDD> forwardReachableBdds,
      BDDReverseFlowTransformationFactory transformationFactory,
      BDDReverseTransformationRanges reverseTransformationRanges); }
BDDReachabilityAnalysisSessionFactory { @VisibleForTesting BDD getSessionFlowMatchBdd(BDD bdd) { return _bddPacket.swapSourceAndDestinationFields(bdd.project(_fiveTupleBdd)); } BDDReachabilityAnalysisSessionFactory(
      BDDPacket bddPacket,
      Map<String, Configuration> configs,
      Map<String, BDDSourceManager> srcManagers,
      LastHopOutgoingInterfaceManager lastHopManager,
      Map<StateExpr, BDD> forwardReachableBdds,
      BDDReverseFlowTransformationFactory transformationFactory,
      BDDReverseTransformationRanges reverseTransformationRanges);  }
BDDReachabilityAnalysisSessionFactory { @VisibleForTesting BDD getSessionFlowMatchBdd(BDD bdd) { return _bddPacket.swapSourceAndDestinationFields(bdd.project(_fiveTupleBdd)); } BDDReachabilityAnalysisSessionFactory(
      BDDPacket bddPacket,
      Map<String, Configuration> configs,
      Map<String, BDDSourceManager> srcManagers,
      LastHopOutgoingInterfaceManager lastHopManager,
      Map<StateExpr, BDD> forwardReachableBdds,
      BDDReverseFlowTransformationFactory transformationFactory,
      BDDReverseTransformationRanges reverseTransformationRanges);   }