Update ChangeLog
This commit is contained in:
parent
2618e85f84
commit
9bff050ad0
@ -1175,4 +1175,6 @@
|
|||||||
not both (IPv6 still does not compile) (2015-01-18).
|
not both (IPv6 still does not compile) (2015-01-18).
|
||||||
* apps/netutils/netlib: Add new library functions to manipulate IPv6
|
* apps/netutils/netlib: Add new library functions to manipulate IPv6
|
||||||
addresses (2015-01-13).
|
addresses (2015-01-13).
|
||||||
|
* apps/nshlib/Kconfig and nsh_netinit.c: Add logic to initialize
|
||||||
|
IPv6 addresses (2015-01-19).
|
||||||
|
|
||||||
|
290
nshlib/Kconfig
290
nshlib/Kconfig
@ -889,41 +889,317 @@ config NSH_NETINIT_DEBUG
|
|||||||
or DEBUG_VERBOSE are not selected. This allows for focused, unit-
|
or DEBUG_VERBOSE are not selected. This allows for focused, unit-
|
||||||
level debug of the NSH network initialization logic.
|
level debug of the NSH network initialization logic.
|
||||||
|
|
||||||
|
menu "IP Address Configuration"
|
||||||
|
|
||||||
config NSH_DHCPC
|
config NSH_DHCPC
|
||||||
bool "Use DHCP to get IP address"
|
bool "Use DHCP to get IP address"
|
||||||
default n
|
default n
|
||||||
depends on NSH_LIBRARY && NETUTILS_DHCPC
|
depends on NETUTILS_DHCPC
|
||||||
---help---
|
---help---
|
||||||
Obtain the IP address via DHCP.
|
Obtain the IP address via DHCP.
|
||||||
|
|
||||||
Per RFC2131 (p. 9), the DHCP client must be prepared to receive DHCP
|
Per RFC2131 (p. 9), the DHCP client must be prepared to receive DHCP
|
||||||
messages of up to 576 bytes (excluding Ethernet, IP, or UDP headers and FCS).
|
messages of up to 576 bytes (excluding Ethernet, IP, or UDP headers and FCS).
|
||||||
|
|
||||||
|
if NET_IPv4
|
||||||
|
|
||||||
|
comment "IPv4 Addresses"
|
||||||
|
|
||||||
config NSH_IPADDR
|
config NSH_IPADDR
|
||||||
hex "Target IP address"
|
hex "Target IPv4 address"
|
||||||
default 0x0a000002
|
default 0x0a000002
|
||||||
depends on NSH_LIBRARY && NET && !NSH_DHCPC
|
depends on !NSH_DHCPC
|
||||||
---help---
|
---help---
|
||||||
If NSH_DHCPC is NOT set, then the static IP address must be provided.
|
If NSH_DHCPC is NOT set, then the static IP address must be provided.
|
||||||
This is a 32-bit integer value in host order. So, as an example,
|
This is a 32-bit integer value in host order. So, as an example,
|
||||||
0x10000002 would be 10.0.0.2.
|
0x10000002 would be 10.0.0.2.
|
||||||
|
|
||||||
config NSH_DRIPADDR
|
config NSH_DRIPADDR
|
||||||
hex "Router IP address"
|
hex "Router IPv4 address"
|
||||||
default 0x0a000001
|
default 0x0a000001
|
||||||
depends on NSH_LIBRARY && NET
|
|
||||||
---help---
|
---help---
|
||||||
Default router IP address (aka, Gateway). This is a 32-bit integer
|
Default router IP address (aka, Gateway). This is a 32-bit integer
|
||||||
value in host order. So, as an example, 0x10000001 would be 10.0.0.1.
|
value in host order. So, as an example, 0x10000001 would be 10.0.0.1.
|
||||||
|
|
||||||
config NSH_NETMASK
|
config NSH_NETMASK
|
||||||
hex "Network mask"
|
hex "IPv4 Network mask"
|
||||||
default 0xffffff00
|
default 0xffffff00
|
||||||
depends on NSH_LIBRARY && NET
|
|
||||||
---help---
|
---help---
|
||||||
Network mask. This is a 32-bit integer value in host order. So, as
|
Network mask. This is a 32-bit integer value in host order. So, as
|
||||||
an example, 0xffffff00 would be 255.255.255.0.
|
an example, 0xffffff00 would be 255.255.255.0.
|
||||||
|
|
||||||
|
endif # NET_IPv4
|
||||||
|
|
||||||
|
if NET_IPv6
|
||||||
|
if !NSH_DHCPC
|
||||||
|
|
||||||
|
comment "Target IPv6 address"
|
||||||
|
|
||||||
|
config NSH_IPv6ADDR_1
|
||||||
|
hex "[0]"
|
||||||
|
default 0xfc00
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
If NSH_DHCPC is NOT set, then the static IP address must be
|
||||||
|
provided. This is a 16-bit integer value in host order. Each of the
|
||||||
|
eight values forming the full IP address must be specified
|
||||||
|
individually. This is the first of the 8-values. The default for
|
||||||
|
all eight values is fc00:0000:0000:0000:0000:0000:0000:0002.
|
||||||
|
|
||||||
|
config NSH_IPv6ADDR_2
|
||||||
|
hex "[1]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
If NSH_DHCPC is NOT set, then the static IP address must be
|
||||||
|
provided. This is a 16-bit integer value in host order. Each of the
|
||||||
|
eight values forming the full IP address must be specified
|
||||||
|
individually. This is the second of the 8-values. The default for
|
||||||
|
all eight values is fc00:0000:0000:0000:0000:0000:0000:0002.
|
||||||
|
|
||||||
|
config NSH_IPv6ADDR_3
|
||||||
|
hex "[2]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
If NSH_DHCPC is NOT set, then the static IP address must be
|
||||||
|
provided. This is a 16-bit integer value in host order. Each of the
|
||||||
|
eight values forming the full IP address must be specified
|
||||||
|
individually. This is the third of the 8-values. The default for
|
||||||
|
all eight values is fc00:0000:0000:0000:0000:0000:0000:0002.
|
||||||
|
|
||||||
|
config NSH_IPv6ADDR_4
|
||||||
|
hex "[3]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
If NSH_DHCPC is NOT set, then the static IP address must be
|
||||||
|
provided. This is a 16-bit integer value in host order. Each of the
|
||||||
|
eight values forming the full IP address must be specified
|
||||||
|
individually. This is the fourth of the 8-values. The default for
|
||||||
|
all eight values is fc00:0000:0000:0000:0000:0000:0000:0002.
|
||||||
|
|
||||||
|
config NSH_IPv6ADDR_5
|
||||||
|
hex "[4]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
If NSH_DHCPC is NOT set, then the static IP address must be
|
||||||
|
provided. This is a 16-bit integer value in host order. Each of the
|
||||||
|
eight values forming the full IP address must be specified
|
||||||
|
individually. This is the fifth of the 8-values. The default for
|
||||||
|
all eight values is fc00:0000:0000:0000:0000:0000:0000:0002.
|
||||||
|
|
||||||
|
config NSH_IPv6ADDR_6
|
||||||
|
hex "[5]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
If NSH_DHCPC is NOT set, then the static IP address must be
|
||||||
|
provided. This is a 16-bit integer value in host order. Each of the
|
||||||
|
eight values forming the full IP address must be specified
|
||||||
|
individually. This is the sixth of the 8-values. The default for
|
||||||
|
all eight values is fc00:0000:0000:0000:0000:0000:0000:0002.
|
||||||
|
|
||||||
|
config NSH_IPv6ADDR_7
|
||||||
|
hex "[6]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
If NSH_DHCPC is NOT set, then the static IP address must be
|
||||||
|
provided. This is a 16-bit integer value in host order. Each of the
|
||||||
|
eight values forming the full IP address must be specified
|
||||||
|
individually. This is the seventh of the 8-values. The default for
|
||||||
|
all eight values is fc00:0000:0000:0000:0000:0000:0000:0002.
|
||||||
|
|
||||||
|
config NSH_IPv6ADDR_8
|
||||||
|
hex "[7]"
|
||||||
|
default 0x0002
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
If NSH_DHCPC is NOT set, then the static IP address must be
|
||||||
|
provided. This is a 16-bit integer value in host order. Each of the
|
||||||
|
eight values forming the full IP address must be specified
|
||||||
|
individually. This is the last of the 8-values. The default for
|
||||||
|
all eight values is fc00:0000:0000:0000:0000:0000:0000:0002.
|
||||||
|
|
||||||
|
endif # !NSH_DHCPC
|
||||||
|
|
||||||
|
comment "Router IPv6 address"
|
||||||
|
|
||||||
|
config NSH_DRIPv6ADDR_1
|
||||||
|
hex "[0]"
|
||||||
|
default 0xfc00
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Default router IP address (aka, Gateway). This is a 16-bit integer
|
||||||
|
value in host order. Each of the eight values forming the full IP
|
||||||
|
address must be specified individually. This is the first of the
|
||||||
|
8-values. The default for all eight values is
|
||||||
|
fc00:0000:0000:0000:0000:0000:0000:0001.
|
||||||
|
|
||||||
|
config NSH_DRIPv6ADDR_2
|
||||||
|
hex "[1]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Default router IP address (aka, Gateway). This is a 16-bit integer
|
||||||
|
value in host order. Each of the eight values forming the full IP
|
||||||
|
address must be specified individually. This is the second of the
|
||||||
|
8-values. The default for all eight values is
|
||||||
|
fc00:0000:0000:0000:0000:0000:0000:0001.
|
||||||
|
|
||||||
|
config NSH_DRIPv6ADDR_3
|
||||||
|
hex "[2]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Default router IP address (aka, Gateway). This is a 16-bit integer
|
||||||
|
value in host order. Each of the eight values forming the full IP
|
||||||
|
address must be specified individually. This is the third of the
|
||||||
|
8-values. The default for all eight values is
|
||||||
|
fc00:0000:0000:0000:0000:0000:0000:0001.
|
||||||
|
|
||||||
|
config NSH_DRIPv6ADDR_4
|
||||||
|
hex "[3]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Default router IP address (aka, Gateway). This is a 16-bit integer
|
||||||
|
value in host order. Each of the eight values forming the full IP
|
||||||
|
address must be specified individually. This is the fourth of the
|
||||||
|
8-values. The default for all eight values is
|
||||||
|
fc00:0000:0000:0000:0000:0000:0000:0001.
|
||||||
|
|
||||||
|
config NSH_DRIPv6ADDR_5
|
||||||
|
hex "[4]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Default router IP address (aka, Gateway). This is a 16-bit integer
|
||||||
|
value in host order. Each of the eight values forming the full IP
|
||||||
|
address must be specified individually. This is the fifth of the
|
||||||
|
8-values. The default for all eight values is
|
||||||
|
fc00:0000:0000:0000:0000:0000:0000:0001.
|
||||||
|
|
||||||
|
config NSH_DRIPv6ADDR_6
|
||||||
|
hex "[5]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Default router IP address (aka, Gateway). This is a 16-bit integer
|
||||||
|
value in host order. Each of the eight values forming the full IP
|
||||||
|
address must be specified individually. This is the sixth of the
|
||||||
|
8-values. The default for all eight values is
|
||||||
|
fc00:0000:0000:0000:0000:0000:0000:0001.
|
||||||
|
|
||||||
|
config NSH_DRIPv6ADDR_7
|
||||||
|
hex "[6]"
|
||||||
|
default 0x0000
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Default router IP address (aka, Gateway). This is a 16-bit integer
|
||||||
|
value in host order. Each of the eight values forming the full IP
|
||||||
|
address must be specified individually. This is the seventh of the
|
||||||
|
8-values. The default for all eight values is
|
||||||
|
fc00:0000:0000:0000:0000:0000:0000:0001.
|
||||||
|
|
||||||
|
config NSH_DRIPv6ADDR_8
|
||||||
|
hex "[7]"
|
||||||
|
default 0x0001
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Default router IP address (aka, Gateway). This is a 16-bit integer
|
||||||
|
value in host order. Each of the eight values forming the full IP
|
||||||
|
address must be specified individually. This is the last of the
|
||||||
|
8-values. The default for all eight values is
|
||||||
|
fc00:0000:0000:0000:0000:0000:0000:0001.
|
||||||
|
|
||||||
|
comment "IPv6 Network mask"
|
||||||
|
|
||||||
|
config NSH_IPv6NETMASK_1
|
||||||
|
hex "[0]"
|
||||||
|
default 0xffff
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Network mask. This is a 16-bit integer value in host order. Each
|
||||||
|
of the eight values forming the full IP address must be specified
|
||||||
|
individually. This is the first of the 8-values. The default for
|
||||||
|
all eight values is ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff80.
|
||||||
|
|
||||||
|
config NSH_IPv6NETMASK_2
|
||||||
|
hex "[1]"
|
||||||
|
default 0xffff
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Network mask. This is a 16-bit integer value in host order. Each
|
||||||
|
of the eight values forming the full IP address must be specified
|
||||||
|
individually. This is the second of the 8-values. The default for
|
||||||
|
all eight values is ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff80.
|
||||||
|
|
||||||
|
config NSH_IPv6NETMASK_3
|
||||||
|
hex "[2]"
|
||||||
|
default 0xffff
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Network mask. This is a 16-bit integer value in host order. Each
|
||||||
|
of the eight values forming the full IP address must be specified
|
||||||
|
individually. This is the third of the 8-values. The default for
|
||||||
|
all eight values is ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff80.
|
||||||
|
|
||||||
|
config NSH_IPv6NETMASK_4
|
||||||
|
hex "[3]"
|
||||||
|
default 0xffff
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Network mask. This is a 16-bit integer value in host order. Each
|
||||||
|
of the eight values forming the full IP address must be specified
|
||||||
|
individually. This is the fourth of the 8-values. The default for
|
||||||
|
all eight values is ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff80.
|
||||||
|
|
||||||
|
config NSH_IPv6NETMASK_5
|
||||||
|
hex "[4]"
|
||||||
|
default 0xffff
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Network mask. This is a 16-bit integer value in host order. Each
|
||||||
|
of the eight values forming the full IP address must be specified
|
||||||
|
individually. This is the fifth of the 8-values. The default for
|
||||||
|
all eight values is ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff80.
|
||||||
|
|
||||||
|
config NSH_IPv6NETMASK_6
|
||||||
|
hex "[5]"
|
||||||
|
default 0xffff
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Network mask. This is a 16-bit integer value in host order. Each
|
||||||
|
of the eight values forming the full IP address must be specified
|
||||||
|
individually. This is the sixth of the 8-values. The default for
|
||||||
|
all eight values is ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff80.
|
||||||
|
|
||||||
|
config NSH_IPv6NETMASK_7
|
||||||
|
hex "[6]"
|
||||||
|
default 0xffff
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Network mask. This is a 16-bit integer value in host order. Each
|
||||||
|
of the eight values forming the full IP address must be specified
|
||||||
|
individually. This is the seventh of the 8-values. The default for
|
||||||
|
all eight values is ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff80.
|
||||||
|
|
||||||
|
config NSH_IPv6NETMASK_8
|
||||||
|
hex "[7]"
|
||||||
|
default 0xff80
|
||||||
|
range 0x0 0xffff
|
||||||
|
---help---
|
||||||
|
Network mask. This is a 16-bit integer value in host order. Each
|
||||||
|
of the eight values forming the full IP address must be specified
|
||||||
|
individually. This is the eighth of the 8-values. The default for
|
||||||
|
all eight values is ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff80.
|
||||||
|
|
||||||
|
endif #NET_IPv6
|
||||||
|
endmenu # IP Address Configuration
|
||||||
|
|
||||||
config NSH_DNS
|
config NSH_DNS
|
||||||
bool "Use DNS"
|
bool "Use DNS"
|
||||||
default n
|
default n
|
||||||
|
@ -131,6 +131,57 @@
|
|||||||
static sem_t g_notify_sem;
|
static sem_t g_notify_sem;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_NET_IPv6
|
||||||
|
/* Host IPv6 address */
|
||||||
|
|
||||||
|
#ifdef CONFIG_NSH_DHCPC
|
||||||
|
static const uint16_t g_ipv6_hostaddr[8] =
|
||||||
|
{
|
||||||
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||||
|
};
|
||||||
|
#else
|
||||||
|
static const uint16_t g_ipv6_hostaddr[8] =
|
||||||
|
{
|
||||||
|
HTONS(CONFIG_NSH_IPv6ADDR_1),
|
||||||
|
HTONS(CONFIG_NSH_IPv6ADDR_2),
|
||||||
|
HTONS(CONFIG_NSH_IPv6ADDR_3),
|
||||||
|
HTONS(CONFIG_NSH_IPv6ADDR_4),
|
||||||
|
HTONS(CONFIG_NSH_IPv6ADDR_5),
|
||||||
|
HTONS(CONFIG_NSH_IPv6ADDR_6),
|
||||||
|
HTONS(CONFIG_NSH_IPv6ADDR_7),
|
||||||
|
HTONS(CONFIG_NSH_IPv6ADDR_8),
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Default routine IPv6 address */
|
||||||
|
|
||||||
|
static const uint16_t g_ipv6_draddr[8] =
|
||||||
|
{
|
||||||
|
HTONS(CONFIG_NSH_DRIPv6ADDR_1),
|
||||||
|
HTONS(CONFIG_NSH_DRIPv6ADDR_2),
|
||||||
|
HTONS(CONFIG_NSH_DRIPv6ADDR_3),
|
||||||
|
HTONS(CONFIG_NSH_DRIPv6ADDR_4),
|
||||||
|
HTONS(CONFIG_NSH_DRIPv6ADDR_5),
|
||||||
|
HTONS(CONFIG_NSH_DRIPv6ADDR_6),
|
||||||
|
HTONS(CONFIG_NSH_DRIPv6ADDR_7),
|
||||||
|
HTONS(CONFIG_NSH_DRIPv6ADDR_8),
|
||||||
|
};
|
||||||
|
|
||||||
|
/* IPv6 netmask */
|
||||||
|
|
||||||
|
static const uint16_t g_ipv6_netmask[8] =
|
||||||
|
{
|
||||||
|
HTONS(CONFIG_NSH_IPv6NETMASK_1),
|
||||||
|
HTONS(CONFIG_NSH_IPv6NETMASK_2),
|
||||||
|
HTONS(CONFIG_NSH_IPv6NETMASK_3),
|
||||||
|
HTONS(CONFIG_NSH_IPv6NETMASK_4),
|
||||||
|
HTONS(CONFIG_NSH_IPv6NETMASK_5),
|
||||||
|
HTONS(CONFIG_NSH_IPv6NETMASK_6),
|
||||||
|
HTONS(CONFIG_NSH_IPv6NETMASK_7),
|
||||||
|
HTONS(CONFIG_NSH_IPv6NETMASK_8),
|
||||||
|
};
|
||||||
|
#endif /* CONFIG_NET_IPv6 */
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Function Prototypes
|
* Private Function Prototypes
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -206,7 +257,20 @@ static void nsh_netinit_configure(void)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_NET_IPv6
|
#ifdef CONFIG_NET_IPv6
|
||||||
# warning Missing logic
|
/* Set up our host address */
|
||||||
|
|
||||||
|
netlib_set_ipv6addr(NET_DEVNAME,
|
||||||
|
(FAR const struct in6_addr *)g_ipv6_hostaddr);
|
||||||
|
|
||||||
|
/* Set up the default router address */
|
||||||
|
|
||||||
|
netlib_set_dripv6addr(NET_DEVNAME,
|
||||||
|
(FAR const struct in6_addr *)g_ipv6_draddr);
|
||||||
|
|
||||||
|
/* Setup the subnet mask */
|
||||||
|
|
||||||
|
netlib_set_ipv6netmask(NET_DEVNAME,
|
||||||
|
(FAR const struct in6_addr *)g_ipv6_netmask);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_NSH_DHCPC) || defined(CONFIG_NSH_DNS)
|
#if defined(CONFIG_NSH_DHCPC) || defined(CONFIG_NSH_DNS)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user