def pktExpectDMA(atPort, pkt): numExpectedPktsDMA[atPort-1] += 1 f = simLib.fExpectDMA(atPort) # convert packet to string strpkt = "" count = 1 for x in str(pkt): strpkt += "%02x "%ord(x) if count < 16: count += 1 else: strpkt += "\n" count = 1 DA = str.replace(strpkt[0:17], ' ', ':') SA = str.replace(strpkt[18:35], ' ', ':') ethType = str.replace(strpkt[36:41], ' ', '') samplePkt = str.replace(strpkt[42:60], '\n', '') # increment counter ExpectedPktsDMAcount[atPort-1] += 1 # write packet f.write("\n<!-- Packet " + str(ExpectedPktsDMAcount[atPort-1]) + "-->") f.write("\n<!-- DA: " + DA + " SA: " + SA + " [" + ethType + "] " + samplePkt + "...-->\n") f.write("<DMA_PACKET Length=\"" + str(len(pkt)) + "\" Port=\"" + str(atPort) + "\" Delay=\"0\">\n") f.write(str.rstrip(strpkt)) f.write("\n</DMA_PACKET><!--pkt" + str(ExpectedPktsDMAcount[atPort-1]) + "-->\n")
def nftest_expect_dma(ifaceName, pkt, mask=None): expected_dma[ifaceName].append(pkt) if sim: for i in range(len(pkt)): simPkt.pktExpectDMA(int(ifaceName[2:3]) + 1, pkt, mask) f = simLib.fExpectDMA(int(ifaceName[2]) + 1) axitools.axis_dump(pkt, f, 256, 1e-9) else: hwPktLib.expect(iface_map[ifaceName], pkt, mask)
def nftest_expect_dma(ifaceName, pkt, mask = None): expected_dma[ifaceName].append(pkt) if sim: for i in range(len(pkt)): simPkt.pktExpectDMA(int(ifaceName[2:3])+1, pkt, mask) f = simLib.fExpectDMA(int(ifaceName[2]) + 1) axitools.axis_dump( pkt, f, 256, 1e-9 ) else: hwPktLib.expect(iface_map[ifaceName], pkt, mask)
def pktExpectDMA(atPort, pkt, mask = None): numExpectedPktsDMA[atPort-1] += 1 f = simLib.fExpectDMA(atPort) # convert packet to string pktArr = [ord(x) for x in str(pkt)] if mask: maskArr = [ord(x) for x in str(mask)] else: maskArr = [0] * len(pkt) strpkt = "" count = 1 for i in xrange(len(pktArr)): octet = "%02x "%pktArr[i] # Handle masks if (maskArr[i] & 0xf0) != 0: octet = "X" + octet[1:] if (maskArr[i] & 0x0f) != 0: octet = octet[0] + "X " strpkt += octet if count < 16: count += 1 else: strpkt += "\n" count = 1 DA = str.replace(strpkt[0:17], ' ', ':') SA = str.replace(strpkt[18:35], ' ', ':') ethType = str.replace(strpkt[36:41], ' ', '') samplePkt = str.replace(strpkt[42:60], '\n', '') # increment counter ExpectedPktsDMAcount[atPort-1] += 1 # write packet f.write("\n<!-- Packet " + str(ExpectedPktsDMAcount[atPort-1]) + "-->") f.write("\n<!-- DA: " + DA + " SA: " + SA + " [" + ethType + "] " + samplePkt + "...-->\n") f.write("<DMA_PACKET Length=\"" + str(len(pkt)) + "\" Port=\"" + str(atPort) + "\" Delay=\"0\">\n") f.write(str.rstrip(strpkt)) f.write("\n</DMA_PACKET><!--pkt" + str(ExpectedPktsDMAcount[atPort-1]) + "-->\n")