Esempio n. 1
0
 public override void Dispose(bool disposing)
 {
     base.Dispose(disposing);
     if (dhcpActive & disposing)
     {
         dhcpActive = false;
         dhcp.Dispose();
         dhcp = null;
     }
 }
Esempio n. 2
0
        protected void InitDHCP(NetworkInterface parAdapter)
        {
            //Cleanup to pass options as paramaters instead of accessing the config directly?
            dhcpActive = true;
            byte[] ps2IP = IPAddress.Parse(DEV9Header.config.DirectConnectionSettings.PS2IP).GetAddressBytes();
            byte[] netMask = null;
            byte[] gateway = null;

            byte[] dns1 = null;
            byte[] dns2 = null;

            if (!DEV9Header.config.DirectConnectionSettings.AutoSubNet)
            {
                netMask = IPAddress.Parse(DEV9Header.config.DirectConnectionSettings.SubNet).GetAddressBytes();
            }

            if (!DEV9Header.config.DirectConnectionSettings.AutoGateway)
            {
                gateway = IPAddress.Parse(DEV9Header.config.DirectConnectionSettings.Gateway).GetAddressBytes();
            }

            if (!DEV9Header.config.DirectConnectionSettings.AutoDNS1)
            {
                dns1 = IPAddress.Parse(DEV9Header.config.DirectConnectionSettings.DNS1).GetAddressBytes();
            }
            if (!DEV9Header.config.DirectConnectionSettings.AutoDNS2)
            {
                dns2 = IPAddress.Parse(DEV9Header.config.DirectConnectionSettings.DNS2).GetAddressBytes();
            }
            //Create DHCP Session
            dhcp = new UDP_DHCPsession(new ConnectionKey(), parAdapter, ps2IP, netMask, gateway, dns1, dns2);
            dhcpActive = true;
        }