Skip to content

Commit

Permalink
Merge "DPDK: Bond mode set incorrectly after upgrade" into R3.0.3.x
Browse files Browse the repository at this point in the history
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Oct 27, 2016
2 parents 8ab7418 + b5ab898 commit cdbf44d
Showing 1 changed file with 23 additions and 20 deletions.
43 changes: 23 additions & 20 deletions common/control_files/vrouter-functions.sh
Expand Up @@ -332,26 +332,29 @@ _dpdk_system_bond_info_collect() {
_dpdk_vrouter_ini_update() {
_dpdk_system_bond_info_collect

## update virtual device (bond) configuration
dpdk_vdev=""
if [ -n "${DPDK_BOND_MODE}" -a -n "${DPDK_BOND_NUMA}" ]; then
echo "${0##*/}: updating bonding configuration in ${VROUTER_DPDK_INI}..."

dpdk_vdev=" --vdev \"eth_bond_${DPDK_PHY},mode=${DPDK_BOND_MODE}"
dpdk_vdev="${dpdk_vdev},xmit_policy=${DPDK_BOND_POLICY}"
dpdk_vdev="${dpdk_vdev},socket_id=${DPDK_BOND_NUMA},mac=${DPDK_BOND_MAC}"
for SLAVE in ${DPDK_BOND_PCIS}; do
dpdk_vdev="${dpdk_vdev},slave=${SLAVE}"
done
dpdk_vdev="${dpdk_vdev}\""
fi
## always update the ini file, so we remove vdev argument
## whenever Linux configuration has changed
sed -ri.bak \
-e 's/(^ *command *=.*vrouter-dpdk.*) (--vdev +\"[^"]+\"|--vdev +[^ ]+)(.*) *$/\1\3/' \
-e 's/(^ *command *=.*vrouter-dpdk.*) (--vdev +\"[^"]+\"|--vdev +[^ ]+)(.*) *$/\1\3/' \
-e "s/(^ *command *=.*vrouter-dpdk.*)/\\1${dpdk_vdev}/" \
${VROUTER_DPDK_INI}
## update virtual device (bond) configuration if needed
cat ${VROUTER_DPDK_INI} | grep "\-\-vdev"
if [ $? -ne 0 ];
then
dpdk_vdev=""
if [ -n "${DPDK_BOND_MODE}" -a -n "${DPDK_BOND_NUMA}" ]; then
echo "${0##*/}: updating bonding configuration in ${VROUTER_DPDK_INI}..."

dpdk_vdev=" --vdev \"eth_bond_${DPDK_PHY},mode=${DPDK_BOND_MODE}"
dpdk_vdev="${dpdk_vdev},xmit_policy=${DPDK_BOND_POLICY}"
dpdk_vdev="${dpdk_vdev},socket_id=${DPDK_BOND_NUMA},mac=${DPDK_BOND_MAC}"
for SLAVE in ${DPDK_BOND_PCIS}; do
dpdk_vdev="${dpdk_vdev},slave=${SLAVE}"
done
dpdk_vdev="${dpdk_vdev}\""
fi
## update the --vdev string if it does not exist
sed -ri.bak \
-e 's/(^ *command *=.*vrouter-dpdk.*) (--vdev +\"[^"]+\"|--vdev +[^ ]+)(.*) *$/\1\3/' \
-e 's/(^ *command *=.*vrouter-dpdk.*) (--vdev +\"[^"]+\"|--vdev +[^ ]+)(.*) *$/\1\3/' \
-e "s/(^ *command *=.*vrouter-dpdk.*)/\\1${dpdk_vdev}/" \
${VROUTER_DPDK_INI}
fi


## update VLAN configuration
Expand Down

0 comments on commit cdbf44d

Please sign in to comment.