@@ -86,8 +86,8 @@ type HostAgent struct {
8686 // Guest interface name on the same subnet as the host,
8787 guestIfnameOnSameSubnetAsHost string
8888 // Guest IP address on the same subnet as the host.
89- guestIPAddress string
90- guestIPAddressMu sync.RWMutex
89+ guestIP net. IP
90+ guestIPMu sync.RWMutex
9191}
9292
9393type options struct {
@@ -367,7 +367,7 @@ func (a *HostAgent) emitGuestIPAddressEvent(ctx context.Context, ip string) {
367367 currentStatus := a .currentStatus
368368 a .statusMu .RUnlock ()
369369
370- currentStatus .GuestIPAddress = ip
370+ currentStatus .GuestIP = net . ParseIP ( ip )
371371
372372 ev := events.Event {Status : currentStatus }
373373 a .emitEvent (ctx , ev )
@@ -515,22 +515,22 @@ func (a *HostAgent) startRoutinesAndWait(ctx context.Context, errCh <-chan error
515515}
516516
517517func (a * HostAgent ) Info (_ context.Context ) (* hostagentapi.Info , error ) {
518- a .guestIPAddressMu .RLock ()
519- defer a .guestIPAddressMu .RUnlock ()
518+ a .guestIPMu .RLock ()
519+ defer a .guestIPMu .RUnlock ()
520520 info := & hostagentapi.Info {
521- GuestIPAddress : a . guestIPAddress ,
522- SSHLocalPort : a .sshLocalPort ,
521+ GuestIP : a . guestIP ,
522+ SSHLocalPort : a .sshLocalPort ,
523523 }
524524 return info , nil
525525}
526526
527527func (a * HostAgent ) sshAddressPort () (sshAddress string , sshPort int ) {
528- a .guestIPAddressMu .RLock ()
529- defer a .guestIPAddressMu .RUnlock ()
528+ a .guestIPMu .RLock ()
529+ defer a .guestIPMu .RUnlock ()
530530 sshAddress = a .instSSHAddress
531531 sshPort = a .sshLocalPort
532- if a .guestIPAddress != "" {
533- sshAddress = a .guestIPAddress
532+ if a .guestIP != nil {
533+ sshAddress = a .guestIP . String ()
534534 sshPort = 22
535535 logrus .Debugf ("Using the guest IP address %q directly" , sshAddress )
536536 }
0 commit comments