Exemplo n.º 1
0
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")
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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")