code: func (c *Client) Request() (bool, dhcp4.Packet, error) {
  	discoveryPacket, err := c.SendDiscoverPacket()
  	if err != nil {
  		return false, discoveryPacket, err
  	}
  
  	offerPacket, err := c.GetOffer(&discoveryPacket)
  	if err != nil {
  		return false, offerPacket, err
  	}
  
  	requestPacket, err := c.SendRequest(&offerPacket)
  	if err != nil {
  		return false, requestPacket, err
  	}
  
  	acknowledgement, err := c.GetAcknowledgement(&requestPacket)
  	if err != nil {
  		return false, acknowledgement, err
  	}
  
  	acknowledgementOptions := acknowledgement.ParseOptions()
  	if dhcp4.MessageType(acknowledgementOptions[dhcp4.OptionDHCPMessageType][0]) != dhcp4.ACK {
  		return false, acknowledgement, nil
  	}
  
  	return true, acknowledgement, nil
  }
docs: //Lets do a Full DHCP Request.