2015-01-28 16:09:27 +01:00
|
|
|
#
|
|
|
|
# Automatically generated file; DO NOT EDIT.
|
|
|
|
# Nuttx/ Configuration
|
|
|
|
#
|
|
|
|
|
|
|
|
#
|
|
|
|
# Build Setup
|
|
|
|
#
|
2015-01-28 20:22:53 +01:00
|
|
|
# CONFIG_EXPERIMENTAL is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_DEFAULT_SMALL is not set
|
|
|
|
CONFIG_HOST_LINUX=y
|
|
|
|
# CONFIG_HOST_OSX is not set
|
|
|
|
# CONFIG_HOST_WINDOWS is not set
|
|
|
|
# CONFIG_HOST_OTHER is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Build Configuration
|
|
|
|
#
|
|
|
|
# CONFIG_APPS_DIR="../apps"
|
|
|
|
CONFIG_BUILD_FLAT=y
|
|
|
|
# CONFIG_BUILD_2PASS is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Binary Output Formats
|
|
|
|
#
|
|
|
|
# CONFIG_RRLOAD_BINARY is not set
|
|
|
|
# CONFIG_INTELHEX_BINARY is not set
|
|
|
|
# CONFIG_MOTOROLA_SREC is not set
|
|
|
|
# CONFIG_RAW_BINARY is not set
|
|
|
|
# CONFIG_UBOOT_UIMAGE is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Customize Header Files
|
|
|
|
#
|
|
|
|
# CONFIG_ARCH_STDINT_H is not set
|
|
|
|
# CONFIG_ARCH_STDBOOL_H is not set
|
|
|
|
# CONFIG_ARCH_MATH_H is not set
|
|
|
|
# CONFIG_ARCH_FLOAT_H is not set
|
|
|
|
# CONFIG_ARCH_STDARG_H is not set
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_ARCH_DEBUG_H is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Debug Options
|
|
|
|
#
|
2016-07-21 01:28:39 +02:00
|
|
|
# CONFIG_DEBUG_ALERT is not set
|
2016-06-11 22:14:08 +02:00
|
|
|
# CONFIG_DEBUG_FEATURES is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_ARCH_HAVE_STACKCHECK is not set
|
2016-07-21 01:28:39 +02:00
|
|
|
# CONFIG_ARCH_HAVE_HEAPCHECK is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
CONFIG_DEBUG_SYMBOLS=y
|
|
|
|
# CONFIG_ARCH_HAVE_CUSTOMOPT is not set
|
|
|
|
CONFIG_DEBUG_NOOPT=y
|
|
|
|
# CONFIG_DEBUG_FULLOPT is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# System Type
|
|
|
|
#
|
|
|
|
# CONFIG_ARCH_ARM is not set
|
|
|
|
# CONFIG_ARCH_AVR is not set
|
|
|
|
# CONFIG_ARCH_HC is not set
|
|
|
|
# CONFIG_ARCH_MIPS is not set
|
2016-11-19 16:41:24 +01:00
|
|
|
# CONFIG_ARCH_MISOC is not set
|
2016-08-06 22:03:38 +02:00
|
|
|
# CONFIG_ARCH_RENESAS is not set
|
2016-11-19 16:41:24 +01:00
|
|
|
# CONFIG_ARCH_RISCV is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
CONFIG_ARCH_SIM=y
|
|
|
|
# CONFIG_ARCH_X86 is not set
|
2016-11-19 16:41:24 +01:00
|
|
|
# CONFIG_ARCH_XTENSA is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_ARCH_Z16 is not set
|
|
|
|
# CONFIG_ARCH_Z80 is not set
|
|
|
|
CONFIG_ARCH="sim"
|
|
|
|
|
|
|
|
#
|
|
|
|
# Simulation Configuration Options
|
|
|
|
#
|
|
|
|
CONFIG_HOST_X86_64=y
|
|
|
|
# CONFIG_HOST_X86 is not set
|
|
|
|
# CONFIG_SIM_M32 is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
CONFIG_SIM_X8664_SYSTEMV=y
|
|
|
|
# CONFIG_SIM_X8664_MICROSOFT is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
CONFIG_SIM_WALLTIME=y
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
CONFIG_SIM_NET_HOST_ROUTE=y
|
|
|
|
# CONFIG_SIM_NET_BRIDGE is not set
|
2015-02-01 19:15:46 +01:00
|
|
|
# CONFIG_SIM_FRAMEBUFFER is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_SIM_SPIFLASH is not set
|
2016-07-21 01:28:39 +02:00
|
|
|
# CONFIG_SIM_QSPIFLASH is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Architecture Options
|
|
|
|
#
|
|
|
|
# CONFIG_ARCH_NOINTC is not set
|
|
|
|
# CONFIG_ARCH_VECNOTIRQ is not set
|
|
|
|
# CONFIG_ARCH_DMA is not set
|
|
|
|
# CONFIG_ARCH_HAVE_IRQPRIO is not set
|
|
|
|
# CONFIG_ARCH_L2CACHE is not set
|
|
|
|
# CONFIG_ARCH_HAVE_COHERENT_DCACHE is not set
|
|
|
|
# CONFIG_ARCH_HAVE_ADDRENV is not set
|
|
|
|
# CONFIG_ARCH_NEED_ADDRENV_MAPPING is not set
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
CONFIG_ARCH_HAVE_MULTICPU=y
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_ARCH_HAVE_VFORK is not set
|
|
|
|
# CONFIG_ARCH_HAVE_MMU is not set
|
|
|
|
# CONFIG_ARCH_HAVE_MPU is not set
|
|
|
|
# CONFIG_ARCH_NAND_HWECC is not set
|
|
|
|
# CONFIG_ARCH_HAVE_EXTCLK is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
CONFIG_ARCH_HAVE_POWEROFF=y
|
|
|
|
# CONFIG_ARCH_HAVE_RESET is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_ARCH_STACKDUMP is not set
|
|
|
|
# CONFIG_ENDIAN_BIG is not set
|
|
|
|
# CONFIG_ARCH_IDLE_CUSTOM is not set
|
|
|
|
# CONFIG_ARCH_HAVE_RAMFUNCS is not set
|
|
|
|
# CONFIG_ARCH_HAVE_RAMVECTORS is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Board Settings
|
|
|
|
#
|
|
|
|
CONFIG_BOARD_LOOPSPERMSEC=0
|
|
|
|
# CONFIG_ARCH_CALIBRATION is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Interrupt options
|
|
|
|
#
|
|
|
|
# CONFIG_ARCH_HAVE_INTERRUPTSTACK is not set
|
|
|
|
# CONFIG_ARCH_HAVE_HIPRI_INTERRUPT is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Boot options
|
|
|
|
#
|
|
|
|
CONFIG_BOOT_RUNFROMEXTSRAM=y
|
|
|
|
# CONFIG_BOOT_RUNFROMFLASH is not set
|
|
|
|
# CONFIG_BOOT_RUNFROMISRAM is not set
|
|
|
|
# CONFIG_BOOT_RUNFROMSDRAM is not set
|
|
|
|
# CONFIG_BOOT_COPYTORAM is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Boot Memory Configuration
|
|
|
|
#
|
|
|
|
CONFIG_RAM_START=0x0
|
|
|
|
CONFIG_RAM_SIZE=0
|
|
|
|
# CONFIG_ARCH_HAVE_SDRAM is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Board Selection
|
|
|
|
#
|
|
|
|
CONFIG_ARCH_BOARD_SIM=y
|
|
|
|
# CONFIG_ARCH_BOARD_CUSTOM is not set
|
|
|
|
CONFIG_ARCH_BOARD="sim"
|
|
|
|
|
|
|
|
#
|
|
|
|
# Common Board Options
|
|
|
|
#
|
|
|
|
|
|
|
|
#
|
|
|
|
# Board-Specific Options
|
|
|
|
#
|
2016-07-21 01:28:39 +02:00
|
|
|
# CONFIG_BOARD_CRASHDUMP is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
CONFIG_LIB_BOARDCTL=y
|
|
|
|
# CONFIG_BOARDCTL_POWEROFF is not set
|
|
|
|
# CONFIG_BOARDCTL_UNIQUEID is not set
|
2015-12-13 15:13:15 +01:00
|
|
|
# CONFIG_BOARDCTL_APP_SYMTAB is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_BOARDCTL_TSCTEST is not set
|
|
|
|
# CONFIG_BOARDCTL_GRAPHICS is not set
|
|
|
|
# CONFIG_BOARDCTL_IOCTL is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# RTOS Features
|
|
|
|
#
|
|
|
|
CONFIG_DISABLE_OS_API=y
|
|
|
|
# CONFIG_DISABLE_POSIX_TIMERS is not set
|
|
|
|
# CONFIG_DISABLE_PTHREAD is not set
|
|
|
|
# CONFIG_DISABLE_SIGNALS is not set
|
|
|
|
# CONFIG_DISABLE_MQUEUE is not set
|
|
|
|
# CONFIG_DISABLE_ENVIRON is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Clocks and Timers
|
|
|
|
#
|
|
|
|
CONFIG_ARCH_HAVE_TICKLESS=y
|
|
|
|
# CONFIG_SCHED_TICKLESS is not set
|
|
|
|
CONFIG_USEC_PER_TICK=10000
|
|
|
|
# CONFIG_SYSTEM_TIME64 is not set
|
|
|
|
# CONFIG_CLOCK_MONOTONIC is not set
|
2016-11-19 16:41:24 +01:00
|
|
|
# CONFIG_ARCH_HAVE_TIMEKEEPING is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_JULIAN_TIME is not set
|
|
|
|
CONFIG_START_YEAR=2008
|
|
|
|
CONFIG_START_MONTH=6
|
|
|
|
CONFIG_START_DAY=1
|
|
|
|
CONFIG_MAX_WDOGPARMS=4
|
|
|
|
CONFIG_PREALLOC_WDOGS=32
|
|
|
|
CONFIG_WDOG_INTRESERVE=4
|
|
|
|
CONFIG_PREALLOC_TIMERS=8
|
|
|
|
|
|
|
|
#
|
|
|
|
# Tasks and Scheduling
|
|
|
|
#
|
2016-11-19 16:41:24 +01:00
|
|
|
# CONFIG_SMP is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_INIT_NONE is not set
|
|
|
|
CONFIG_INIT_ENTRYPOINT=y
|
|
|
|
# CONFIG_INIT_FILEPATH is not set
|
|
|
|
CONFIG_USER_ENTRYPOINT="nsh_main"
|
|
|
|
CONFIG_RR_INTERVAL=0
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_SCHED_SPORADIC is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
CONFIG_TASK_NAME_SIZE=31
|
|
|
|
CONFIG_MAX_TASKS=64
|
|
|
|
CONFIG_SCHED_HAVE_PARENT=y
|
|
|
|
# CONFIG_SCHED_CHILD_STATUS is not set
|
|
|
|
CONFIG_SCHED_WAITPID=y
|
|
|
|
|
|
|
|
#
|
|
|
|
# Pthread Options
|
|
|
|
#
|
|
|
|
# CONFIG_MUTEX_TYPES is not set
|
|
|
|
CONFIG_NPTHREAD_KEYS=4
|
|
|
|
|
|
|
|
#
|
|
|
|
# Performance Monitoring
|
|
|
|
#
|
|
|
|
# CONFIG_SCHED_CPULOAD is not set
|
|
|
|
# CONFIG_SCHED_INSTRUMENTATION is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Files and I/O
|
|
|
|
#
|
|
|
|
CONFIG_DEV_CONSOLE=y
|
|
|
|
# CONFIG_FDCLONE_DISABLE is not set
|
|
|
|
# CONFIG_FDCLONE_STDIO is not set
|
|
|
|
CONFIG_SDCLONE_DISABLE=y
|
|
|
|
CONFIG_NFILE_DESCRIPTORS=32
|
|
|
|
CONFIG_NFILE_STREAMS=16
|
|
|
|
CONFIG_NAME_MAX=32
|
|
|
|
# CONFIG_PRIORITY_INHERITANCE is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# RTOS hooks
|
|
|
|
#
|
|
|
|
# CONFIG_BOARD_INITIALIZE is not set
|
|
|
|
# CONFIG_SCHED_STARTHOOK is not set
|
|
|
|
# CONFIG_SCHED_ATEXIT is not set
|
|
|
|
CONFIG_SCHED_ONEXIT=y
|
|
|
|
CONFIG_SCHED_ONEXIT_MAX=1
|
|
|
|
|
|
|
|
#
|
|
|
|
# Signal Numbers
|
|
|
|
#
|
|
|
|
CONFIG_SIG_SIGUSR1=1
|
|
|
|
CONFIG_SIG_SIGUSR2=2
|
|
|
|
CONFIG_SIG_SIGALARM=3
|
|
|
|
CONFIG_SIG_SIGCHLD=4
|
|
|
|
CONFIG_SIG_SIGCONDTIMEDOUT=16
|
|
|
|
|
|
|
|
#
|
|
|
|
# POSIX Message Queue Options
|
|
|
|
#
|
|
|
|
CONFIG_PREALLOC_MQ_MSGS=32
|
|
|
|
CONFIG_MQ_MAXMSGSIZE=32
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_MODULE is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# Work queue support
|
2015-01-28 16:09:27 +01:00
|
|
|
#
|
|
|
|
# CONFIG_SCHED_WORKQUEUE is not set
|
|
|
|
# CONFIG_SCHED_HPWORK is not set
|
|
|
|
# CONFIG_SCHED_LPWORK is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Stack and heap information
|
|
|
|
#
|
|
|
|
CONFIG_IDLETHREAD_STACKSIZE=4096
|
|
|
|
CONFIG_USERMAIN_STACKSIZE=4096
|
|
|
|
CONFIG_PTHREAD_STACK_MIN=256
|
|
|
|
CONFIG_PTHREAD_STACK_DEFAULT=8192
|
|
|
|
# CONFIG_LIB_SYSCALL is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Device Drivers
|
|
|
|
#
|
|
|
|
CONFIG_DISABLE_POLL=y
|
|
|
|
CONFIG_DEV_NULL=y
|
|
|
|
# CONFIG_DEV_ZERO is not set
|
2016-07-21 01:28:39 +02:00
|
|
|
# CONFIG_DEV_URANDOM is not set
|
2015-11-26 00:11:27 +01:00
|
|
|
# CONFIG_DEV_LOOP is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Buffering
|
|
|
|
#
|
|
|
|
# CONFIG_DRVR_WRITEBUFFER is not set
|
|
|
|
# CONFIG_DRVR_READAHEAD is not set
|
|
|
|
# CONFIG_RAMDISK is not set
|
|
|
|
# CONFIG_CAN is not set
|
|
|
|
# CONFIG_ARCH_HAVE_PWM_PULSECOUNT is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_ARCH_HAVE_PWM_MULTICHAN is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_PWM is not set
|
|
|
|
# CONFIG_ARCH_HAVE_I2CRESET is not set
|
|
|
|
# CONFIG_I2C is not set
|
|
|
|
# CONFIG_SPI is not set
|
2016-11-19 16:41:24 +01:00
|
|
|
# CONFIG_ARCH_HAVE_SPI_CRCGENERATION is not set
|
|
|
|
# CONFIG_ARCH_HAVE_SPI_CS_CONTROL is not set
|
|
|
|
# CONFIG_ARCH_HAVE_SPI_BITORDER is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_I2S is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Timer Driver Support
|
|
|
|
#
|
|
|
|
# CONFIG_TIMER is not set
|
2016-11-19 16:41:24 +01:00
|
|
|
# CONFIG_ONESHOT is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_RTC is not set
|
|
|
|
# CONFIG_WATCHDOG is not set
|
|
|
|
# CONFIG_ANALOG is not set
|
|
|
|
# CONFIG_AUDIO_DEVICES is not set
|
|
|
|
# CONFIG_VIDEO_DEVICES is not set
|
|
|
|
# CONFIG_BCH is not set
|
|
|
|
# CONFIG_INPUT is not set
|
2016-07-21 01:28:39 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# IO Expander/GPIO Support
|
|
|
|
#
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_IOEXPANDER is not set
|
2016-07-21 01:28:39 +02:00
|
|
|
# CONFIG_DEV_GPIO is not set
|
2016-06-09 17:24:51 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# LCD Driver Support
|
|
|
|
#
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_LCD is not set
|
2016-06-09 17:24:51 +02:00
|
|
|
# CONFIG_SLCD is not set
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# LED Support
|
|
|
|
#
|
|
|
|
# CONFIG_RGBLED is not set
|
|
|
|
# CONFIG_PCA9635PW is not set
|
2016-07-21 01:28:39 +02:00
|
|
|
# CONFIG_NCP5623C is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_MMCSD is not set
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_MODEM is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_MTD is not set
|
|
|
|
# CONFIG_EEPROM is not set
|
|
|
|
# CONFIG_NETDEVICES is not set
|
|
|
|
# CONFIG_NET_SLIP is not set
|
2016-07-21 01:28:39 +02:00
|
|
|
CONFIG_PIPES=y
|
|
|
|
CONFIG_DEV_PIPE_MAXSIZE=1024
|
|
|
|
CONFIG_DEV_PIPE_SIZE=1024
|
|
|
|
CONFIG_DEV_FIFO_SIZE=1024
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_PM is not set
|
|
|
|
# CONFIG_POWER is not set
|
|
|
|
# CONFIG_SENSORS is not set
|
|
|
|
CONFIG_SERIAL=y
|
|
|
|
# CONFIG_DEV_LOWCONSOLE is not set
|
2016-07-21 01:28:39 +02:00
|
|
|
# CONFIG_SERIAL_REMOVABLE is not set
|
|
|
|
CONFIG_SERIAL_CONSOLE=y
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_16550_UART is not set
|
2016-05-25 18:45:01 +02:00
|
|
|
# CONFIG_UART_SERIALDRIVER is not set
|
|
|
|
# CONFIG_UART0_SERIALDRIVER is not set
|
|
|
|
# CONFIG_UART1_SERIALDRIVER is not set
|
|
|
|
# CONFIG_UART2_SERIALDRIVER is not set
|
|
|
|
# CONFIG_UART3_SERIALDRIVER is not set
|
|
|
|
# CONFIG_UART4_SERIALDRIVER is not set
|
|
|
|
# CONFIG_UART5_SERIALDRIVER is not set
|
|
|
|
# CONFIG_UART6_SERIALDRIVER is not set
|
|
|
|
# CONFIG_UART7_SERIALDRIVER is not set
|
|
|
|
# CONFIG_UART8_SERIALDRIVER is not set
|
2016-05-25 18:46:55 +02:00
|
|
|
# CONFIG_SCI0_SERIALDRIVER is not set
|
|
|
|
# CONFIG_SCI1_SERIALDRIVER is not set
|
2016-05-25 18:39:23 +02:00
|
|
|
# CONFIG_USART0_SERIALDRIVER is not set
|
|
|
|
# CONFIG_USART1_SERIALDRIVER is not set
|
|
|
|
# CONFIG_USART2_SERIALDRIVER is not set
|
|
|
|
# CONFIG_USART3_SERIALDRIVER is not set
|
|
|
|
# CONFIG_USART4_SERIALDRIVER is not set
|
|
|
|
# CONFIG_USART5_SERIALDRIVER is not set
|
|
|
|
# CONFIG_USART6_SERIALDRIVER is not set
|
|
|
|
# CONFIG_USART7_SERIALDRIVER is not set
|
|
|
|
# CONFIG_USART8_SERIALDRIVER is not set
|
2016-05-25 18:48:33 +02:00
|
|
|
# CONFIG_OTHER_UART_SERIALDRIVER is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_MCU_SERIAL is not set
|
|
|
|
# CONFIG_STANDARD_SERIAL is not set
|
|
|
|
# CONFIG_SERIAL_IFLOWCONTROL is not set
|
|
|
|
# CONFIG_SERIAL_OFLOWCONTROL is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_SERIAL_DMA is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_ARCH_HAVE_SERIAL_TERMIOS is not set
|
2016-07-21 01:28:39 +02:00
|
|
|
# CONFIG_PSEUDOTERM is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_USBDEV is not set
|
|
|
|
# CONFIG_USBHOST is not set
|
2016-07-21 01:28:39 +02:00
|
|
|
# CONFIG_HAVE_USBTRACE is not set
|
2016-02-26 23:45:29 +01:00
|
|
|
# CONFIG_DRIVERS_WIRELESS is not set
|
2016-11-19 16:41:24 +01:00
|
|
|
# CONFIG_DRIVERS_CONTACTLESS is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# System Logging
|
|
|
|
#
|
2016-07-21 01:28:39 +02:00
|
|
|
# CONFIG_ARCH_SYSLOG is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_RAMLOG is not set
|
2016-07-21 01:28:39 +02:00
|
|
|
# CONFIG_SYSLOG_INTBUFFER is not set
|
|
|
|
# CONFIG_SYSLOG_TIMESTAMP is not set
|
|
|
|
CONFIG_SYSLOG_SERIAL_CONSOLE=y
|
|
|
|
# CONFIG_SYSLOG_CHAR is not set
|
|
|
|
CONFIG_SYSLOG_CONSOLE=y
|
|
|
|
# CONFIG_SYSLOG_NONE is not set
|
|
|
|
# CONFIG_SYSLOG_FILE is not set
|
|
|
|
# CONFIG_SYSLOG_CHARDEV is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Networking Support
|
|
|
|
#
|
|
|
|
CONFIG_ARCH_HAVE_NET=y
|
|
|
|
# CONFIG_ARCH_HAVE_PHY is not set
|
|
|
|
CONFIG_NET=y
|
|
|
|
# CONFIG_NET_PROMISCUOUS is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Driver buffer configuration
|
|
|
|
#
|
|
|
|
CONFIG_NET_GUARDSIZE=2
|
|
|
|
|
|
|
|
#
|
|
|
|
# Data link support
|
|
|
|
#
|
|
|
|
# CONFIG_NET_MULTILINK is not set
|
|
|
|
# CONFIG_NET_ETHERNET is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_NET_LOOPBACK is not set
|
|
|
|
# CONFIG_NET_TUN is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Network Device Operations
|
|
|
|
#
|
|
|
|
# CONFIG_NETDEV_PHY_IOCTL is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Internet Protocol Selection
|
|
|
|
#
|
|
|
|
# CONFIG_NET_IPv4 is not set
|
|
|
|
# CONFIG_NET_IPv6 is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Socket Support
|
|
|
|
#
|
|
|
|
CONFIG_NSOCKET_DESCRIPTORS=8
|
|
|
|
CONFIG_NET_NACTIVESOCKETS=16
|
|
|
|
# CONFIG_NET_SOCKOPTS is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Raw Socket Support
|
|
|
|
#
|
|
|
|
# CONFIG_NET_PKT is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Unix Domain Socket Support
|
|
|
|
#
|
|
|
|
CONFIG_NET_LOCAL=y
|
2015-01-31 14:58:51 +01:00
|
|
|
CONFIG_NET_LOCAL_STREAM=y
|
|
|
|
# CONFIG_NET_LOCAL_DGRAM is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# TCP/IP Networking
|
|
|
|
#
|
|
|
|
# CONFIG_NET_TCP is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# UDP Networking
|
|
|
|
#
|
|
|
|
# CONFIG_NET_UDP is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# IGMPv2 Client Support
|
|
|
|
#
|
|
|
|
# CONFIG_NET_IGMP is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# ARP Configuration
|
|
|
|
#
|
|
|
|
|
|
|
|
#
|
|
|
|
# Network I/O Buffer Support
|
|
|
|
#
|
|
|
|
# CONFIG_NET_IOB is not set
|
|
|
|
# CONFIG_NET_ARCH_INCR32 is not set
|
|
|
|
# CONFIG_NET_ARCH_CHKSUM is not set
|
|
|
|
# CONFIG_NET_STATISTICS is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Routing Table Configuration
|
|
|
|
#
|
|
|
|
# CONFIG_NET_ROUTE is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
CONFIG_NET_HOSTNAME=""
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Crypto API
|
|
|
|
#
|
|
|
|
# CONFIG_CRYPTO is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# File Systems
|
|
|
|
#
|
|
|
|
|
|
|
|
#
|
|
|
|
# File system configuration
|
|
|
|
#
|
|
|
|
# CONFIG_DISABLE_MOUNTPOINT is not set
|
|
|
|
# CONFIG_FS_AUTOMOUNTER is not set
|
|
|
|
# CONFIG_DISABLE_PSEUDOFS_OPERATIONS is not set
|
|
|
|
CONFIG_FS_READABLE=y
|
|
|
|
CONFIG_FS_WRITABLE=y
|
|
|
|
# CONFIG_FS_NAMED_SEMAPHORES is not set
|
|
|
|
CONFIG_FS_MQUEUE_MPATH="/var/mqueue"
|
|
|
|
# CONFIG_FS_RAMMAP is not set
|
|
|
|
CONFIG_FS_FAT=y
|
|
|
|
CONFIG_FAT_LCNAMES=y
|
|
|
|
CONFIG_FAT_LFN=y
|
|
|
|
CONFIG_FAT_MAXFNAME=32
|
|
|
|
# CONFIG_FS_FATTIME is not set
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_FAT_FORCE_INDIRECT is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_FAT_DMAMEMORY is not set
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_FAT_DIRECT_RETRY is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_FS_NXFFS is not set
|
|
|
|
CONFIG_FS_ROMFS=y
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_FS_TMPFS is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_FS_SMARTFS is not set
|
|
|
|
CONFIG_FS_BINFS=y
|
2015-11-29 20:52:50 +01:00
|
|
|
CONFIG_FS_PROCFS=y
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_FS_PROCFS_REGISTER is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Exclude individual procfs entries
|
|
|
|
#
|
|
|
|
# CONFIG_FS_PROCFS_EXCLUDE_PROCESS is not set
|
|
|
|
# CONFIG_FS_PROCFS_EXCLUDE_UPTIME is not set
|
|
|
|
# CONFIG_FS_PROCFS_EXCLUDE_MOUNTS is not set
|
|
|
|
# CONFIG_FS_PROCFS_EXCLUDE_NET is not set
|
|
|
|
# CONFIG_FS_UNIONFS is not set
|
|
|
|
# CONFIG_FS_HOSTFS is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Graphics Support
|
|
|
|
#
|
|
|
|
# CONFIG_NX is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Memory Management
|
|
|
|
#
|
|
|
|
# CONFIG_MM_SMALL is not set
|
|
|
|
CONFIG_MM_REGIONS=1
|
|
|
|
# CONFIG_ARCH_HAVE_HEAP2 is not set
|
|
|
|
# CONFIG_GRAN is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Audio Support
|
|
|
|
#
|
|
|
|
# CONFIG_AUDIO is not set
|
|
|
|
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
#
|
|
|
|
# Wireless Support
|
|
|
|
#
|
|
|
|
|
2015-01-28 16:09:27 +01:00
|
|
|
#
|
|
|
|
# Binary Loader
|
|
|
|
#
|
|
|
|
# CONFIG_BINFMT_DISABLE is not set
|
|
|
|
CONFIG_BINFMT_EXEPATH=y
|
|
|
|
CONFIG_PATH_INITIAL="/bin"
|
|
|
|
# CONFIG_NXFLAT is not set
|
|
|
|
# CONFIG_ELF is not set
|
|
|
|
CONFIG_BUILTIN=y
|
|
|
|
# CONFIG_PIC is not set
|
|
|
|
# CONFIG_SYMTAB_ORDEREDBYNAME is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Library Routines
|
|
|
|
#
|
|
|
|
|
|
|
|
#
|
|
|
|
# Standard C Library Options
|
|
|
|
#
|
|
|
|
CONFIG_STDIO_BUFFER_SIZE=64
|
|
|
|
CONFIG_STDIO_LINEBUFFER=y
|
|
|
|
CONFIG_NUNGET_CHARS=2
|
|
|
|
CONFIG_LIB_HOMEDIR="/"
|
|
|
|
# CONFIG_LIBM is not set
|
|
|
|
# CONFIG_NOPRINTF_FIELDWIDTH is not set
|
|
|
|
# CONFIG_LIBC_FLOATINGPOINT is not set
|
2015-05-30 18:00:54 +02:00
|
|
|
CONFIG_LIBC_LONG_LONG=y
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_LIBC_IOCTL_VARIADIC is not set
|
2016-11-19 16:41:24 +01:00
|
|
|
# CONFIG_LIBC_WCHAR is not set
|
|
|
|
# CONFIG_LIBC_LOCALE is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
CONFIG_LIB_RAND_ORDER=1
|
|
|
|
# CONFIG_EOL_IS_CR is not set
|
|
|
|
# CONFIG_EOL_IS_LF is not set
|
|
|
|
# CONFIG_EOL_IS_BOTH_CRLF is not set
|
|
|
|
CONFIG_EOL_IS_EITHER_CRLF=y
|
|
|
|
CONFIG_LIBC_EXECFUNCS=y
|
|
|
|
CONFIG_EXECFUNCS_HAVE_SYMTAB=y
|
|
|
|
CONFIG_EXECFUNCS_SYMTAB="g_symtab"
|
|
|
|
CONFIG_EXECFUNCS_NSYMBOLS=0
|
|
|
|
CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=1024
|
|
|
|
CONFIG_TASK_SPAWN_DEFAULT_STACKSIZE=2048
|
|
|
|
# CONFIG_LIBC_STRERROR is not set
|
|
|
|
# CONFIG_LIBC_PERROR_STDOUT is not set
|
|
|
|
CONFIG_LIBC_TMPDIR="/tmp"
|
|
|
|
CONFIG_LIBC_MAX_TMPFILE=32
|
|
|
|
CONFIG_ARCH_LOWPUTC=y
|
|
|
|
# CONFIG_LIBC_LOCALTIME is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_TIME_EXTENDED is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
CONFIG_LIB_SENDFILE_BUFSIZE=512
|
|
|
|
# CONFIG_ARCH_ROMGETC is not set
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
CONFIG_ARCH_HAVE_TLS=y
|
|
|
|
# CONFIG_TLS is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
CONFIG_LIBC_NETDB=y
|
|
|
|
# CONFIG_NETDB_HOSTFILE is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Non-standard Library Support
|
|
|
|
#
|
2016-07-21 01:28:39 +02:00
|
|
|
# CONFIG_LIB_CRC64_FAST is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_LIB_KBDCODEC is not set
|
|
|
|
# CONFIG_LIB_SLCDCODEC is not set
|
2016-07-21 01:28:39 +02:00
|
|
|
# CONFIG_LIB_HEX2BIN is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Basic CXX Support
|
|
|
|
#
|
|
|
|
# CONFIG_C99_BOOL8 is not set
|
|
|
|
# CONFIG_HAVE_CXX is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Application Configuration
|
|
|
|
#
|
|
|
|
|
|
|
|
#
|
|
|
|
# Built-In Applications
|
|
|
|
#
|
|
|
|
CONFIG_BUILTIN_PROXY_STACKSIZE=1024
|
|
|
|
|
2015-11-29 20:52:50 +01:00
|
|
|
#
|
|
|
|
# CAN Utilities
|
|
|
|
#
|
|
|
|
|
2015-01-28 16:09:27 +01:00
|
|
|
#
|
|
|
|
# Examples
|
|
|
|
#
|
2016-11-19 16:41:24 +01:00
|
|
|
# CONFIG_EXAMPLES_CCTYPE is not set
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_EXAMPLES_CHAT is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_EXAMPLES_CONFIGDATA is not set
|
|
|
|
# CONFIG_EXAMPLES_CPUHOG is not set
|
|
|
|
# CONFIG_EXAMPLES_DHCPD is not set
|
|
|
|
# CONFIG_EXAMPLES_ELF is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_EXAMPLES_FSTEST is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_EXAMPLES_FTPC is not set
|
|
|
|
# CONFIG_EXAMPLES_FTPD is not set
|
|
|
|
CONFIG_EXAMPLES_HELLO=y
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
CONFIG_EXAMPLES_HELLO_PRIORITY=100
|
|
|
|
CONFIG_EXAMPLES_HELLO_STACKSIZE=2048
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_EXAMPLES_HIDKBD is not set
|
|
|
|
# CONFIG_EXAMPLES_IGMP is not set
|
2016-06-09 17:24:51 +02:00
|
|
|
# CONFIG_EXAMPLES_JSON is not set
|
|
|
|
# CONFIG_EXAMPLES_KEYPADTEST is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_EXAMPLES_MEDIA is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_EXAMPLES_MM is not set
|
|
|
|
# CONFIG_EXAMPLES_MODBUS is not set
|
|
|
|
# CONFIG_EXAMPLES_MOUNT is not set
|
|
|
|
# CONFIG_EXAMPLES_NRF24L01TERM is not set
|
|
|
|
CONFIG_EXAMPLES_NSH=y
|
|
|
|
# CONFIG_EXAMPLES_NULL is not set
|
|
|
|
# CONFIG_EXAMPLES_NX is not set
|
|
|
|
# CONFIG_EXAMPLES_NXFFS is not set
|
|
|
|
# CONFIG_EXAMPLES_NXHELLO is not set
|
|
|
|
# CONFIG_EXAMPLES_NXIMAGE is not set
|
|
|
|
# CONFIG_EXAMPLES_NXLINES is not set
|
2016-06-09 17:24:51 +02:00
|
|
|
# CONFIG_EXAMPLES_NXTERM is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_EXAMPLES_NXTEXT is not set
|
|
|
|
# CONFIG_EXAMPLES_OSTEST is not set
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_EXAMPLES_PCA9635 is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_EXAMPLES_PIPE is not set
|
|
|
|
# CONFIG_EXAMPLES_POSIXSPAWN is not set
|
2016-06-09 17:24:51 +02:00
|
|
|
# CONFIG_EXAMPLES_PPPD is not set
|
2016-11-19 16:41:24 +01:00
|
|
|
# CONFIG_EXAMPLES_RFID_READUID is not set
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_EXAMPLES_RGBLED is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_EXAMPLES_ROMFS is not set
|
|
|
|
# CONFIG_EXAMPLES_SENDMAIL is not set
|
|
|
|
# CONFIG_EXAMPLES_SERIALBLASTER is not set
|
|
|
|
# CONFIG_EXAMPLES_SERIALRX is not set
|
|
|
|
# CONFIG_EXAMPLES_SERLOOP is not set
|
|
|
|
# CONFIG_EXAMPLES_SLCD is not set
|
|
|
|
# CONFIG_EXAMPLES_SMART is not set
|
2016-06-09 17:24:51 +02:00
|
|
|
# CONFIG_EXAMPLES_SMART_TEST is not set
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_EXAMPLES_SMP is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_EXAMPLES_TCPECHO is not set
|
|
|
|
# CONFIG_EXAMPLES_TELNETD is not set
|
|
|
|
# CONFIG_EXAMPLES_THTTPD is not set
|
|
|
|
# CONFIG_EXAMPLES_TIFF is not set
|
|
|
|
# CONFIG_EXAMPLES_TOUCHSCREEN is not set
|
2016-06-09 17:24:51 +02:00
|
|
|
# CONFIG_EXAMPLES_UDGRAM is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_EXAMPLES_UNIONFS is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_EXAMPLES_USBSERIAL is not set
|
|
|
|
# CONFIG_EXAMPLES_USBTERM is not set
|
|
|
|
CONFIG_EXAMPLES_USTREAM=y
|
2015-01-30 16:07:22 +01:00
|
|
|
CONFIG_EXAMPLES_USTREAM_ADDR="/dev/fifo"
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_EXAMPLES_USTREAM_USE_POLL is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_EXAMPLES_WATCHDOG is not set
|
2016-06-09 17:24:51 +02:00
|
|
|
# CONFIG_EXAMPLES_WEBSERVER is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
2015-11-29 20:52:50 +01:00
|
|
|
#
|
|
|
|
# File System Utilities
|
|
|
|
#
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_FSUTILS_INIFILE is not set
|
|
|
|
# CONFIG_FSUTILS_PASSWD is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# GPS Utilities
|
|
|
|
#
|
|
|
|
# CONFIG_GPSUTILS_MINMEA_LIB is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
|
2015-01-28 16:09:27 +01:00
|
|
|
#
|
|
|
|
# Graphics Support
|
|
|
|
#
|
|
|
|
# CONFIG_TIFF is not set
|
|
|
|
# CONFIG_GRAPHICS_TRAVELER is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# Interpreters
|
|
|
|
#
|
|
|
|
# CONFIG_INTERPRETERS_BAS is not set
|
|
|
|
# CONFIG_INTERPRETERS_FICL is not set
|
|
|
|
# CONFIG_INTERPRETERS_MICROPYTHON is not set
|
2016-11-19 16:41:24 +01:00
|
|
|
# CONFIG_INTERPRETERS_MINIBASIC is not set
|
2016-06-09 17:24:51 +02:00
|
|
|
# CONFIG_INTERPRETERS_PCODE is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
2015-11-29 20:52:50 +01:00
|
|
|
# FreeModBus
|
2015-01-28 16:09:27 +01:00
|
|
|
#
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_MODBUS is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
2015-11-29 20:52:50 +01:00
|
|
|
# Network Utilities
|
2015-01-28 16:09:27 +01:00
|
|
|
#
|
|
|
|
# CONFIG_NETUTILS_CODECS is not set
|
2016-06-09 17:24:51 +02:00
|
|
|
# CONFIG_NETUTILS_ESP8266 is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_NETUTILS_FTPC is not set
|
|
|
|
# CONFIG_NETUTILS_JSON is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
CONFIG_NETUTILS_NETLIB=y
|
2016-06-09 17:24:51 +02:00
|
|
|
# CONFIG_NETUTILS_SMTP is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# NSH Library
|
|
|
|
#
|
|
|
|
CONFIG_NSH_LIBRARY=y
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_NSH_MOTD is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Command Line Configuration
|
|
|
|
#
|
|
|
|
CONFIG_NSH_READLINE=y
|
|
|
|
# CONFIG_NSH_CLE is not set
|
|
|
|
CONFIG_NSH_LINELEN=80
|
|
|
|
# CONFIG_NSH_DISABLE_SEMICOLON is not set
|
|
|
|
CONFIG_NSH_CMDPARMS=y
|
|
|
|
CONFIG_NSH_MAXARGUMENTS=6
|
|
|
|
CONFIG_NSH_ARGCAT=y
|
|
|
|
CONFIG_NSH_NESTDEPTH=3
|
|
|
|
# CONFIG_NSH_DISABLEBG is not set
|
|
|
|
CONFIG_NSH_BUILTIN_APPS=y
|
|
|
|
CONFIG_NSH_FILE_APPS=y
|
|
|
|
|
|
|
|
#
|
|
|
|
# Disable Individual commands
|
|
|
|
#
|
|
|
|
# CONFIG_NSH_DISABLE_ADDROUTE is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_NSH_DISABLE_BASENAME is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_NSH_DISABLE_CAT is not set
|
|
|
|
# CONFIG_NSH_DISABLE_CD is not set
|
|
|
|
# CONFIG_NSH_DISABLE_CP is not set
|
|
|
|
# CONFIG_NSH_DISABLE_CMP is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
CONFIG_NSH_DISABLE_DATE=y
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_NSH_DISABLE_DD is not set
|
|
|
|
# CONFIG_NSH_DISABLE_DF is not set
|
|
|
|
# CONFIG_NSH_DISABLE_DELROUTE is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_NSH_DISABLE_DIRNAME is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_NSH_DISABLE_ECHO is not set
|
|
|
|
# CONFIG_NSH_DISABLE_EXEC is not set
|
|
|
|
# CONFIG_NSH_DISABLE_EXIT is not set
|
|
|
|
# CONFIG_NSH_DISABLE_FREE is not set
|
|
|
|
# CONFIG_NSH_DISABLE_GET is not set
|
|
|
|
# CONFIG_NSH_DISABLE_HELP is not set
|
|
|
|
# CONFIG_NSH_DISABLE_HEXDUMP is not set
|
|
|
|
# CONFIG_NSH_DISABLE_IFCONFIG is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_NSH_DISABLE_IFUPDOWN is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_NSH_DISABLE_KILL is not set
|
|
|
|
# CONFIG_NSH_DISABLE_LOSETUP is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
CONFIG_NSH_DISABLE_LOSMART=y
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_NSH_DISABLE_LS is not set
|
|
|
|
# CONFIG_NSH_DISABLE_MB is not set
|
|
|
|
# CONFIG_NSH_DISABLE_MKDIR is not set
|
|
|
|
# CONFIG_NSH_DISABLE_MKFATFS is not set
|
|
|
|
# CONFIG_NSH_DISABLE_MKFIFO is not set
|
|
|
|
# CONFIG_NSH_DISABLE_MKRD is not set
|
|
|
|
# CONFIG_NSH_DISABLE_MH is not set
|
|
|
|
# CONFIG_NSH_DISABLE_MOUNT is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_NSH_DISABLE_MV is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_NSH_DISABLE_MW is not set
|
2016-11-19 16:41:24 +01:00
|
|
|
CONFIG_NSH_DISABLE_PRINTF=y
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_NSH_DISABLE_PS is not set
|
|
|
|
# CONFIG_NSH_DISABLE_PUT is not set
|
|
|
|
# CONFIG_NSH_DISABLE_PWD is not set
|
|
|
|
# CONFIG_NSH_DISABLE_RM is not set
|
|
|
|
# CONFIG_NSH_DISABLE_RMDIR is not set
|
|
|
|
# CONFIG_NSH_DISABLE_SET is not set
|
|
|
|
# CONFIG_NSH_DISABLE_SH is not set
|
|
|
|
# CONFIG_NSH_DISABLE_SLEEP is not set
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_NSH_DISABLE_TIME is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_NSH_DISABLE_TEST is not set
|
|
|
|
# CONFIG_NSH_DISABLE_UMOUNT is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_NSH_DISABLE_UNAME is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_NSH_DISABLE_UNSET is not set
|
|
|
|
# CONFIG_NSH_DISABLE_USLEEP is not set
|
|
|
|
# CONFIG_NSH_DISABLE_WGET is not set
|
|
|
|
# CONFIG_NSH_DISABLE_XD is not set
|
2016-07-21 01:28:39 +02:00
|
|
|
CONFIG_NSH_MMCSDMINOR=0
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Configure Command Options
|
|
|
|
#
|
|
|
|
# CONFIG_NSH_CMDOPT_DF_H is not set
|
|
|
|
CONFIG_NSH_CODECS_BUFSIZE=128
|
|
|
|
# CONFIG_NSH_CMDOPT_HEXDUMP is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
CONFIG_NSH_PROC_MOUNTPOINT="/proc"
|
2015-01-28 16:09:27 +01:00
|
|
|
CONFIG_NSH_FILEIOSIZE=1024
|
|
|
|
|
|
|
|
#
|
|
|
|
# Scripting Support
|
|
|
|
#
|
|
|
|
# CONFIG_NSH_DISABLESCRIPT is not set
|
|
|
|
# CONFIG_NSH_DISABLE_ITEF is not set
|
|
|
|
# CONFIG_NSH_DISABLE_LOOPS is not set
|
|
|
|
CONFIG_NSH_ROMFSETC=y
|
|
|
|
# CONFIG_NSH_ROMFSRC is not set
|
|
|
|
CONFIG_NSH_ROMFSMOUNTPT="/etc"
|
|
|
|
CONFIG_NSH_INITSCRIPT="init.d/rcS"
|
|
|
|
CONFIG_NSH_ROMFSDEVNO=1
|
|
|
|
CONFIG_NSH_ROMFSSECTSIZE=64
|
|
|
|
CONFIG_NSH_DEFAULTROMFS=y
|
|
|
|
# CONFIG_NSH_ARCHROMFS is not set
|
|
|
|
# CONFIG_NSH_CUSTOMROMFS is not set
|
|
|
|
CONFIG_NSH_FATDEVNO=2
|
|
|
|
CONFIG_NSH_FATSECTSIZE=512
|
|
|
|
CONFIG_NSH_FATNSECTORS=1024
|
|
|
|
CONFIG_NSH_FATMOUNTPT="/tmp"
|
|
|
|
|
|
|
|
#
|
|
|
|
# Console Configuration
|
|
|
|
#
|
|
|
|
CONFIG_NSH_CONSOLE=y
|
|
|
|
# CONFIG_NSH_ALTCONDEV is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
CONFIG_NSH_ARCHINIT=y
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Networking Configuration
|
|
|
|
#
|
2016-06-09 17:29:47 +02:00
|
|
|
CONFIG_NSH_NETINIT=y
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_NSH_NETINIT_THREAD is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# IP Address Configuration
|
|
|
|
#
|
|
|
|
# CONFIG_NSH_NOMAC is not set
|
|
|
|
CONFIG_NSH_MAX_ROUNDTRIP=20
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_NSH_LOGIN is not set
|
|
|
|
# CONFIG_NSH_CONSOLE_LOGIN is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# NxWidgets/NxWM
|
|
|
|
#
|
|
|
|
|
|
|
|
#
|
|
|
|
# Platform-specific Support
|
|
|
|
#
|
|
|
|
# CONFIG_PLATFORM_CONFIGDATA is not set
|
|
|
|
|
|
|
|
#
|
|
|
|
# System Libraries and NSH Add-Ons
|
|
|
|
#
|
|
|
|
# CONFIG_SYSTEM_CLE is not set
|
|
|
|
# CONFIG_SYSTEM_CUTERM is not set
|
2016-06-09 17:24:51 +02:00
|
|
|
# CONFIG_SYSTEM_FREE is not set
|
2016-07-21 01:28:39 +02:00
|
|
|
# CONFIG_SYSTEM_HEX2BIN is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_SYSTEM_HEXED is not set
|
2016-06-09 17:24:51 +02:00
|
|
|
# CONFIG_SYSTEM_INSTALL is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_SYSTEM_NETDB is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_SYSTEM_RAMTEST is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
CONFIG_READLINE_HAVE_EXTMATCH=y
|
2015-01-28 16:09:27 +01:00
|
|
|
CONFIG_SYSTEM_READLINE=y
|
|
|
|
CONFIG_READLINE_ECHO=y
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_READLINE_TABCOMPLETION is not set
|
|
|
|
# CONFIG_READLINE_CMD_HISTORY is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_SYSTEM_SUDOKU is not set
|
2015-11-29 20:52:50 +01:00
|
|
|
# CONFIG_SYSTEM_SYMTAB is not set
|
2016-11-19 16:41:24 +01:00
|
|
|
# CONFIG_SYSTEM_SYSTEM is not set
|
|
|
|
# CONFIG_SYSTEM_TEE is not set
|
SUMMARY
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-21 01:36:14 +02:00
|
|
|
# CONFIG_SYSTEM_UBLOXMODEM is not set
|
2016-06-09 17:24:51 +02:00
|
|
|
# CONFIG_SYSTEM_VI is not set
|
2015-01-28 16:09:27 +01:00
|
|
|
# CONFIG_SYSTEM_ZMODEM is not set
|