def pktExpectPHY(atPort, pkt): numExpectedPktsPHY[atPort-1] += 1 f = simLib.fExpectPHY(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 ExpectedPktsPHYcount[atPort-1] += 1 # write packet f.write("\n<!-- Packet " + str(ExpectedPktsPHYcount[atPort-1]) + "-->") f.write("\n<!-- DA: " + DA + " SA: " + SA + " ["+ethType+"] " + samplePkt + "...-->\n") f.write("<PACKET Length=\"" + str(len(pkt)) + "\" Port=\"" + str(atPort) + "\" Delay=\"0\">\n") f.write(str.rstrip(strpkt)) f.write("\n</PACKET><!--pkt" + str(ExpectedPktsPHYcount[atPort-1]) + "-->\n")
def nftest_expect_phy(ifaceName, pkt, mask=None): expected_phy[ifaceName].append(pkt) if sim: for i in range(len(pkt)): simPkt.pktExpectPHY(int(ifaceName[2:3]) + 1, pkt, mask) f = simLib.fExpectPHY(int(ifaceName[2]) + 1) axitools.axis_dump(pkt, f, 256, 1e-9) else: hwPktLib.expect(iface_map[connections[ifaceName]], pkt, mask)
def nftest_expect_phy(ifaceName, pkt, mask = None): expected_phy[ifaceName].append(pkt) if sim: for i in range(len(pkt)): simPkt.pktExpectPHY(int(ifaceName[2:3])+1, pkt, mask) f = simLib.fExpectPHY(int(ifaceName[2]) + 1) axitools.axis_dump( pkt, f, 256, 1e-9 ) else: hwPktLib.expect(iface_map[connections[ifaceName]], pkt, mask)
def nftest_expect_phy(ifaceName, pkt, mask = None): # if connections[ifaceName] == ifaceName: # print "Error: cannot expect on phy of a port in loopback" # sys.exit(1) expected_phy[ifaceName].append(pkt) if sim: for i in range(len(pkt)): simPkt.pktExpectPHY(int(ifaceName[2:3])+1, pkt, mask) f = simLib.fExpectPHY(int(ifaceName[2]) + 1) axitools.axis_dump( pkt, f, 256, 1e-9 ) else: hwPktLib.expect(iface_map[connections[ifaceName]], pkt, mask)
def pktExpectPHY(atPort, pkt, mask = None): numExpectedPktsPHY[atPort-1] += 1 f = simLib.fExpectPHY(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 ExpectedPktsPHYcount[atPort-1] += 1 # write packet f.write("\n<!-- Packet " + str(ExpectedPktsPHYcount[atPort-1]) + "-->") f.write("\n<!-- DA: " + DA + " SA: " + SA + " ["+ethType+"] " + samplePkt + "...-->\n") f.write("<PACKET Length=\"" + str(len(pkt)) + "\" Port=\"" + str(atPort) + "\" Delay=\"0\">\n") f.write(str.rstrip(strpkt)) f.write("\n</PACKET><!--pkt" + str(ExpectedPktsPHYcount[atPort-1]) + "-->\n")