On Thu, Apr 13, 2023 at 10:30 AM Dumitru Ceara <dce...@redhat.com> wrote:

> On 4/12/23 03:29, Ihar Hrachyshka wrote:
> > Scapy allows to define packets in descriptive form that is easier to
> > digest and debug.
> >
> > Signed-off-by: Ihar Hrachyshka <ihrac...@redhat.com>
> > ---
> >  tests/ovn-macros.at | 23 +++++++++++++++++++++++
> >  1 file changed, 23 insertions(+)
> >
> > diff --git a/tests/ovn-macros.at b/tests/ovn-macros.at
> > index ee942e8a6..40ded7bd4 100644
> > --- a/tests/ovn-macros.at
> > +++ b/tests/ovn-macros.at
> > @@ -817,6 +817,29 @@ ovn_trace_client() {
> >      ovs-appctl -t $target trace "$@" | tee trace | sed '/^# /d'
> >  }
> >
> > +# Receives a string that represents scapy python code that represents a
> packet.
> > +# Returns a hex-string that contains bytes that reflect the packet
> description.
> > +#
> > +# Scapy docs: https://scapy.readthedocs.io/en/latest/usage.html
> > +#
> > +# Example of usage:
> > +#
> > +# packet=$(fmt_pkt "\
> > +#     Ether(dst='ff:ff:ff:ff:ff:ff', src='50:64:00:00:00:01') /\
> > +#     IPv6(src='abed::1', dst='ff02::1:ff00:2')               /\
> > +#     ICMPv6ND_NS(tgt='abed::2')                               \
> > +# ")
> > +#
> > +# ovs-appctl netdev-dummy/receive $vif $packet
> > +#
> > +fmt_pkt() {
> > +    echo "from scapy.all import *; \
> > +          import binascii; \
> > +          out = binascii.hexlify(raw($1)); \
> > +          print(out)" | python3 \
>
> Should this be $(PYTHON3) instead of "python3"?
>
> > +    | sed s/^b\'// | sed s/\'$//  # hexlify prints as b'...' -> truncate
>

Also this truncation is not necessary if we do "print(out.decode())"
instead.


> > +}
> > +
> >  OVS_END_SHELL_HELPERS
> >
> >  m4_define([OVN_POPULATE_ARP], [AT_CHECK(ovn_populate_arp__, [0],
> [ignore])])
>
> I really like the idea of the patch, it would be awesome if we could use
> this to generate all the packets we inject in the ovn.at tests!
>
> Regards,
> Dumitru
>
>
> _______________________________________________
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
Thanks.
Ales

-- 

Ales Musil

Senior Software Engineer - OVN Core

Red Hat EMEA <https://www.redhat.com>

amu...@redhat.com    IM: amusil
<https://red.ht/sig>
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to