# ====================================================================
|
# ====================================================================
|
#
|
#
|
# net.cdl
|
# net.cdl
|
#
|
#
|
# Networking configuration data
|
# Networking configuration data
|
#
|
#
|
# ====================================================================
|
# ====================================================================
|
#####ECOSPDCOPYRIGHTBEGIN####
|
#####ECOSPDCOPYRIGHTBEGIN####
|
#
|
#
|
# Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
# Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
# All Rights Reserved.
|
# All Rights Reserved.
|
#
|
#
|
# Permission is granted to use, copy, modify and redistribute this
|
# Permission is granted to use, copy, modify and redistribute this
|
# file.
|
# file.
|
#
|
#
|
#####ECOSPDCOPYRIGHTEND####
|
#####ECOSPDCOPYRIGHTEND####
|
# ====================================================================
|
# ====================================================================
|
######DESCRIPTIONBEGIN####
|
######DESCRIPTIONBEGIN####
|
#
|
#
|
# Author(s): gthomas
|
# Author(s): gthomas
|
# Original data: gthomas
|
# Original data: gthomas
|
# Contributors:
|
# Contributors:
|
# Date: 1999-11-29
|
# Date: 1999-11-29
|
#
|
#
|
#####DESCRIPTIONEND####
|
#####DESCRIPTIONEND####
|
#
|
#
|
# ====================================================================
|
# ====================================================================
|
|
|
cdl_package CYGPKG_NET {
|
cdl_package CYGPKG_NET {
|
display "Basic networking framework"
|
display "Basic networking framework"
|
doc ref/net-common-tcpip.html
|
doc ref/net-common-tcpip.html
|
include_dir .
|
include_dir .
|
requires CYGPKG_IO
|
requires CYGPKG_IO
|
requires CYGPKG_ISOINFRA
|
requires CYGPKG_ISOINFRA
|
requires CYGINT_ISO_C_TIME_TYPES
|
requires CYGINT_ISO_C_TIME_TYPES
|
requires CYGINT_ISO_STRERROR
|
requires CYGINT_ISO_STRERROR
|
requires CYGINT_ISO_ERRNO
|
requires CYGINT_ISO_ERRNO
|
requires CYGINT_ISO_ERRNO_CODES
|
requires CYGINT_ISO_ERRNO_CODES
|
requires CYGINT_ISO_MALLOC
|
requires CYGINT_ISO_MALLOC
|
requires CYGINT_ISO_STRING_BSD_FUNCS
|
requires CYGINT_ISO_STRING_BSD_FUNCS
|
description "Basic networking support, including TCP/IP."
|
description "Basic networking support, including TCP/IP."
|
|
|
cdl_interface CYGPKG_NET_DRIVER_FRAMEWORK {
|
cdl_interface CYGPKG_NET_DRIVER_FRAMEWORK {
|
display "Suitable driver framework interface, used by network package"
|
display "Suitable driver framework interface, used by network package"
|
description "
|
description "
|
In order to decouple the network stack from driver specifics, the
|
In order to decouple the network stack from driver specifics, the
|
driver framework must be defined in a separate package."
|
driver framework must be defined in a separate package."
|
}
|
}
|
|
|
# Commonly exported infrastructure
|
# Commonly exported infrastructure
|
implements CYGINT_ISO_NETDB_PROTO
|
implements CYGINT_ISO_NETDB_PROTO
|
implements CYGINT_ISO_NETDB_SERV
|
implements CYGINT_ISO_NETDB_SERV
|
requires { CYGBLD_ISO_NETDB_PROTO_HEADER == "" }
|
requires { CYGBLD_ISO_NETDB_PROTO_HEADER == "" }
|
requires { CYGBLD_ISO_NETDB_SERV_HEADER == "" }
|
requires { CYGBLD_ISO_NETDB_SERV_HEADER == "" }
|
|
|
cdl_interface CYGPKG_NET_STACK {
|
cdl_interface CYGPKG_NET_STACK {
|
display "Suitable network stack implementation, used by network package"
|
display "Suitable network stack implementation, used by network package"
|
description "
|
description "
|
In order to decouple the network support from most stack specifics, the
|
In order to decouple the network support from most stack specifics, the
|
actual stack implementation must be defined in a separate package."
|
actual stack implementation must be defined in a separate package."
|
}
|
}
|
requires { CYGPKG_NET_STACK == 1 }
|
requires { CYGPKG_NET_STACK == 1 }
|
define_proc {
|
define_proc {
|
puts $::cdl_header "#include "
|
puts $::cdl_header "#include "
|
puts $::cdl_header "#include CYGDAT_NET_STACK_CFG"
|
puts $::cdl_header "#include CYGDAT_NET_STACK_CFG"
|
}
|
}
|
|
|
cdl_interface CYGPKG_NET_STACK_INET {
|
cdl_interface CYGPKG_NET_STACK_INET {
|
display "Network stack support for IPv4"
|
display "Network stack support for IPv4"
|
}
|
}
|
cdl_interface CYGPKG_NET_STACK_INET6 {
|
cdl_interface CYGPKG_NET_STACK_INET6 {
|
display "Network stack support for IPv6"
|
display "Network stack support for IPv6"
|
}
|
}
|
|
|
cdl_component CYGPKG_NET_INET {
|
cdl_component CYGPKG_NET_INET {
|
display "INET support"
|
display "INET support"
|
active_if CYGPKG_NET_STACK_INET
|
active_if CYGPKG_NET_STACK_INET
|
flavor bool
|
flavor bool
|
no_define
|
no_define
|
default_value 1
|
default_value 1
|
description "
|
description "
|
This option enables support for INET (IP) network processing."
|
This option enables support for INET (IP) network processing."
|
define INET
|
define INET
|
compile \
|
compile \
|
inet_addr.c \
|
inet_addr.c \
|
inet_ntoa.c \
|
inet_ntoa.c \
|
inet_ntop.c \
|
inet_ntop.c \
|
inet_pton.c \
|
inet_pton.c \
|
bootp_support.c \
|
bootp_support.c \
|
dhcp_support.c \
|
dhcp_support.c \
|
dhcp_prot.c \
|
dhcp_prot.c \
|
network_support.c \
|
network_support.c \
|
getproto.c \
|
getproto.c \
|
getserv.c
|
getserv.c
|
compile getaddrinfo.c \
|
compile getaddrinfo.c \
|
ifaddrs.c
|
ifaddrs.c
|
|
|
cdl_option CYGPKG_NET_INET6 {
|
cdl_option CYGPKG_NET_INET6 {
|
display "IPv6 support"
|
display "IPv6 support"
|
active_if CYGPKG_NET_STACK_INET6
|
active_if CYGPKG_NET_STACK_INET6
|
requires CYGINT_IO_ETH_MULTICAST
|
requires CYGINT_IO_ETH_MULTICAST
|
flavor bool
|
flavor bool
|
default_value 0
|
default_value 0
|
description "
|
description "
|
This option enables support for IPv6 networks."
|
This option enables support for IPv6 networks."
|
define INET6
|
define INET6
|
}
|
}
|
|
|
cdl_option CYGSEM_NET_ROUTING {
|
cdl_option CYGSEM_NET_ROUTING {
|
display "Multicast routing support"
|
display "Multicast routing support"
|
flavor bool
|
flavor bool
|
no_define
|
no_define
|
default_value 0
|
default_value 0
|
description "
|
description "
|
This option enables support for packet routing."
|
This option enables support for packet routing."
|
define MROUTING
|
define MROUTING
|
}
|
}
|
|
|
cdl_option CYGSEM_NET_RANDOMID {
|
cdl_option CYGSEM_NET_RANDOMID {
|
display "Use random sequence for IP packet identifiers"
|
display "Use random sequence for IP packet identifiers"
|
flavor bool
|
flavor bool
|
no_define
|
no_define
|
default_value 0
|
default_value 0
|
description "
|
description "
|
This option enables the use of random IP packet sequence
|
This option enables the use of random IP packet sequence
|
identifiers, rather than a purely sequential sequence. It is
|
identifiers, rather than a purely sequential sequence. It is
|
believed that use of random identifiers improves security, at
|
believed that use of random identifiers improves security, at
|
a fairly substantial computational overhead."
|
a fairly substantial computational overhead."
|
define RANDOM_IP_ID
|
define RANDOM_IP_ID
|
}
|
}
|
|
|
}
|
}
|
|
|
cdl_component CYGPKG_NET_TFTP {
|
cdl_component CYGPKG_NET_TFTP {
|
display "TFTP (RFC-1350) support"
|
display "TFTP (RFC-1350) support"
|
requires CYGPKG_NET_INET
|
requires CYGPKG_NET_INET
|
flavor bool
|
flavor bool
|
default_value 1
|
default_value 1
|
compile tftp_client.c \
|
compile tftp_client.c \
|
tftp_server.c
|
tftp_server.c
|
description "
|
description "
|
This option provides additional library support for
|
This option provides additional library support for
|
the TFTP (Trivial File Transfer Protocol)."
|
the TFTP (Trivial File Transfer Protocol)."
|
|
|
cdl_option CYGPKG_NET_TFTPD_THREAD_PRIORITY {
|
cdl_option CYGPKG_NET_TFTPD_THREAD_PRIORITY {
|
display "Priority level for TFTP daemon thread."
|
display "Priority level for TFTP daemon thread."
|
flavor data
|
flavor data
|
default_value 10
|
default_value 10
|
description "
|
description "
|
This option allows the thread priority level used by the
|
This option allows the thread priority level used by the
|
TFTP server thread to be adjusted by the user. It should be set
|
TFTP server thread to be adjusted by the user. It should be set
|
high enough that sufficient CPU resources are available to
|
high enough that sufficient CPU resources are available to
|
process network data, but may be adjusted so that application
|
process network data, but may be adjusted so that application
|
threads can have precedence over TFTP server processing."
|
threads can have precedence over TFTP server processing."
|
}
|
}
|
|
|
cdl_option CYGPKG_NET_TFTP_FILE_ACCESS {
|
cdl_option CYGPKG_NET_TFTP_FILE_ACCESS {
|
display "File I/O functions for TFTP server"
|
display "File I/O functions for TFTP server"
|
flavor bool
|
flavor bool
|
default_value 1
|
default_value 1
|
compile tftp_dummy_file.c
|
compile tftp_dummy_file.c
|
description "
|
description "
|
Minimal in-memory file I/O support for TFTP server."
|
Minimal in-memory file I/O support for TFTP server."
|
}
|
}
|
}
|
}
|
|
|
cdl_component CYGPKG_NET_DHCP {
|
cdl_component CYGPKG_NET_DHCP {
|
display "Use full DHCP instead of BOOTP"
|
display "Use full DHCP instead of BOOTP"
|
requires CYGPKG_NET_INET
|
requires CYGPKG_NET_INET
|
active_if (CYGHWR_NET_DRIVERS > 0)
|
active_if (CYGHWR_NET_DRIVERS > 0)
|
flavor bool
|
flavor bool
|
default_value 1
|
default_value 1
|
description "
|
description "
|
Provide DHCP for initializing the IP address
|
Provide DHCP for initializing the IP address
|
of network interfaces. The DHCP client is capable of falling
|
of network interfaces. The DHCP client is capable of falling
|
back to BOOTP usage if the server does not support DHCP, so it
|
back to BOOTP usage if the server does not support DHCP, so it
|
should never be necessary to disable this option. However,
|
should never be necessary to disable this option. However,
|
depending on other configuration the DHCP client may provide or
|
depending on other configuration the DHCP client may provide or
|
require a kernel thread of its own; this consumes quite a lot
|
require a kernel thread of its own; this consumes quite a lot
|
of resource which a BOOTP solution does not require."
|
of resource which a BOOTP solution does not require."
|
|
|
cdl_option CYGOPT_NET_DHCP_DHCP_THREAD {
|
cdl_option CYGOPT_NET_DHCP_DHCP_THREAD {
|
display "DHCP management thread"
|
display "DHCP management thread"
|
flavor bool
|
flavor bool
|
default_value 1
|
default_value 1
|
description "
|
description "
|
Provide a separate thread to renew DHCP leases; otherwise
|
Provide a separate thread to renew DHCP leases; otherwise
|
the application MUST periodically examine the semaphore
|
the application MUST periodically examine the semaphore
|
dhcp_needs_attention and call dhcp_bind() if it is
|
dhcp_needs_attention and call dhcp_bind() if it is
|
signalled. If enabled, this thread does all that for you.
|
signalled. If enabled, this thread does all that for you.
|
Independent of this option, initialization of the
|
Independent of this option, initialization of the
|
interfaces still occurs in init_all_network_interfaces()
|
interfaces still occurs in init_all_network_interfaces()
|
and your startup code must call that. It will start the
|
and your startup code must call that. It will start the
|
DHCP management thread if necessary. If a lease fails to
|
DHCP management thread if necessary. If a lease fails to
|
be renewed, the management thread will shut down all
|
be renewed, the management thread will shut down all
|
interfaces and attempt to initialize all the interfaces
|
interfaces and attempt to initialize all the interfaces
|
again from scratch. This may cause application problems,
|
again from scratch. This may cause application problems,
|
in which case managing the DHCP state in an application
|
in which case managing the DHCP state in an application
|
aware thread is recommended. See comments in dhcp.h"
|
aware thread is recommended. See comments in dhcp.h"
|
}
|
}
|
|
|
cdl_option CYGOPT_NET_DHCP_DHCP_THREAD_PARAM {
|
cdl_option CYGOPT_NET_DHCP_DHCP_THREAD_PARAM {
|
display "DHCP management thread loops forever"
|
display "DHCP management thread loops forever"
|
flavor data
|
flavor data
|
default_value 1
|
default_value 1
|
active_if CYGOPT_NET_DHCP_DHCP_THREAD
|
active_if CYGOPT_NET_DHCP_DHCP_THREAD
|
description "
|
description "
|
If the parameter is nonzero, it loops forever; if zero,
|
If the parameter is nonzero, it loops forever; if zero,
|
the thread exits if a lease expires, and the application
|
the thread exits if a lease expires, and the application
|
must detect this and tidy up or reboot the whole machine."
|
must detect this and tidy up or reboot the whole machine."
|
}
|
}
|
|
|
cdl_option CYGPKG_NET_DHCP_THREAD_PRIORITY {
|
cdl_option CYGPKG_NET_DHCP_THREAD_PRIORITY {
|
display "DHCP management thread priority"
|
display "DHCP management thread priority"
|
flavor data
|
flavor data
|
default_value CYGPKG_NET_THREAD_PRIORITY + 1
|
default_value CYGPKG_NET_THREAD_PRIORITY + 1
|
active_if CYGOPT_NET_DHCP_DHCP_THREAD
|
active_if CYGOPT_NET_DHCP_DHCP_THREAD
|
description "
|
description "
|
This option sets the thread priority level used by the DHCP
|
This option sets the thread priority level used by the DHCP
|
management thread. It should be high enough that it can run
|
management thread. It should be high enough that it can run
|
when necessary, but it does not need to be as high as the
|
when necessary, but it does not need to be as high as the
|
network thread itself."
|
network thread itself."
|
}
|
}
|
}
|
}
|
|
|
cdl_component CYGPKG_NET_IPV6_ROUTING {
|
cdl_component CYGPKG_NET_IPV6_ROUTING {
|
display "Options controlling IPv6 routing"
|
display "Options controlling IPv6 routing"
|
active_if CYGPKG_NET_INET6
|
active_if CYGPKG_NET_INET6
|
flavor bool
|
flavor bool
|
default_value 1
|
default_value 1
|
description "
|
description "
|
Various options which control how routing is done for the
|
Various options which control how routing is done for the
|
IPv6 enabled interfaces."
|
IPv6 enabled interfaces."
|
|
|
cdl_component CYGOPT_NET_IPV6_ROUTING_THREAD {
|
cdl_component CYGOPT_NET_IPV6_ROUTING_THREAD {
|
display "Thread for IPv6 routing"
|
display "Thread for IPv6 routing"
|
flavor bool
|
flavor bool
|
default_value 1
|
default_value 1
|
description "
|
description "
|
Provide a separate thread to send router solicitation
|
Provide a separate thread to send router solicitation
|
messages."
|
messages."
|
|
|
compile ipv6_routing_thread.c
|
compile ipv6_routing_thread.c
|
|
|
cdl_option CYGINT_NET_IPV6_ROUTING_THREAD_PRIORITY {
|
cdl_option CYGINT_NET_IPV6_ROUTING_THREAD_PRIORITY {
|
display "IPv6 routing thread priority"
|
display "IPv6 routing thread priority"
|
flavor data
|
flavor data
|
default_value CYGPKG_NET_THREAD_PRIORITY + 1
|
default_value CYGPKG_NET_THREAD_PRIORITY + 1
|
description "
|
description "
|
This option sets the thread priority level used by the IPv6
|
This option sets the thread priority level used by the IPv6
|
routing thread. It should be high enough that it can run
|
routing thread. It should be high enough that it can run
|
when necessary, but it does not need to be as high as the
|
when necessary, but it does not need to be as high as the
|
network thread itself."
|
network thread itself."
|
}
|
}
|
|
|
cdl_option CYGINT_NET_IPV6_ROUTING_THREAD_PERIOD {
|
cdl_option CYGINT_NET_IPV6_ROUTING_THREAD_PERIOD {
|
display "IPv6 routing thread rate"
|
display "IPv6 routing thread rate"
|
flavor data
|
flavor data
|
default_value 5*60
|
default_value 5*60
|
description "
|
description "
|
This option sets the rate at which router solicitations will
|
This option sets the rate at which router solicitations will
|
be sent out by the routing thread (in seconds)."
|
be sent out by the routing thread (in seconds)."
|
}
|
}
|
}
|
}
|
}
|
}
|
|
|
cdl_component CYGPKG_NET_DEBUG {
|
cdl_component CYGPKG_NET_DEBUG {
|
display "Debug output"
|
display "Debug output"
|
default_value 0
|
default_value 0
|
description "
|
description "
|
This component controls whether there is diagnostic output
|
This component controls whether there is diagnostic output
|
for stack operations. Options within this component allow
|
for stack operations. Options within this component allow
|
even more verbose output for certain areas."
|
even more verbose output for certain areas."
|
|
|
cdl_option CYGDBG_NET_DHCP_CHATTER {
|
cdl_option CYGDBG_NET_DHCP_CHATTER {
|
display "Extra debug output for DHCP"
|
display "Extra debug output for DHCP"
|
default_value 0
|
default_value 0
|
}
|
}
|
}
|
}
|
|
|
cdl_option CYGDBG_NET_TIMING_STATS {
|
cdl_option CYGDBG_NET_TIMING_STATS {
|
display "Network timing statistics"
|
display "Network timing statistics"
|
default_value 0
|
default_value 0
|
description "
|
description "
|
This component controls whether there is diagnostic
|
This component controls whether there is diagnostic
|
information about how long memcpy, malloc, mbuf_alloc
|
information about how long memcpy, malloc, mbuf_alloc
|
etc take to perform."
|
etc take to perform."
|
}
|
}
|
|
|
cdl_component CYGPKG_NET_OPTIONS {
|
cdl_component CYGPKG_NET_OPTIONS {
|
display "Networking support build options"
|
display "Networking support build options"
|
flavor none
|
flavor none
|
no_define
|
no_define
|
|
|
cdl_option CYGPKG_NET_CFLAGS_ADD {
|
cdl_option CYGPKG_NET_CFLAGS_ADD {
|
display "Additional compiler flags"
|
display "Additional compiler flags"
|
flavor data
|
flavor data
|
no_define
|
no_define
|
default_value { "-D_KERNEL -D__ECOS -D__INSIDE_NET" }
|
default_value { "-D_KERNEL -D__ECOS -D__INSIDE_NET" }
|
description "
|
description "
|
This option modifies the set of compiler flags for
|
This option modifies the set of compiler flags for
|
building the networking package.
|
building the networking package.
|
These flags are used in addition
|
These flags are used in addition
|
to the set of global flags."
|
to the set of global flags."
|
}
|
}
|
|
|
cdl_option CYGPKG_NET_CFLAGS_REMOVE {
|
cdl_option CYGPKG_NET_CFLAGS_REMOVE {
|
display "Suppressed compiler flags"
|
display "Suppressed compiler flags"
|
flavor data
|
flavor data
|
no_define
|
no_define
|
default_value { "" }
|
default_value { "" }
|
description "
|
description "
|
This option modifies the set of compiler flags for
|
This option modifies the set of compiler flags for
|
building the networking package. These flags are removed from
|
building the networking package. These flags are removed from
|
the set of global flags if present."
|
the set of global flags if present."
|
}
|
}
|
}
|
}
|
|
|
cdl_component CYGPKG_NET_BUILD_TESTS {
|
cdl_component CYGPKG_NET_BUILD_TESTS {
|
display "Testing options"
|
display "Testing options"
|
flavor none
|
flavor none
|
no_define
|
no_define
|
description "
|
description "
|
This component contains options related to testing the network
|
This component contains options related to testing the network
|
stack."
|
stack."
|
|
|
cdl_option CYGPKG_NET_BUILD_HW_TESTS {
|
cdl_option CYGPKG_NET_BUILD_HW_TESTS {
|
display "Build hardware networking tests (demo programs)"
|
display "Build hardware networking tests (demo programs)"
|
flavor bool
|
flavor bool
|
no_define
|
no_define
|
requires { CYGHWR_NET_DRIVER_ETH0_SETUP || CYGHWR_NET_DRIVER_ETH1_SETUP }
|
requires { CYGHWR_NET_DRIVER_ETH0_SETUP || CYGHWR_NET_DRIVER_ETH1_SETUP }
|
default_value 0
|
default_value 0
|
description "
|
description "
|
This option enables the building of additional network tests
|
This option enables the building of additional network tests
|
that use real ethernet devices. At this time these are just
|
that use real ethernet devices. At this time these are just
|
demos. With this option disabled, only loopback
|
demos. With this option disabled, only loopback
|
interface tests will be built."
|
interface tests will be built."
|
}
|
}
|
|
|
cdl_option CYGPKG_NET_TESTS {
|
cdl_option CYGPKG_NET_TESTS {
|
display "Networking tests"
|
display "Networking tests"
|
flavor data
|
flavor data
|
no_define
|
no_define
|
calculated { CYGPKG_NET_BUILD_HW_TESTS ? \
|
calculated { CYGPKG_NET_BUILD_HW_TESTS ? \
|
"tests/mbuf_test \
|
"tests/mbuf_test \
|
tests/socket_test \
|
tests/socket_test \
|
tests/ftp_test \
|
tests/ftp_test \
|
tests/server_test \
|
tests/server_test \
|
tests/nc_test_slave \
|
tests/nc_test_slave \
|
tests/tftp_client_test \
|
tests/tftp_client_test \
|
tests/tftp_server_test \
|
tests/tftp_server_test \
|
tests/tcp_echo \
|
tests/tcp_echo \
|
tests/set_mac_address \
|
tests/set_mac_address \
|
tests/bridge \
|
tests/bridge \
|
tests/flood \
|
tests/flood \
|
tests/ping_test \
|
tests/ping_test \
|
tests/dhcp_test \
|
tests/dhcp_test \
|
tests/dhcp_test2 \
|
tests/dhcp_test2 \
|
tests/ping_lo_test \
|
tests/ping_lo_test \
|
tests/tcp_lo_test \
|
tests/tcp_lo_test \
|
tests/udp_lo_test \
|
tests/udp_lo_test \
|
tests/multi_lo_select \
|
tests/multi_lo_select \
|
tests/tcp_lo_select"
|
tests/tcp_lo_select"
|
:
|
:
|
"tests/ping_lo_test \
|
"tests/ping_lo_test \
|
tests/tcp_lo_test \
|
tests/tcp_lo_test \
|
tests/udp_lo_test \
|
tests/udp_lo_test \
|
tests/multi_lo_select \
|
tests/multi_lo_select \
|
tests/tcp_lo_select"
|
tests/tcp_lo_select"
|
}
|
}
|
description "
|
description "
|
This option specifies the set of tests
|
This option specifies the set of tests
|
for the networking package."
|
for the networking package."
|
}
|
}
|
|
|
cdl_option CYGPKG_NET_TESTS_USE_RT_TEST_HARNESS {
|
cdl_option CYGPKG_NET_TESTS_USE_RT_TEST_HARNESS {
|
display "Use real-time response test harness (if available)"
|
display "Use real-time response test harness (if available)"
|
default_value 0
|
default_value 0
|
description "
|
description "
|
Platform and/or ethernet device driver packages may
|
Platform and/or ethernet device driver packages may
|
provide a test harness to verify that interrupts are
|
provide a test harness to verify that interrupts are
|
not disabled or flooded for too long during a test. If
|
not disabled or flooded for too long during a test. If
|
such is provided, CYGTST_DEVS_ETH_TEST_NET_REALTIME is
|
such is provided, CYGTST_DEVS_ETH_TEST_NET_REALTIME is
|
defined and can be #include'd to acquire the support.
|
defined and can be #include'd to acquire the support.
|
Some tests in the TCP/IP stack can use this harness;
|
Some tests in the TCP/IP stack can use this harness;
|
this option controls whether they do. The StrongARM
|
this option controls whether they do. The StrongARM
|
EBSA285 Ethernet device driver is one package that
|
EBSA285 Ethernet device driver is one package that
|
provides such a harness. See the file
|
provides such a harness. See the file
|
tests/test_net_realtime.h in there for details."
|
tests/test_net_realtime.h in there for details."
|
}
|
}
|
}
|
}
|
|
|
# Description and control over different interfaces
|
# Description and control over different interfaces
|
|
|
cdl_interface CYGHWR_NET_DRIVERS {
|
cdl_interface CYGHWR_NET_DRIVERS {
|
display "Network drivers"
|
display "Network drivers"
|
}
|
}
|
|
|
cdl_interface CYGHWR_NET_DRIVER_ETH0 {
|
cdl_interface CYGHWR_NET_DRIVER_ETH0 {
|
display "Does the hardware provide an 'eth0' device?"
|
display "Does the hardware provide an 'eth0' device?"
|
requires { CYGHWR_NET_DRIVER_ETH0 <= 1 }
|
requires { CYGHWR_NET_DRIVER_ETH0 <= 1 }
|
flavor bool
|
flavor bool
|
}
|
}
|
|
|
cdl_component CYGHWR_NET_DRIVER_ETH0_SETUP_OPTIONS {
|
cdl_component CYGHWR_NET_DRIVER_ETH0_SETUP_OPTIONS {
|
display "Initialization options for 'eth0'"
|
display "Initialization options for 'eth0'"
|
active_if (CYGHWR_NET_DRIVER_ETH0 == 1)
|
active_if (CYGHWR_NET_DRIVER_ETH0 == 1)
|
flavor none
|
flavor none
|
no_define
|
no_define
|
|
|
cdl_interface CYGHWR_NET_DRIVER_ETH0_SETUP {
|
cdl_interface CYGHWR_NET_DRIVER_ETH0_SETUP {
|
display "Initialization options for 'eth0'"
|
display "Initialization options for 'eth0'"
|
requires 1 == CYGHWR_NET_DRIVER_ETH0_SETUP
|
requires 1 == CYGHWR_NET_DRIVER_ETH0_SETUP
|
no_define
|
no_define
|
}
|
}
|
|
|
cdl_component CYGHWR_NET_DRIVER_ETH0_MANUAL {
|
cdl_component CYGHWR_NET_DRIVER_ETH0_MANUAL {
|
display "Initialize 'eth0' manually?"
|
display "Initialize 'eth0' manually?"
|
default_value 0
|
default_value 0
|
implements CYGHWR_NET_DRIVER_ETH0_SETUP
|
implements CYGHWR_NET_DRIVER_ETH0_SETUP
|
description "
|
description "
|
If this option is selected, the eCos library provides no
|
If this option is selected, the eCos library provides no
|
initialization code for this interface; you must perform
|
initialization code for this interface; you must perform
|
all the initialization in the application, by means of
|
all the initialization in the application, by means of
|
appropriate ioctl() calls, or by calling init_net() with an
|
appropriate ioctl() calls, or by calling init_net() with an
|
appropriate bootp record you have constructed yourself."
|
appropriate bootp record you have constructed yourself."
|
}
|
}
|
|
|
cdl_component CYGHWR_NET_DRIVER_ETH0_BOOTP {
|
cdl_component CYGHWR_NET_DRIVER_ETH0_BOOTP {
|
display "Use BOOTP/DHCP to initialize 'eth0'?"
|
display "Use BOOTP/DHCP to initialize 'eth0'?"
|
default_value 1
|
default_value 1
|
implements CYGHWR_NET_DRIVER_ETH0_SETUP
|
implements CYGHWR_NET_DRIVER_ETH0_SETUP
|
description "
|
description "
|
If this option is selected, init_all_network_interfaces()
|
If this option is selected, init_all_network_interfaces()
|
will use DHCP or BOOTP to acquire initialization data for
|
will use DHCP or BOOTP to acquire initialization data for
|
this interface, and then set it up accordingly."
|
this interface, and then set it up accordingly."
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH0_DHCP {
|
cdl_option CYGHWR_NET_DRIVER_ETH0_DHCP {
|
display "Use DHCP rather than BOOTP for 'eth0'?"
|
display "Use DHCP rather than BOOTP for 'eth0'?"
|
flavor bool
|
flavor bool
|
default_value 1
|
default_value 1
|
active_if CYGPKG_NET_DHCP
|
active_if CYGPKG_NET_DHCP
|
}
|
}
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH0_BOOTP_SHOW {
|
cdl_option CYGHWR_NET_DRIVER_ETH0_BOOTP_SHOW {
|
display "Show BOOTP/DHCP initialization values?"
|
display "Show BOOTP/DHCP initialization values?"
|
flavor bool
|
flavor bool
|
default_value 1
|
default_value 1
|
}
|
}
|
}
|
}
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH0_IPV6_PREFIX {
|
cdl_option CYGHWR_NET_DRIVER_ETH0_IPV6_PREFIX {
|
display "Static IPv6 address prefix for 'eth0'"
|
display "Static IPv6 address prefix for 'eth0'"
|
flavor booldata
|
flavor booldata
|
active_if CYGPKG_NET_INET6
|
active_if CYGPKG_NET_INET6
|
default_value { "3ffe:302:11:2" }
|
default_value { "3ffe:302:11:2" }
|
description "
|
description "
|
This option allows a specific, static address prefix to be set
|
This option allows a specific, static address prefix to be set
|
for an interface running IPv6. When used, the lower 64 bits
|
for an interface running IPv6. When used, the lower 64 bits
|
of the address will be set to the IPv4 IP address. Note: this
|
of the address will be set to the IPv4 IP address. Note: this
|
should not be confused with the standard IPv4->IPv6 mapped
|
should not be confused with the standard IPv4->IPv6 mapped
|
addresses, but rather just a simple way to assign addresses
|
addresses, but rather just a simple way to assign addresses
|
to nodes within an IPv6 network."
|
to nodes within an IPv6 network."
|
}
|
}
|
|
|
cdl_component CYGHWR_NET_DRIVER_ETH0_ADDRS {
|
cdl_component CYGHWR_NET_DRIVER_ETH0_ADDRS {
|
display "Address setups for 'eth0'"
|
display "Address setups for 'eth0'"
|
implements CYGHWR_NET_DRIVER_ETH0_SETUP
|
implements CYGHWR_NET_DRIVER_ETH0_SETUP
|
no_define
|
no_define
|
|
|
description "
|
description "
|
These options let you configure all the initialization data
|
These options let you configure all the initialization data
|
that init_all_network_interfaces() will use
|
that init_all_network_interfaces() will use
|
for 'eth0' statically. Be careful when doing this, because
|
for 'eth0' statically. Be careful when doing this, because
|
if you run the same application image on multiple boards,
|
if you run the same application image on multiple boards,
|
they will have identical IP addresses and so on; this is a
|
they will have identical IP addresses and so on; this is a
|
Bad Thing.
|
Bad Thing.
|
The values you set are inserted in a bootp-style record
|
The values you set are inserted in a bootp-style record
|
that is fed into a common setup routine to configure the
|
that is fed into a common setup routine to configure the
|
interface. That routine does not in fact use the 'Server
|
interface. That routine does not in fact use the 'Server
|
IP address' field.
|
IP address' field.
|
The bootp record is also available to application code, and
|
The bootp record is also available to application code, and
|
some eCos networking test programs use the 'Server IP
|
some eCos networking test programs use the 'Server IP
|
address' field to mean 'a machine we can interact with' for
|
address' field to mean 'a machine we can interact with' for
|
example to ping or perform ftp with. That is the rationale
|
example to ping or perform ftp with. That is the rationale
|
for its inclusion here.
|
for its inclusion here.
|
The gateway address is used to set up a default route if
|
The gateway address is used to set up a default route if
|
nonzero. If you have more than one interface, setting up
|
nonzero. If you have more than one interface, setting up
|
more than one default route is will cause malfunctions. A
|
more than one default route is will cause malfunctions. A
|
gateway address of 0.0.0.0 can be set to prevent that route
|
gateway address of 0.0.0.0 can be set to prevent that route
|
setup. Of course, your application can add real routes
|
setup. Of course, your application can add real routes
|
once the interface(s) initialization is complete."
|
once the interface(s) initialization is complete."
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH0_ADDRS_IP {
|
cdl_option CYGHWR_NET_DRIVER_ETH0_ADDRS_IP {
|
display "IP address for 'eth0'"
|
display "IP address for 'eth0'"
|
flavor data
|
flavor data
|
default_value { "192.168.1.2" }
|
default_value { "192.168.1.2" }
|
}
|
}
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH0_ADDRS_NETMASK {
|
cdl_option CYGHWR_NET_DRIVER_ETH0_ADDRS_NETMASK {
|
display "Network mask address for 'eth0'"
|
display "Network mask address for 'eth0'"
|
flavor data
|
flavor data
|
default_value { "255.255.255.0" }
|
default_value { "255.255.255.0" }
|
}
|
}
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH0_ADDRS_BROADCAST {
|
cdl_option CYGHWR_NET_DRIVER_ETH0_ADDRS_BROADCAST {
|
display "Broadcast address for 'eth0'"
|
display "Broadcast address for 'eth0'"
|
flavor data
|
flavor data
|
default_value { "192.168.1.255" }
|
default_value { "192.168.1.255" }
|
}
|
}
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH0_ADDRS_GATEWAY {
|
cdl_option CYGHWR_NET_DRIVER_ETH0_ADDRS_GATEWAY {
|
display "Gateway/router IP address for 'eth0'"
|
display "Gateway/router IP address for 'eth0'"
|
flavor data
|
flavor data
|
default_value { "192.168.1.1" }
|
default_value { "192.168.1.1" }
|
}
|
}
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH0_ADDRS_SERVER {
|
cdl_option CYGHWR_NET_DRIVER_ETH0_ADDRS_SERVER {
|
display "Server IP address for 'eth0'"
|
display "Server IP address for 'eth0'"
|
flavor data
|
flavor data
|
default_value { "192.168.1.101" }
|
default_value { "192.168.1.101" }
|
}
|
}
|
}
|
}
|
}
|
}
|
|
|
cdl_interface CYGHWR_NET_DRIVER_ETH1 {
|
cdl_interface CYGHWR_NET_DRIVER_ETH1 {
|
display "Does the hardware provide an 'eth1' device?"
|
display "Does the hardware provide an 'eth1' device?"
|
requires { CYGHWR_NET_DRIVER_ETH1 <= 1 }
|
requires { CYGHWR_NET_DRIVER_ETH1 <= 1 }
|
flavor bool
|
flavor bool
|
}
|
}
|
|
|
cdl_component CYGHWR_NET_DRIVER_ETH1_SETUP_OPTIONS {
|
cdl_component CYGHWR_NET_DRIVER_ETH1_SETUP_OPTIONS {
|
display "Initialization options for 'eth1'"
|
display "Initialization options for 'eth1'"
|
active_if (CYGHWR_NET_DRIVER_ETH1 == 1)
|
active_if (CYGHWR_NET_DRIVER_ETH1 == 1)
|
flavor none
|
flavor none
|
no_define
|
no_define
|
|
|
cdl_interface CYGHWR_NET_DRIVER_ETH1_SETUP {
|
cdl_interface CYGHWR_NET_DRIVER_ETH1_SETUP {
|
display "Initialization options for 'eth1'"
|
display "Initialization options for 'eth1'"
|
requires 1 == CYGHWR_NET_DRIVER_ETH1_SETUP
|
requires 1 == CYGHWR_NET_DRIVER_ETH1_SETUP
|
no_define
|
no_define
|
}
|
}
|
|
|
cdl_component CYGHWR_NET_DRIVER_ETH1_MANUAL {
|
cdl_component CYGHWR_NET_DRIVER_ETH1_MANUAL {
|
display "Initialize 'eth1' manually?"
|
display "Initialize 'eth1' manually?"
|
default_value 0
|
default_value 0
|
implements CYGHWR_NET_DRIVER_ETH1_SETUP
|
implements CYGHWR_NET_DRIVER_ETH1_SETUP
|
description "
|
description "
|
If this option is selected, the eCos library provides no
|
If this option is selected, the eCos library provides no
|
initialization code for this interface; you must perform
|
initialization code for this interface; you must perform
|
all the initialization in the application, by means of
|
all the initialization in the application, by means of
|
appropriate ioctl() calls, or by calling init_net() with an
|
appropriate ioctl() calls, or by calling init_net() with an
|
appropriate bootp record you have constructed yourself."
|
appropriate bootp record you have constructed yourself."
|
}
|
}
|
|
|
cdl_component CYGHWR_NET_DRIVER_ETH1_BOOTP {
|
cdl_component CYGHWR_NET_DRIVER_ETH1_BOOTP {
|
display "Use BOOTP/DHCP to initialize 'eth1'?"
|
display "Use BOOTP/DHCP to initialize 'eth1'?"
|
default_value 1
|
default_value 1
|
implements CYGHWR_NET_DRIVER_ETH1_SETUP
|
implements CYGHWR_NET_DRIVER_ETH1_SETUP
|
description "
|
description "
|
If this option is selected, init_all_network_interfaces()
|
If this option is selected, init_all_network_interfaces()
|
will use DHCP or BOOTP to acquire initialization data for
|
will use DHCP or BOOTP to acquire initialization data for
|
this interface, and then set it up accordingly."
|
this interface, and then set it up accordingly."
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH1_DHCP {
|
cdl_option CYGHWR_NET_DRIVER_ETH1_DHCP {
|
display "Use DHCP rather than BOOTP for 'eth1'?"
|
display "Use DHCP rather than BOOTP for 'eth1'?"
|
flavor bool
|
flavor bool
|
default_value 1
|
default_value 1
|
active_if CYGPKG_NET_DHCP
|
active_if CYGPKG_NET_DHCP
|
}
|
}
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH1_BOOTP_SHOW {
|
cdl_option CYGHWR_NET_DRIVER_ETH1_BOOTP_SHOW {
|
display "Show BOOTP/DHCP initialization values?"
|
display "Show BOOTP/DHCP initialization values?"
|
flavor bool
|
flavor bool
|
default_value 1
|
default_value 1
|
}
|
}
|
}
|
}
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH1_IPV6_PREFIX {
|
cdl_option CYGHWR_NET_DRIVER_ETH1_IPV6_PREFIX {
|
display "Static IPv6 address prefix for 'eth1'"
|
display "Static IPv6 address prefix for 'eth1'"
|
flavor booldata
|
flavor booldata
|
active_if CYGPKG_NET_INET6
|
active_if CYGPKG_NET_INET6
|
default_value { "3ffe:302:12:2" }
|
default_value { "3ffe:302:12:2" }
|
description "
|
description "
|
This option allows a specific, static address prefix to be set
|
This option allows a specific, static address prefix to be set
|
for an interface running IPv6. When used, the lower 64 bits
|
for an interface running IPv6. When used, the lower 64 bits
|
of the address will be set to the IPv4 IP address. Note: this
|
of the address will be set to the IPv4 IP address. Note: this
|
should not be confused with the standard IPv4->IPv6 mapped
|
should not be confused with the standard IPv4->IPv6 mapped
|
addresses, but rather just a simple way to assign addresses
|
addresses, but rather just a simple way to assign addresses
|
to nodes within an IPv6 network."
|
to nodes within an IPv6 network."
|
}
|
}
|
|
|
cdl_component CYGHWR_NET_DRIVER_ETH1_ADDRS {
|
cdl_component CYGHWR_NET_DRIVER_ETH1_ADDRS {
|
display "Address setups for 'eth1'"
|
display "Address setups for 'eth1'"
|
implements CYGHWR_NET_DRIVER_ETH1_SETUP
|
implements CYGHWR_NET_DRIVER_ETH1_SETUP
|
no_define
|
no_define
|
|
|
description "
|
description "
|
These options let you configure all the initialization data
|
These options let you configure all the initialization data
|
that init_all_network_interfaces() will use
|
that init_all_network_interfaces() will use
|
for 'eth1' statically. Be careful when doing this, because
|
for 'eth1' statically. Be careful when doing this, because
|
if you run the same application image on multiple boards,
|
if you run the same application image on multiple boards,
|
they will have identical IP addresses and so on; this is a
|
they will have identical IP addresses and so on; this is a
|
Bad Thing.
|
Bad Thing.
|
The values you set are inserted in a bootp-style record
|
The values you set are inserted in a bootp-style record
|
that is fed into a common setup routine to configure the
|
that is fed into a common setup routine to configure the
|
interface. That routine does not in fact use the 'Server
|
interface. That routine does not in fact use the 'Server
|
IP address' field.
|
IP address' field.
|
The bootp record is also available to application code, and
|
The bootp record is also available to application code, and
|
some eCos networking test programs use the 'Server IP
|
some eCos networking test programs use the 'Server IP
|
address' field to mean 'a machine we can interact with' for
|
address' field to mean 'a machine we can interact with' for
|
example to ping or perform ftp with. That is the rationale
|
example to ping or perform ftp with. That is the rationale
|
for its inclusion here.
|
for its inclusion here.
|
The gateway address is used to set up a default route if
|
The gateway address is used to set up a default route if
|
nonzero. If you have more than one interface, setting up
|
nonzero. If you have more than one interface, setting up
|
more than one default route is will cause malfunctions. A
|
more than one default route is will cause malfunctions. A
|
gateway address of 0.0.0.0 can be set to prevent that route
|
gateway address of 0.0.0.0 can be set to prevent that route
|
setup. Of course, your application can add real routes
|
setup. Of course, your application can add real routes
|
once the interface(s) initialization is complete.
|
once the interface(s) initialization is complete.
|
This interface 'eth1' has no route set up in the default
|
This interface 'eth1' has no route set up in the default
|
configuration."
|
configuration."
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH1_ADDRS_IP {
|
cdl_option CYGHWR_NET_DRIVER_ETH1_ADDRS_IP {
|
display "IP address for 'eth1'"
|
display "IP address for 'eth1'"
|
flavor data
|
flavor data
|
default_value { "192.168.1.2" }
|
default_value { "192.168.1.2" }
|
}
|
}
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH1_ADDRS_NETMASK {
|
cdl_option CYGHWR_NET_DRIVER_ETH1_ADDRS_NETMASK {
|
display "Network mask address for 'eth1'"
|
display "Network mask address for 'eth1'"
|
flavor data
|
flavor data
|
default_value { "255.255.255.0" }
|
default_value { "255.255.255.0" }
|
}
|
}
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH1_ADDRS_BROADCAST {
|
cdl_option CYGHWR_NET_DRIVER_ETH1_ADDRS_BROADCAST {
|
display "Broadcast address for 'eth1'"
|
display "Broadcast address for 'eth1'"
|
flavor data
|
flavor data
|
default_value { "192.168.1.255" }
|
default_value { "192.168.1.255" }
|
}
|
}
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH1_ADDRS_GATEWAY {
|
cdl_option CYGHWR_NET_DRIVER_ETH1_ADDRS_GATEWAY {
|
display "Gateway/router IP address for 'eth1'"
|
display "Gateway/router IP address for 'eth1'"
|
flavor data
|
flavor data
|
default_value { "0.0.0.0" }
|
default_value { "0.0.0.0" }
|
}
|
}
|
|
|
cdl_option CYGHWR_NET_DRIVER_ETH1_ADDRS_SERVER {
|
cdl_option CYGHWR_NET_DRIVER_ETH1_ADDRS_SERVER {
|
display "Server IP address for 'eth1'"
|
display "Server IP address for 'eth1'"
|
flavor data
|
flavor data
|
default_value { "192.168.1.101" }
|
default_value { "192.168.1.101" }
|
}
|
}
|
}
|
}
|
}
|
}
|
}
|
}
|
|
|