code: func sendMessages(c net.PacketConn, source net.HardwareAddr, msg string) {
  	// Message is broadcast to all machines in same network segment.
  	f := &ethernet.Frame{
  		Destination: ethernet.Broadcast,
  		Source:      source,
  		EtherType:   etherType,
  		Payload:     []byte(msg),
  	}
  
  	b, err := f.MarshalBinary()
  	if err != nil {
  		log.Fatalf("failed to marshal ethernet frame: %v", err)
  	}
  
  	// Required by Linux, even though the Ethernet frame has a destination.
  	// Unused by BSD.
  	addr := &raw.Addr{
  		HardwareAddr: ethernet.Broadcast,
  	}
  
  	// Send message forever.
  	t := time.NewTicker(1 * time.Second)
  	for range t.C {
  		if _, err := c.WriteTo(b, addr); err != nil {
  			log.Fatalf("failed to send message: %v", err)
  		}
  	}
  }
docs: // sendMessages continuously sends a message over a connection at regular intervals,
  // sourced from specified hardware address.