code: func (e *Engine) gratuitousARP() {
  	arpTicker := time.NewTicker(e.config.GratuitousARPInterval)
  	var announced bool
  	for {
  		select {
  		case <-arpTicker.C:
  			if e.haManager.state() != seesaw.HAMaster {
  				if announced {
  					log.Infof("Stopping gratuitous ARPs for %s", e.config.ClusterVIP.IPv4Addr)
  					announced = false
  				}
  				continue
  			}
  			if !announced {
  				log.Infof("Starting gratuitous ARPs for %s via %s every %s",
  					e.config.ClusterVIP.IPv4Addr, e.config.LBInterface, e.config.GratuitousARPInterval)
  				announced = true
  			}
  			if err := e.ncc.Dial(); err != nil {
  				log.Fatalf("Failed to connect to NCC: %v", err)
  			}
  			defer e.ncc.Close()
  			if err := e.ncc.ARPSendGratuitous(e.config.LBInterface, e.config.ClusterVIP.IPv4Addr); err != nil {
  				log.Fatalf("Failed to send gratuitous ARP: %v", err)
  			}
  
  		case <-e.shutdownARP:
  			e.shutdownARP <- true
  			return
  		}
  	}
  }
docs: // gratuitousARP sends gratuitous ARP messages at regular intervals, if this
  // node is the HA master.