From 8b5b6bc59146eed62a31186395bfb925fb300af5 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Thu, 16 Jan 2020 18:11:35 +0800 Subject: [PATCH] hostman: add secondary addresses with one iproute2 call --- pkg/hostman/hostinfo/hostbridge/hostbridge.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkg/hostman/hostinfo/hostbridge/hostbridge.go b/pkg/hostman/hostinfo/hostbridge/hostbridge.go index a8c581d0ee..c7b9c1f2da 100644 --- a/pkg/hostman/hostinfo/hostbridge/hostbridge.go +++ b/pkg/hostman/hostinfo/hostbridge/hostbridge.go @@ -216,11 +216,13 @@ func (d *SBaseBridgeDriver) SetupAddresses(mask net.IPMask) error { } func (d *SBaseBridgeDriver) SetupSlaveAddresses(slaveAddrs [][]string) error { - for _, slaveAddr := range slaveAddrs { - addr := fmt.Sprintf("%s/%s", slaveAddr[0], slaveAddr[1]) - if err := iproute2.NewAddress(d.bridge.String(), addr).Add().Err(); err != nil { - return errors.Wrap(err, "move address to bridge interface") - } + br := d.bridge.String() + addrs := make([]string, len(slaveAddrs)) + for i, slaveAddr := range slaveAddrs { + addrs[i] = fmt.Sprintf("%s/%s", slaveAddr[0], slaveAddr[1]) + } + if err := iproute2.NewAddress(br, addrs...).Add().Err(); err != nil { + return errors.Wrap(err, "move secondary addresses to bridge interface") } return nil }