On 7/29/26 9:08 AM, Ales Musil via dev wrote:
> On Wed, Jul 29, 2026 at 4:56 AM Ihar Hrachyshka <[email protected]>
> wrote:
> 
>> On Sun, Jul 26, 2026 at 3:36 PM Martin Kalčok <[email protected]>
>> wrote:
>>
>>> Hi Ihar,
>>> Thanks for the patch. This "traditional nc" vs "nmap nc" brings up
>>> memories from when I first started with OVN, so I thought I'll chime
>>> in.
>>>
>>>
>> The Joy of Unix compatibility. :)
>>
>>
>>> On Sun, Jul 26, 2026 at 8:08 PM Ihar Hrachyshka
>>> <[email protected]> wrote:
>>>>
>>>> Nmap names and installs its netcat implementation as ncat. Its Makefile
>>>> installs the ncat executable and does not create an nc link. Ubuntu and
>>>> Fedora provide nc through packaging alternatives, whereas the NixOS
>>>> Nmap package exposes the upstream executable name. Consequently, OVN
>>>> reports HAVE_NC=no and cannot run its netcat-based system tests there.
>>>>
>>>> Prefer ncat when it is available and retain nc as a fallback for
>> systems
>>>> which provide the compatibility name or another supported netcat
>>>> implementation. Route all invocations through the command selected by
>>>> the feature probe.
>>>>
>>>> The tests use several Ncat-specific options, which is why the upstream
>>>> Nmap name is the first choice rather than merely accepting whichever
>>>> netcat command appears first in PATH.
>>>>
>>>> Assisted-by: Codex gpt-5.6-sol high
>>>> Signed-off-by: Ihar Hrachyshka <[email protected]>
>>>> ---
>>>>  tests/atlocal.in              |  15 +-
>>>>  tests/system-common-macros.at |  10 +-
>>>>  tests/system-ovn-kmod.at      |  90 +++----
>>>>  tests/system-ovn.at           | 472
>> +++++++++++++++++-----------------
>>>>  4 files changed, 298 insertions(+), 289 deletions(-)
>>>>
>>>> diff --git a/tests/atlocal.in b/tests/atlocal.in
>>>> index 2683e9a2f..40635266f 100644
>>>> --- a/tests/atlocal.in
>>>> +++ b/tests/atlocal.in
>>>> @@ -135,11 +135,20 @@ find_command()
>>>>      fi
>>>>  }
>>>>
>>>> -# Set HAVE_NC
>>>> -find_command nc
>>>> +# Set HAVE_NC and select the installed netcat command.
>>>> +if command -v ncat > /dev/null 2>&1; then
>>>> +    NC=ncat
>>>> +    HAVE_NC=yes
>>>> +elif command -v nc > /dev/null 2>&1; then
>>>> +    NC=nc
>>>> +    HAVE_NC=yes
>>>> +else
>>>> +    NC=nc
>>>> +    HAVE_NC=no
>>>> +fi
>>>
>>> As you noted above, both Ubuntu and Fedora use links via
>>> "/etc/alternatives" to expose "ncat" as "nc", but they also retain the
>>> "ncat"
>>>
>>> Ubuntu 24.04:
>>> $  which ncat
>>> /usr/bin/ncat
>>>
>>> Fedora 43:
>>> $ which ncat
>>> /usr/sbin/ncat
>>>
>>> Given that many tests rely on ncat-specific features, wouldn't it be
>>> better to check only for presence of "ncat" and set `HAVE_NC=no` if it
>>> doesn't exist?
>>>
>>> Best regards,
>>> Martin.
>>>
>>>
>> This is an interesting observation. I think OVN inherited HAVE_NC from OVS
>> where actual compatibility with non-nmap nc(at) implementations was
>> historically maintained (and - for what I gather from my brief reading of
>> the current OVS trunk tests - still is largely retained, though there was
>> some drift there too).
>>
>> Since then, some OVN tests have adopted unique nmap ncat features,
>> disregarding compatibility with alternative `nc` implementations.
>>
>> So now we are here. And we have a few options:
>>
>> a) retain the historical generic-nc fallback, even though it no longer
>> works for the entire test suite (the approach taken by this patch); or
>> b) accept that the suite now effectively depends on ncat and make the
>> feature check reflect the reality.
>>
>> Reflecting reality could mean mapping HAVE_NC to `ncat`. Or perhaps just
>> run `find_command ncat` and use the resulting `HAVE_NCAT` as the feature
>> flag. (Then drop `HAVE_NC` usage.)
>>
>> There's also a hybrid solution: try to separate tests that are still
>> genuinely `nc`-compatible from those `ncat`-specific, and use both
>> `HAVE_NC` and `HAVE_NCAT` in testthe  suite. Whether this chore and ongoing
>> maintenance of the split is worth it... I will let the maintainers decide.
>> :)
>>
>> A lazy me would be happy to stick to the existing patch (a), a nerdy me
>> would be happy to send a patch for (b) instead. Let me know what's
>> preferred.
>>
>> Ihar
>>
> 
> Hi Ihar and Martin,
> 

Hi Ihar, Martin, Ales,

> I'm not against switching to HAVE_NCAT instead, don't know what
> do other maintainers think. While we wait for other opinions I have
> merged parts of the series unrelated to netcat so we don't
> have to drag it around.
> 

Given that we already broke nc compatibility a while ago and nobody
yelled at us yet, I'd say: let's go the HAVE_NCAT way.

Regards,
Dumitru

> 
> 
>> _______________________________________________
>> dev mailing list
>> [email protected]
>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>
>>
> Regards,
> Ales
> _______________________________________________
> 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

Reply via email to