Changeset 107028 in vbox for trunk/src/VBox/Devices/Network
- Timestamp:
- Nov 18, 2024 2:52:36 PM (6 months ago)
- svn:sync-xref-src-repo-rev:
- 165972
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/DrvNATlibslirp.cpp
r106678 r107028 1610 1610 pDrvIns->iInstance); 1611 1611 1612 RTNETADDRIPV4 Network, Netmask ;1612 RTNETADDRIPV4 Network, Netmask, Nettemp; 1613 1613 rc = RTCidrStrToIPv4(szNetwork, &Network, &Netmask); 1614 1614 if (RT_FAILURE(rc)) … … 1619 1619 /* Construct Libslirp Config and Initialzie Slirp */ 1620 1620 1621 LogFlow(("Here is what is coming out of the vbox config:\n" 1622 " Network: %lu\n" 1623 " Netmask: %lu\n", Network, Netmask)); 1621 LogFlow(("Here is what is coming out of the vbox config (NAT#%d):\n" 1622 " Network: %RTnaipv4\n" 1623 " Netmask: %RTnaipv4\n", 1624 pDrvIns->iInstance, RT_H2BE_U32(Network.u), RT_H2BE_U32(Netmask.u))); 1624 1625 1625 1626 struct in_addr vnetwork = RTNetIPv4AddrHEToInAddr(&Network); 1626 1627 struct in_addr vnetmask = RTNetIPv4AddrHEToInAddr(&Netmask); 1627 struct in_addr vhost = RTNetInAddrFromU8(10, 0, 2, 2); 1628 struct in_addr vdhcp_start = RTNetInAddrFromU8(10, 0, 2, 15); 1629 struct in_addr vnameserver = RTNetInAddrFromU8(10, 0, 2, 3); 1628 Nettemp = Network; Nettemp.u |= 2; /* Usually 10.0.2.2 */ 1629 struct in_addr vhost = RTNetIPv4AddrHEToInAddr(&Nettemp); 1630 Nettemp = Network; Nettemp.u |= 15; /* Usually 10.0.2.15 */ 1631 struct in_addr vdhcp_start = RTNetIPv4AddrHEToInAddr(&Nettemp); 1632 Nettemp = Network; Nettemp.u |= 3; /* Usually 10.0.2.3 */ 1633 struct in_addr vnameserver = RTNetIPv4AddrHEToInAddr(&Nettemp); 1630 1634 1631 1635 SlirpConfig slirpCfg = { 0 }; … … 1640 1644 slirpCfg.in6_enabled = true; 1641 1645 1642 inet_pton(AF_INET6, "fd00::", &slirpCfg.vprefix_addr6); 1646 /* 1647 * Use the same prefix as the NAT Network default: 1648 * [fd17:625c:f037:XXXX::/64] - RFC 4193 (ULA) Locally Assigned 1649 * Global ID where XXXX, 16 bit Subnet ID, are two bytes from the 1650 * middle of the IPv4 address, e.g. :0002: for 10.0.2.1. 1651 */ 1652 1653 inet_pton(AF_INET6, "fd17:625c:f037:0::", &slirpCfg.vprefix_addr6); 1654 inet_pton(AF_INET6, "fd17:625c:f037:0::2", &slirpCfg.vhost6); 1655 inet_pton(AF_INET6, "fd17:625c:f037:0::3", &slirpCfg.vnameserver6); 1643 1656 slirpCfg.vprefix_len = 64; 1644 inet_pton(AF_INET6, "fd00::2", &slirpCfg.vhost6); 1657 1658 /* Copy the middle of the IPv4 addresses to the IPv6 addresses. */ 1659 slirpCfg.vprefix_addr6.s6_addr[6] = RT_BYTE2(vhost.s_addr); 1660 slirpCfg.vprefix_addr6.s6_addr[7] = RT_BYTE3(vhost.s_addr); 1661 slirpCfg.vhost6.s6_addr[6] = RT_BYTE2(vhost.s_addr); 1662 slirpCfg.vhost6.s6_addr[7] = RT_BYTE3(vhost.s_addr); 1663 slirpCfg.vnameserver6.s6_addr[6] = RT_BYTE2(vnameserver.s_addr); 1664 slirpCfg.vnameserver6.s6_addr[7] = RT_BYTE3(vnameserver.s_addr); 1645 1665 1646 1666 slirpCfg.vhostname = "vbox"; … … 1651 1671 slirpCfg.vnameserver = vnameserver; 1652 1672 slirpCfg.if_mtu = MTU; 1653 1654 inet_pton(AF_INET6, "fd00::3", &slirpCfg.vnameserver6);1655 1673 1656 1674 slirpCfg.vdnssearch = NULL;
Note:
See TracChangeset
for help on using the changeset viewer.