test suite reviews and discussions
 help / color / mirror / Atom feed
From: Jianbo Liu <jianbo.liu@linaro.org>
To: "Liu, Yong" <yong.liu@intel.com>
Cc: "dts@dpdk.org" <dts@dpdk.org>
Subject: Re: [dts] [PATCH] tests mac_filter: use scapy to send packets
Date: Fri, 2 Dec 2016 11:45:29 +0800	[thread overview]
Message-ID: <CAP4Qi3_oQ7dmhgARVuvPvJvk42CgdOSB33+f7zGJORg4nDnMGA@mail.gmail.com> (raw)
In-Reply-To: <86228AFD5BCD8E4EBFD2B90117B5E81E6033532C@SHSMSX103.ccr.corp.intel.com>

Hi Marvin,

On 2 December 2016 at 11:27, Liu, Yong <yong.liu@intel.com> wrote:
> Hi Jianbo,
> Packet module is one abstract layer based on scapy. We abstracted this layer for monitoring scapy process and integrating sniff/configuration function.
> It should work the same as scapy command. I'm interesting in why your intended to use scapy replace of Packet module.
>
I assume dts can be run on a different machine from tester. Am I right?
But I got the following error, as the module sends packets through its
local port, not the tester's port, but they are different if dts is
not run on tester machine.

               ERROR: Test Case test_add_remove_mac_address Result
ERROR: Traceback (most recent call last):
  File "/home/liujb/work/src/dts/framework/test_case.py", line 282, in
_execute_test_case
    case_obj()
  File "/home/liujb/work/src/dts/tests/TestSuite_mac_filter.py", line
109, in test_add_remove_mac_address
    self.whitelist_send_packet(portid, self.dest)
  File "/home/liujb/work/src/dts/tests/TestSuite_mac_filter.py", line
91, in whitelist_send_packet
    pkt.send_pkt(tx_port=itf)
  File "/home/liujb/work/src/dts/framework/packet.py", line 464, in send_pkt
    self.pktgen.send_pkt(intf=self.tx_port)
  File "/home/liujb/work/src/dts/framework/packet.py", line 348, in send_pkt
    self.pkt.getlayer(0).src = get_if_hwaddr(intf)
  File "/usr/lib/python2.7/dist-packages/scapy/arch/__init__.py", line
39, in get_if_hwaddr
    addrfamily, mac = get_if_raw_hwaddr(iff)
  File "/usr/lib/python2.7/dist-packages/scapy/arch/linux.py", line
82, in get_if_raw_hwaddr
    return struct.unpack("16xh6s8x",get_if(iff,SIOCGIFHWADDR))
  File "/usr/lib/python2.7/dist-packages/scapy/arch/linux.py", line
269, in get_if
    ifreq = ioctl(s, cmd, struct.pack("16s16x",iff))
IOError: [Errno 19] No such device



> Thanks,
> Marvin
>
>> -----Original Message-----
>> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Jianbo Liu
>> Sent: Friday, December 02, 2016 10:46 AM
>> To: dts@dpdk.org
>> Cc: Jianbo Liu
>> Subject: [dts] [PATCH] tests mac_filter: use scapy to send packets
>>
>> Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
>> ---
>>  tests/TestSuite_mac_filter.py | 7 ++++---
>>  1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/tests/TestSuite_mac_filter.py b/tests/TestSuite_mac_filter.py
>> index 1c58b87..a06b812 100644
>> --- a/tests/TestSuite_mac_filter.py
>> +++ b/tests/TestSuite_mac_filter.py
>> @@ -86,9 +86,10 @@ class TestWhitelist(TestCase):
>>          Send 1 packet to portid.
>>          """
>>          itf =
>> self.tester.get_interface(self.tester.get_local_port(portid))
>> -        pkt = Packet(pkt_type='UDP')
>> -        pkt.config_layer('ether', {'src': '52:00:00:00:00:00', 'dst':
>> destMac})
>> -        pkt.send_pkt(tx_port=itf)
>> +        pkt = 'Ether(dst="%s",
>> src="52:00:00:00:00:00")/IP()/UDP()/("X"*46)' % destMac
>> +        self.tester.send_expect("scapy", ">>> ")
>> +        self.tester.scapy_append('sendp([%s], iface="%s")' % (pkt, itf))
>> +        self.tester.scapy_execute()
>>
>>      def test_add_remove_mac_address(self):
>>          """
>> --
>> 1.9.1
>

  reply	other threads:[~2016-12-02  3:45 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-02  2:45 Jianbo Liu
2016-12-02  3:27 ` Liu, Yong
2016-12-02  3:45   ` Jianbo Liu [this message]
2016-12-02  5:44     ` Liu, Yong
2016-12-02  6:06       ` Jianbo Liu
2016-12-02  6:13         ` Liu, Yong
2016-12-02  6:32           ` Jianbo Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAP4Qi3_oQ7dmhgARVuvPvJvk42CgdOSB33+f7zGJORg4nDnMGA@mail.gmail.com \
    --to=jianbo.liu@linaro.org \
    --cc=dts@dpdk.org \
    --cc=yong.liu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).