Bug 1954118

Summary: [RFE] rebase mptcpd to version 0.7
Product: Red Hat Enterprise Linux 9 Reporter: Davide Caratti <dcaratti>
Component: mptcpdAssignee: Davide Caratti <dcaratti>
Status: CLOSED CURRENTRELEASE QA Contact: xmu
Severity: medium Docs Contact:
Priority: medium    
Version: 9.0CC: jiji, mboddu
Target Milestone: betaKeywords: FutureFeature, Triaged
Target Release: ---Flags: xmu: needinfo-
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: mptcpd-0.7-1.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-12-07 22:04:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1875968, 1951115    

Description Davide Caratti 2021-04-27 15:46:40 UTC
summary of features/bugs resolved:

https://github.com/intel/mptcpd/releases/tag/v0.7

Comment 2 Davide Caratti 2021-04-27 17:41:00 UTC
*** Bug 1951275 has been marked as a duplicate of this bug. ***

Comment 6 xmu 2021-05-24 11:52:57 UTC
Davide,
 I run unit test of mptcpd-0.7-1.el9.src.rpm, 2 cases fail, Could you help check my test?

test steps:
# dnf install -y gcc autoconf autoconf-archive automake libtool pandoc doxygen
# rpm -ivh https://kojihub.stream.centos.org/kojifiles/packages/mptcpd/0.7/1.el9/src/mptcpd-0.7-1.el9.src.rpm
# cd rpmbuild/SOURCES/
# tar -zxvf mptcpd-0.7.tar.gz
# cd mptcpd-0.7
# ./bootstrap
# ./configure --prefix=/usr/local
# make
# make install
# make test



======================================
   mptcpd 0.7: tests/test-suite.log
======================================

# TOTAL: 14
# PASS:  12
# SKIP:  0
# XFAIL: 1
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: test-network-monitor
==========================

test-network-monitor.c:check_interface()
interface
  family: 0
  type:   1
  index:  2
  flags:  0x00011043
  name:   eno1
test-network-monitor.c:check_interface()   addrs:
test-network-monitor.c:dump_addr()     10.73.131.77
test-network-monitor.c:dump_addr()     2620:52:0:4982:1a66:daff:fee7:618
test-network-monitor.c:dump_addr()     fe80::1a66:daff:fee7:618
test-network-monitor.c:check_interface()
interface
  family: 0
  type:   1
  index:  4
  flags:  0x00011043
  name:   eno3
test-network-monitor.c:check_interface()   addrs:
test-network-monitor.c:dump_addr()     192.168.1.68
test-network-monitor.c:dump_addr()     2001::a26c:32f1:e819:748d
test-network-monitor.c:dump_addr()     fe80::c59e:2b69:f985:8542
test-network-monitor.c:check_interface()
interface
  family: 0
  type:   1
  index:  5
  flags:  0x00011043
  name:   eno4
test-network-monitor.c:check_interface()   addrs:
test-network-monitor.c:dump_addr()     192.168.1.44
test-network-monitor.c:dump_addr()     2001::a7fe:2056:d5e:a7be
test-network-monitor.c:dump_addr()     fe80::b1d3:8bc4:b2b5:da0b
test-network-monitor.c:check_interface()
interface
  family: 0
  type:   1
  index:  6
  flags:  0x00011043
  name:   enp131s0f0
lt-test-network-monitor: test-network-monitor.c:110: check_interface: Assertion `l_queue_length(i->addrs) > 0' failed.
FAIL test-network-monitor (exit status: 134)

XFAIL: test-commands
====================

configuration.c:mptcpd_config_create() plugin directory: /root/rpmbuild/SOURCES/mptcpd-0.7/tests/plugins/noop/.libs
configuration.c:mptcpd_config_create() default path manager plugin: addr_adv
path_manager.c:family_appeared() "mptcp_pm" generic netlink family appeared
add_addr: MPTCP connection token is ignored.
remove_addr: MPTCP connection token is ignored.
path_manager.c:dump_addrs_callback() ID sync: 52 | 192.0.2.1
add_addr: too many addresses or duplicate one
lt-test-commands: test-commands.c:101: get_addr_callback: Assertion `sockaddr_is_equal(addr, (struct sockaddr *) &info->addr)' failed.
XFAIL test-commands (exit status: 134)

Comment 7 Davide Caratti 2021-06-16 12:15:14 UTC
(In reply to xmu from comment #6)
> Davide,
>  I run unit test of mptcpd-0.7-1.el9.src.rpm, 2 cases fail, Could you help
> check my test?
> 
> test steps:
> # dnf install -y gcc autoconf autoconf-archive automake libtool pandoc
> doxygen
> # rpm -ivh
> https://kojihub.stream.centos.org/kojifiles/packages/mptcpd/0.7/1.el9/src/
> mptcpd-0.7-1.el9.src.rpm
> # cd rpmbuild/SOURCES/
> # tar -zxvf mptcpd-0.7.tar.gz
> # cd mptcpd-0.7
> # ./bootstrap
> # ./configure --prefix=/usr/local
> # make
> # make install
> # make test
> 
> 
> 
> ======================================
>    mptcpd 0.7: tests/test-suite.log
> ======================================
> 
> # TOTAL: 14
> # PASS:  12
> # SKIP:  0
> # XFAIL: 1
> # FAIL:  1
> # XPASS: 0
> # ERROR: 0
> 
> .. contents:: :depth: 2
> 
> FAIL: test-network-monitor
> ==========================
> 
> test-network-monitor.c:check_interface()
> interface
>   family: 0
>   type:   1
>   index:  2
>   flags:  0x00011043
>   name:   eno1
> test-network-monitor.c:check_interface()   addrs:
> test-network-monitor.c:dump_addr()     10.73.131.77
> test-network-monitor.c:dump_addr()     2620:52:0:4982:1a66:daff:fee7:618
> test-network-monitor.c:dump_addr()     fe80::1a66:daff:fee7:618
> test-network-monitor.c:check_interface()
> interface
>   family: 0
>   type:   1
>   index:  4
>   flags:  0x00011043
>   name:   eno3
> test-network-monitor.c:check_interface()   addrs:
> test-network-monitor.c:dump_addr()     192.168.1.68
> test-network-monitor.c:dump_addr()     2001::a26c:32f1:e819:748d
> test-network-monitor.c:dump_addr()     fe80::c59e:2b69:f985:8542
> test-network-monitor.c:check_interface()
> interface
>   family: 0
>   type:   1
>   index:  5
>   flags:  0x00011043
>   name:   eno4
> test-network-monitor.c:check_interface()   addrs:
> test-network-monitor.c:dump_addr()     192.168.1.44
> test-network-monitor.c:dump_addr()     2001::a7fe:2056:d5e:a7be
> test-network-monitor.c:dump_addr()     fe80::b1d3:8bc4:b2b5:da0b
> test-network-monitor.c:check_interface()
> interface
>   family: 0
>   type:   1
>   index:  6
>   flags:  0x00011043
>   name:   enp131s0f0
> lt-test-network-monitor: test-network-monitor.c:110: check_interface:
> Assertion `l_queue_length(i->addrs) > 0' failed.
> FAIL test-network-monitor (exit status: 134)
> 
> XFAIL: test-commands
> ====================
> 
> configuration.c:mptcpd_config_create() plugin directory:
> /root/rpmbuild/SOURCES/mptcpd-0.7/tests/plugins/noop/.libs
> configuration.c:mptcpd_config_create() default path manager plugin: addr_adv
> path_manager.c:family_appeared() "mptcp_pm" generic netlink family appeared
> add_addr: MPTCP connection token is ignored.
> remove_addr: MPTCP connection token is ignored.
> path_manager.c:dump_addrs_callback() ID sync: 52 | 192.0.2.1
> add_addr: too many addresses or duplicate one
> lt-test-commands: test-commands.c:101: get_addr_callback: Assertion
> `sockaddr_is_equal(addr, (struct sockaddr *) &info->addr)' failed.
> XFAIL test-commands (exit status: 134)

I will check this right now on a RHEL9 system, maybe it's just a kernel issue. Please note that 'make test' are (unfortiunately) not suitable to test the installed binary of mptcpd, because the unit tests statically link to a .la binary that is not shipped with the mptcpd RPM.

Comment 8 xmu 2021-06-16 14:42:18 UTC
(In reply to Davide Caratti from comment #7)
> (In reply to xmu from comment #6)
> I will check this right now on a RHEL9 system, maybe it's just a kernel
> issue. Please note that 'make test' are (unfortiunately) not suitable to
> test the installed binary of mptcpd, because the unit tests statically link
> to a .la binary that is not shipped with the mptcpd RPM.

ok, Thanks.
BTW, would you pick up mptcp gating bug: bz1962741? 
There is an example of wireguard-tools gating test(https://bugzilla.redhat.com/show_bug.cgi?id=1958118#c2)

Comment 9 Davide Caratti 2021-06-17 07:56:58 UTC
(In reply to xmu from comment #8)
> (In reply to Davide Caratti from comment #7)
> > (In reply to xmu from comment #6)
> > I will check this right now on a RHEL9 system, maybe it's just a kernel
> > issue. Please note that 'make test' are (unfortiunately) not suitable to
> > test the installed binary of mptcpd, because the unit tests statically link
> > to a .la binary that is not shipped with the mptcpd RPM.
> 
> ok, Thanks.

had a look, and reproduced the problem. Will investigate more and follow-up on this bz.

> BTW, would you pick up mptcp gating bug: bz1962741? 
> There is an example of wireguard-tools gating
> test(https://bugzilla.redhat.com/show_bug.cgi?id=1958118#c2)

taken :)

Comment 10 xmu 2021-06-29 07:08:05 UTC
Davide, 
   Do you plan to fix this issue in this bug?
   If yes, I will postpone ITM.
   Otherwise please help change the bug status ON_QA by manual, and I will open a new bug for the test-network-monitor issue. 
Thanks
Xiumei

Comment 13 xmu 2021-07-01 09:31:07 UTC
Since mptcpd gating test pass with mptcpd-0.7-2.el9 and most unit tests pass , and opened bz1977772 for the fail case.  set Verified.

PASS: test-plugin
PASS: test-network-monitor
PASS: test-path-manager
../test-driver: line 107: 18923 Aborted                 (core dumped) "$@" > $log_file 2>&1
XFAIL: test-commands
PASS: test-configuration
PASS: test-id-manager
PASS: test-cxx-build
PASS: test-bad-log-empty
PASS: test-bad-log-long
PASS: test-bad-log-short
PASS: test-bad-option
PASS: test-bad-path-manager
PASS: test-bad-plugin-dir
PASS: test-start-stop
============================================================================
Testsuite summary for mptcpd 0.7
============================================================================
# TOTAL: 14
# PASS:  13
# SKIP:  0
# XFAIL: 1
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================