code: def create_network(self, net_view_name, cidr, nameservers=None,
                         members=None, gateway_ip=None, dhcp_trel_ip=None,
                         network_extattrs=None):
          
          ipv4 = ib_utils.determine_ip_version(cidr) == 4
  
          options = []
          if nameservers:
              options.append(obj.DhcpOption(name='domain-name-servers',
                                            value=",".join(nameservers)))
          if ipv4 and gateway_ip:
              options.append(obj.DhcpOption(name='routers',
                                            value=gateway_ip))
          if ipv4 and dhcp_trel_ip:
              options.append(obj.DhcpOption(name='dhcp-server-identifier',
                                            num=54,
                                            value=dhcp_trel_ip))
          return obj.Network.create(self.connector,
                                    network_view=net_view_name,
                                    cidr=cidr,
                                    members=members,
                                    options=options,
                                    extattrs=network_extattrs,
                                    check_if_exists=False)
docs: Create NIOS Network and prepare DHCP options.
  
          Some DHCP options are valid for IPv4 only, so just skip processing
          them for IPv6 case.
  
          :param net_view_name: network view name
          :param cidr: network to allocate, example '172.23.23.0/24'
          :param nameservers: list of name servers hosts/ip
          :param members: list of objects.AnyMember objects that are expected
              to serve dhcp for created network
          :param gateway_ip: gateway ip for the network (valid for IPv4 only)
          :param dhcp_trel_ip: ip address of dhcp relay (valid for IPv4 only)
          :param network_extattrs: extensible attributes for network (instance of
              objects.EA)
          :returns: created network (instance of objects.Network)