code: func (c *networkConfiguration) Validate() error {
  	if c.Mtu < 0 {
  		return ErrInvalidMtu(c.Mtu)
  	}
  
  	// If bridge v4 subnet is specified
  	if c.AddressIPv4 != nil {
  		// If default gw is specified, it must be part of bridge subnet
  		if c.DefaultGatewayIPv4 != nil {
  			if !c.AddressIPv4.Contains(c.DefaultGatewayIPv4) {
  				return &ErrInvalidGateway{}
  			}
  		}
  	}
  
  	// If default v6 gw is specified, AddressIPv6 must be specified and gw must belong to AddressIPv6 subnet
  	if c.EnableIPv6 && c.DefaultGatewayIPv6 != nil {
  		if c.AddressIPv6 == nil || !c.AddressIPv6.Contains(c.DefaultGatewayIPv6) {
  			return &ErrInvalidGateway{}
  		}
  	}
  	return nil
  }
docs: // Validate performs a static validation on the network configuration parameters.
  // Whatever can be assessed a priori before attempting any programming.