[dpdk-dev,v8,0/7] link bonding

Message ID 60ABE07DBB3A454EB7FAD707B4BB1582138BC9F8@IRSMSX109.ger.corp.intel.com (mailing list archive)
State Not Applicable, archived
Headers

Commit Message

Michal Jastrzebski Nov. 25, 2014, 10:56 a.m. UTC
  > -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon
> Sent: Monday, November 24, 2014 9:54 PM
> To: Doherty, Declan
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v8 0/7] link bonding
> 
> 2014-11-24 16:33, Declan Doherty:
> > v8:
> > - Missing typo fix
> > - Missing whitespace
> >
> > v7:
> > - Fixes for checkpatch issues and typo fixes
> > - Removed patch "test app: adding support for generating variable sized" as
> this
> >   was already committed in commit
> aca4360340f169dcc11b1a9be955b44de8b9f6eb
> >
> > v6:
> > - Re-based to dpdk.org addressing associated issues for MBUF_REFCNT
> > - Added details to testpmd user guide for new command to set link status
> polling interval.
> >
> > v5:
> > - Fix uninitialized variable in broadcast_tx_burst function which caused a
> >   build error in 32-bit build
> > - Address unit test issue which is exposed by new test in mode 4/5 patch sets
> >
> > v4:
> > - Re-based to account for changes in master.
> > - Fix for rte_eth_bond_slaves_get() introduced in v3 patch set
> > - Addressed issue around disabling/enabling link status polling around
> adding/
> >   removing slaves devices.
> >
> > v3 :
> > - Typo fix for the bond free mbufs patch.
> > - Re-based to account for changes in the mbuf patches.
> > - Add support for slave devices which don't support link status interrupts
> > - Tidy up the link bonding unit test so that all tests use the new test macros.
> >
> > v2 :
> > Addresses issues with the logic around the handling of fail transmissions.
> > In this version all modes behave in a manner similar to a standard PMD,
> > returning the number of successfully transmitted mbufs and with the failing
> > mbufs at the end of bufs array for freeing / retransmission by the
> > application software
> >
> > v1:
> >
> > This patch set adds support for link status interrupt in the link bonding
> > pmd. It also contains some patches to tidy up the code structure and to
> > of the link bonding code and to fix bugs relating to transmission
> > failures in the under lying slave pmd which could lead to leaked mbufs.
> >
> >
> > Declan Doherty (7):
> >   bond: link status interrupt support
> >   bond: removing switch statement from rx burst method
> >   bond: fix naming inconsistency in tx_burst_round_robin
> >   bond: free mbufs if transmission fails in bonding tx_burst functions
> >   testpmd: adding parameter to reconfig method to set socket_id when
> >     adding new port to portlist
> >   bond: lsc polling support
> >   bond: unit test test macro refactor
> 
> Applied with some minor fixes.
> 
> Thanks
> --
> Thomas

Hi Thomas,
I noticed some problems with applying link bonding mode 4 patches after you applied Declan's patches. 
Link bonding mode 4 0001-bond-add-mode-4-support.patch won't apply because of this error:
Checking patch lib/librte_pmd_bond/rte_eth_bond_private.h...
error: while searching for:
#define RTE_BOND_LOG(lvl, msg, ...)             \
        RTE_LOG(lvl, PMD, "%s(%d) - " msg "\n", __func__, __LINE__, ##__VA_ARGS__);

extern const char *pmd_bond_init_valid_arguments[];

extern const char *driver_name;

error: patch failed: lib/librte_pmd_bond/rte_eth_bond_private.h:60
error: lib/librte_pmd_bond/rte_eth_bond_private.h: patch does not apply

This happens because originally in Declan's [PATCH v8 6/7] bond: lsc polling support there is a semicolon
at the end of RTE_LOG... line , and my patch is looking for this semicolon also. 
So do you want me to send a v6 patch fixing this issue?

The second issue is that Link bonding mode 4 0002-testpmd-add-mode-4-support.patch won't
apply also, because of this error;
error: while searching for:
                /* Update number of ports */
                nb_ports = rte_eth_dev_count();
                reconfig(port_id, res->socket);
                rte_eth_promiscuous_enable(port_id);
        }


error: patch failed: app/test-pmd/cmdline.c:3646
error: app/test-pmd/cmdline.c: patch does not apply

This is probably because you didn't apply Declan's patch:
[PATCH v8 5/7] testpmd: adding parameter to reconfig

This is a part of this patch:
  

Comments

Thomas Monjalon Nov. 25, 2014, 11:20 a.m. UTC | #1
2014-11-25 10:56, Jastrzebski, MichalX K:
> I noticed some problems with applying link bonding mode 4 patches after you applied Declan's patches. 
> Link bonding mode 4 0001-bond-add-mode-4-support.patch won't apply because of this error:
> Checking patch lib/librte_pmd_bond/rte_eth_bond_private.h...
> error: while searching for:
> #define RTE_BOND_LOG(lvl, msg, ...)             \
>         RTE_LOG(lvl, PMD, "%s(%d) - " msg "\n", __func__, __LINE__, ##__VA_ARGS__);
> 
> extern const char *pmd_bond_init_valid_arguments[];
> 
> extern const char *driver_name;
> 
> error: patch failed: lib/librte_pmd_bond/rte_eth_bond_private.h:60
> error: lib/librte_pmd_bond/rte_eth_bond_private.h: patch does not apply
> 
> This happens because originally in Declan's [PATCH v8 6/7] bond: lsc polling support there is a semicolon
> at the end of RTE_LOG... line , and my patch is looking for this semicolon also. 
> So do you want me to send a v6 patch fixing this issue?

I can fix this type of conflict by myself but I want you send a v6
because v5 had no commit log.
I want also a review from Declan. If it's already done, please add the acked-by
in your patch.

> The second issue is that Link bonding mode 4 0002-testpmd-add-mode-4-support.patch won't
> apply also, because of this error;
> error: while searching for:
>                 /* Update number of ports */
>                 nb_ports = rte_eth_dev_count();
>                 reconfig(port_id, res->socket);
>                 rte_eth_promiscuous_enable(port_id);
>         }
> 
> 
> error: patch failed: app/test-pmd/cmdline.c:3646
> error: app/test-pmd/cmdline.c: patch does not apply
> 
> This is probably because you didn't apply Declan's patch:
> [PATCH v8 5/7] testpmd: adding parameter to reconfig

Oh yes ! It's totally my fault. The patch has mysteriously disappeared.
It's fixed now.

Thanks for reporting
  

Patch

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 4c3fc76..be12c13 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -3642,7 +3642,7 @@  static void cmd_create_bonded_device_parsed(void *parsed_result,
 
 		/* Update number of ports */
 		nb_ports = rte_eth_dev_count();
-		reconfig(port_id);
+		reconfig(port_id, res->socket);
 		rte_eth_promiscuous_enable(port_id);
 	}