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

Jastrzebski, MichalX K michalx.k.jastrzebski at intel.com
Tue Nov 25 11:56:17 CET 2014


> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Thomas Monjalon
> Sent: Monday, November 24, 2014 9:54 PM
> To: Doherty, Declan
> Cc: dev at 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:
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);
 	}




More information about the dev mailing list