Hi Ihar, Simon,
This is not very pretty but would it improve the situation (not even
importing scapy anymore)?
fmt_pkt() {
echo "import binascii; \
out = binascii.hexlify(raw($1)); \
out.decode()" | scapy -H 2> /dev/null | awk '{print $4}' |
cut -f 2 -d "'"
}
Regards,
Dumitru
On 4/20/23 14:56, Ihar Hrachyshka wrote:
> IANAL but
>
> I don't think it's more of a problem than e.g. autoconf being GPL.
> (It's not.) We don't link with scapy, and it's only used in test
> suite. (Also, scapy was already used in the test suite before the
> patch.)
>
>
> On Thu, Apr 20, 2023 at 8:36 AM Simon Horman <[email protected]>
> wrote:
>>
>> On Wed, Apr 12, 2023 at 01:29:48AM +0000, Ihar Hrachyshka wrote:
>>> Scapy allows to define packets in descriptive form that is easier to
>>> digest and debug.
>>>
>>> Signed-off-by: Ihar Hrachyshka <[email protected]>
>>> ---
>>> 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 *; \
>>
>> Hi Ihar,
>>
>> My understanding is that Scapy's licence is GPL v2 [1]
>> whereas OVN is Apache. Is that a problem here?
>>
>> [1]
>> https://github.com/secdev/scapy/blob/e65180e048ffdb0284a218b6e5ff6d090d4217bd/scapy/all.py#L1
>>
>>> + import binascii; \
>>> + out = binascii.hexlify(raw($1)); \
>>> + print(out)" | python3 \
>>> + | sed s/^b\'// | sed s/\'$// # hexlify prints as b'...' -> truncate
>>> +}
>>> +
>>> OVS_END_SHELL_HELPERS
>>>
>>> m4_define([OVN_POPULATE_ARP], [AT_CHECK(ovn_populate_arp__, [0],
>>> [ignore])])
>>> --
>>> 2.34.1
>>>
>>> _______________________________________________
>>> dev mailing list
>>> [email protected]
>>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>>
>>
>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev