kopia lustrzana https://github.com/micropython/micropython
1c6012b0b5
This commit implements a new <AbstractNIC>.ipconfig() function for the NIC classes that use lwIP, to set and retrieve network configuration for a NIC. Currently this method supports: - ipconfig("addr4"): obtain a tuple (addr, netmask) of the currently configured ipv4 address - ipconfig("addr6"): obtain a list of tuples (addr, state, prefered_lifetime, valid_lifetime) of all currently active ipv6 addresses; this includes static, slaac and link-local addresses - ipconfig("has_dhcp4"): whether ipv4 dhcp has supplied an address - ipconfig("has_autoconf6"): if there is a valid, non-static ipv6 address - ipconfig(addr4="1.2.3.4/24"): to set the ipv4 address and netmask - ipconfig(addr6="2a01::2"): to set a static ipv6 address; note that this does not configure an interface route, as this does not seem supported by lwIP - ipconfig(autoconf6=True): to enable ipv6 network configuration with slaac - ipconfig(gw4="1.2.3.1"): to set the ipv4 gateway - ipconfig(dhcp4=True): enable ipv4 dhcp; this sets ipv4 address, netmask, gateway and a dns server - ipconfig(dhcp4=False): stops dhcp, releases the ip, and clears the configured ipv4 address. - ipconfig(dhcp6=True): enable stateless dhcpv6 to obtain a dns server There is also a new global configuration function network.ipconfig() that supports the following: - network.ipconfig(dns="2a01::2"): set the primary dns server (can be a ipv4 or ipv6 address) - network.ipconfig(prefer=6): to prefer ipv6 addresses to be returned as dns responses (falling back to ipv4 if the host does not have an ipv6 address); note that this does not flush the dns cache, so if a host is already in the dns cache with its v4 address, subsequent lookups will return that address even if prefer=6 is set This interface replaces NIC.ifconfig() completely, and ifconfig() should be marked as deprecated and removed in a future version. Signed-off-by: Felix Dörre <felix@dogcraft.de> |
||
---|---|---|
.. | ||
asyncio | ||
axtls-include | ||
berkeley-db | ||
btstack | ||
libmetal | ||
lwip-include | ||
mbedtls | ||
nimble | ||
extmod.cmake | ||
extmod.mk | ||
font_petme128_8x8.h | ||
machine_adc.c | ||
machine_adc_block.c | ||
machine_bitstream.c | ||
machine_i2c.c | ||
machine_i2s.c | ||
machine_mem.c | ||
machine_pinbase.c | ||
machine_pulse.c | ||
machine_pwm.c | ||
machine_signal.c | ||
machine_spi.c | ||
machine_timer.c | ||
machine_uart.c | ||
machine_usb_device.c | ||
machine_wdt.c | ||
misc.h | ||
modasyncio.c | ||
modbinascii.c | ||
modbluetooth.c | ||
modbluetooth.h | ||
modbtree.c | ||
modcryptolib.c | ||
moddeflate.c | ||
modframebuf.c | ||
modhashlib.c | ||
modheapq.c | ||
modjson.c | ||
modlwip.c | ||
modmachine.c | ||
modmachine.h | ||
modnetwork.c | ||
modnetwork.h | ||
modonewire.c | ||
modopenamp.c | ||
modopenamp.h | ||
modopenamp_remoteproc.c | ||
modopenamp_remoteproc.h | ||
modopenamp_remoteproc_store.c | ||
modos.c | ||
modplatform.c | ||
modplatform.h | ||
modrandom.c | ||
modre.c | ||
modselect.c | ||
modsocket.c | ||
modtime.c | ||
modtime.h | ||
modtls_axtls.c | ||
modtls_mbedtls.c | ||
moductypes.c | ||
modvfs.c | ||
modwebrepl.c | ||
modwebsocket.c | ||
modwebsocket.h | ||
mpbthci.c | ||
mpbthci.h | ||
network_cyw43.c | ||
network_cyw43.h | ||
network_esp_hosted.c | ||
network_lwip.c | ||
network_ninaw10.c | ||
network_wiznet5k.c | ||
os_dupterm.c | ||
vfs.c | ||
vfs.h | ||
vfs_blockdev.c | ||
vfs_fat.c | ||
vfs_fat.h | ||
vfs_fat_diskio.c | ||
vfs_fat_file.c | ||
vfs_lfs.c | ||
vfs_lfs.h | ||
vfs_lfsx.c | ||
vfs_lfsx_file.c | ||
vfs_posix.c | ||
vfs_posix.h | ||
vfs_posix_file.c | ||
vfs_reader.c | ||
virtpin.c | ||
virtpin.h |