def send_ack_flow(self, flowlet, input_intf): # print "constructing ack flow:", self.name, flowlet, prevnode, destnode, input_intf revident = flowlet.ident.mkreverse() revflet = Flowlet(revident) revflet.srcmac,revflet.dstmac = flowlet.dstmac,flowlet.srcmac revflet.ackflow = True revflet.pkts = flowlet.pkts/2 revflet.bytes = revflet.pkts * 40 revflet.iptos = flowlet.iptos revflet.tcpflags = flowlet.tcpflags revflet.ingress_intf = input_intf revflet.flowstart = fscore().now revflet.flowend = revflet.flowstart destnode = fscore().topology.destnode(self.name, revflet.dstaddr) # self.logger.debug("Injecting reverse flow: {}->{}".format(revflet.srcmac, revflet.dstmac)) self.flowlet_arrival(revflet, self.name, destnode)
def testBuildFlowlet(self): f1 = Flowlet(self.ident1) f1.flowstart = time.time() f1.flowend = time.time() + 10 self.assertEqual(repr(f1.key), repr(self.ident1))