From ffa1203a7ffeed5a335667af2bff3e6babe7c72b Mon Sep 17 00:00:00 2001 From: weiqiang Date: Thu, 7 Sep 2023 10:54:35 +0800 Subject: [PATCH] [Server] send vmac to agent by segment #22202 --- cli/ctl/trisolaris_check.go | 4 ++-- server/controller/trisolaris/metadata/segment.go | 13 +++++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/cli/ctl/trisolaris_check.go b/cli/ctl/trisolaris_check.go index 734d7269512..50e4d381912 100644 --- a/cli/ctl/trisolaris_check.go +++ b/cli/ctl/trisolaris_check.go @@ -255,10 +255,10 @@ func Uint64ToMac(v uint64) net.HardwareAddr { func formatString(data *trident.Interface) string { buffer := bytes.Buffer{} - format := "Id: %d Mac: %s VMac: %s EpcId: %d DeviceType: %d DeviceId: %d IfType: %d" + + format := "Id: %d Mac: %s EpcId: %d DeviceType: %d DeviceId: %d IfType: %d" + " LaunchServer: %s LaunchServerId: %d RegionId: %d AzId: %d, PodGroupId: %d, " + "PodNsId: %d, PodId: %d, PodClusterId: %d, NetnsId: %d, VtapId: %d, IsVipInterface: %t " - buffer.WriteString(fmt.Sprintf(format, data.GetId(), Uint64ToMac(data.GetMac()), Uint64ToMac(data.GetVmac()), + buffer.WriteString(fmt.Sprintf(format, data.GetId(), Uint64ToMac(data.GetMac()), data.GetEpcId(), data.GetDeviceType(), data.GetDeviceId(), data.GetIfType(), data.GetLaunchServer(), data.GetLaunchServerId(), data.GetRegionId(), data.GetAzId(), data.GetPodGroupId(), data.GetPodNsId(), data.GetPodId(), diff --git a/server/controller/trisolaris/metadata/segment.go b/server/controller/trisolaris/metadata/segment.go index 41e4e20bbd3..9c4eebf5012 100644 --- a/server/controller/trisolaris/metadata/segment.go +++ b/server/controller/trisolaris/metadata/segment.go @@ -26,14 +26,16 @@ import ( ) type MacID struct { - Mac string - ID int + Mac string + VMac string + ID int } func newMacID(vif *models.VInterface) *MacID { return &MacID{ - Mac: vif.Mac, - ID: vif.ID, + Mac: vif.Mac, + ID: vif.ID, + VMac: vif.VMac, } } @@ -332,16 +334,19 @@ func (s *Segment) generateGatewayHostSegments() { for _, hostSegments := range s.gatewayHostIDToSegments { for _, macIDs := range hostSegments { macs := make([]string, 0, len(macIDs)) + vmacs := make([]string, 0, len(macIDs)) vifIDs := make([]uint32, 0, len(macIDs)) for _, macID := range macIDs { if !isMacNullOrDefault(macID.Mac) { macs = append(macs, macID.Mac) vifIDs = append(vifIDs, uint32(macID.ID)) + vmacs = append(vmacs, macID.VMac) } } segment := &trident.Segment{ Id: proto.Uint32(uint32(1)), Mac: macs, + Vmac: vmacs, InterfaceId: vifIDs, } segments = append(segments, segment)