Commit Graph

778 Commits

Author SHA1 Message Date
Steve
bd3ef36eda 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-20 17:36:14 -06:00
Gregory Nutt
8c1534e3ed VNC: Finish initializing the VNC server once we have the NX handle 2016-04-22 13:39:35 -06:00
Gregory Nutt
46846c0c24 Framebuffer driver: Add a display number to each interface in order to support multiple displays 2016-04-14 12:23:15 -06:00
Gregory Nutt
3228d32938 Correct permmisions on executable scripts 2016-04-10 09:11:59 -06:00
Gregory Nutt
7337e748de Merge in configs/ submodule 2016-04-10 07:57:59 -06:00
Gregory Nutt
ad61b7ab3e Remove all references to CONFIG_SYSTEM_SDCARD 2016-03-30 17:53:19 -06:00
Gregory Nutt
1652052f52 Update a README.txt 2016-03-23 14:48:03 -06:00
Gregory Nutt
e5b0c0e502 Remove most unused references to CONFIG_NET_MULTICAST. Rename other uses of CONFIG_NET_MULTICAST to avoid naming comflicts. 2016-03-20 13:15:58 -06:00
Gregory Nutt
12c14ee718 Rename CONFIG_WIRELESS to CONFIG_DRIVERS_WIRELESS 2016-02-26 16:45:29 -06:00
Gregory Nutt
da751159ef Update README.txt 2016-02-19 15:35:02 -06:00
Gregory Nutt
c1cca31551 Upate README 2016-02-19 06:51:39 -06:00
Gregory Nutt
f3e8b0ce28 Update README 2016-02-18 17:12:17 -06:00
Gregory Nutt
10fed19e48 Trivial update to README 2016-02-18 13:38:14 -06:00
Gregory Nutt
0edfbdf33b Update README.txt 2016-02-17 13:35:56 -06:00
Gregory Nutt
0b3bc73fec Update README.txt 2016-02-17 13:09:25 -06:00
Gregory Nutt
3cb652648b Update README.txt 2016-02-17 10:53:32 -06:00
Gregory Nutt
2eac61699c Refresh a configuration 2016-02-11 12:18:07 -06:00
Gregory Nutt
fa7733b9fa Refresh a configuration 2016-02-10 10:34:56 -06:00
Gregory Nutt
656e730f8f apps/system/ramtron has been removed. 2016-01-27 10:39:30 -06:00
Gregory Nutt
382e00b294 Update some configurations 2016-01-22 10:43:56 -06:00
Gregory Nutt
2f005d9b53 Password file is now in base64, not hex 2016-01-21 16:28:09 -06:00
Gregory Nutt
fff73ea68f Update README 2016-01-21 08:55:09 -06:00
Gregory Nutt
63c7d86d66 Update README 2016-01-20 18:42:38 -06:00
Gregory Nutt
9535c909d3 Rename CONFIG_SYSTEM_INIFILE to CONFIG_FSUTILS_INIFILE 2016-01-20 17:11:48 -06:00
Gregory Nutt
a1b4b2d032 Fix some typos in ROMFS image source; update README; NSH configuratin is now password protected 2016-01-20 14:36:58 -06:00
Gregory Nutt
47ce7b929c sim/nsh: Correct path to passwd file in ROMFS. Make passwd file as read-only 2016-01-20 13:02:52 -06:00
Gregory Nutt
814eadc1c2 sim: No supports a custom ROMFS startup structure that now also includes a passwd file. Has hooks for an MOTD. 2016-01-20 12:27:59 -06:00
Gregory Nutt
004f4b8896 All bash scripts should be marked executable 2016-01-15 07:54:27 -06:00
Gregory Nutt
9e548d34c3 mkdeps.sh and mkdeps.bat have been deleted. All configurations must now use the compiler mkeps prograqm 2016-01-09 16:06:15 -06:00
Gregory Nutt
5ad57111af sim/nsh: hello task sometimes needs a larger stack size or things get clobbered when calling into the system write() interface 2016-01-05 17:22:59 -06:00
Gregory Nutt
697bc47187 Refresh configuration; update README 2015-12-30 12:36:53 -06:00
Gregory Nutt
b90f5ba7f4 Remove CONFIG_DISCRETE_IO from all defconfig files 2015-12-15 08:41:10 -06:00
Gregory Nutt
54ea059beb Add new boardctl() command to set OS symbol table 2015-12-13 08:13:15 -06:00
Gregory Nutt
9a4192d22b Remove CONFIG_NET_PINGADDRCONF. This was a uIP way of assigning IP addresses, but is not standard and not a appropriate feature in general. 2015-12-01 07:47:41 -06:00
Gregory Nutt
5926a09498 Update README 2015-11-30 13:05:14 -06:00
Gregory Nutt
1216398f62 sam: Refresh all configurations: Enable PROCFS and NSH_ARCHINIT in all NSH configurations 2015-11-29 13:52:50 -06:00
Gregory Nutt
b9a26bae77 Move up_appinit.c to configs/sim/src where it belongs. Add logic to automatically mount the procfs file system if it is enabled. 2015-11-29 13:30:12 -06:00
Gregory Nutt
2eff9aa773 Enable procfs file system in sim/nsh configuration 2015-11-28 07:01:31 -06:00
Gregory Nutt
87530bf910 Enable /dev/zero and /dev/loop in sim/nsh configuration 2015-11-26 06:58:09 -06:00
Gregory Nutt
651bd9e8ad Rename CONFIG_LOOP to CONFIG_DEV_LOOP 2015-11-25 17:11:27 -06:00
Gregory Nutt
e687a9f1b9 sim/nsh: Enable NSH data command and extended time functions 2015-11-25 11:53:42 -06:00
Gregory Nutt
6cb20d3fba Standardize the width of all comment boxes in header files 2015-10-02 17:47:56 -06:00
Gregory Nutt
4c40db9586 Trivial changes from code review 2015-10-02 11:31:27 -06:00
Gregory Nutt
4f60d78d56 SAMV71-XULT: Add support for the NSH network monitor 2015-09-25 10:14:40 -06:00
Gregory Nutt
94a014085a Update the simulator README.txt file 2015-09-24 14:53:30 -06:00
Gregory Nutt
264f3bea65 Update README file 2015-09-10 13:08:32 -06:00
Paul A. Patience
55d8aee826 Simplify configs/ Makefiles by combining common longic into a new board.mk Makefile fragment. For Paul A. Patience" 2015-09-04 16:42:34 -06:00
Paul A. Patience
81268bb75c Add -Wundef warning flag 2015-09-01 13:19:57 -04:00
Gregory Nutt
00f8521e57 Refresh all nettest configuration 2015-08-26 14:36:17 -06:00
Gregory Nutt
42771a792f Refresh a configureatin 2015-08-24 13:47:13 -06:00
Gregory Nutt
bc9b901e13 Update README 2015-08-18 07:24:37 -06:00
Gregory Nutt
85b0c705e8 Add support for tab-completions in the sim/nsh configuration 2015-07-30 12:15:03 -06:00
Gregory Nutt
5c483d1f44 Refresh configuration 2015-07-28 07:28:54 -06:00
Gregory Nutt
bcee1434b6 Refresh configuration 2015-07-14 07:56:07 -06:00
Gregory Nutt
f7ba1b1eeb Remove all references to the dedunct CONFIG_SYSTEM_SYSINFO configuration from all defconfig files 2015-07-04 15:19:11 -06:00
Gregory Nutt
f652c770cd Refresh configuration 2015-07-04 12:46:50 -06:00
Gregory Nutt
2760ca1cda Enable CONFIG_BOARD_POWEROFF=y. Now you can use the NSH shutdown command to terminate the NSH session 2015-07-04 08:17:40 -06:00
Gregory Nutt
d1ab9c2e0a Remove the configs/ directory 2015-06-29 13:12:29 -06:00
Gregory Nutt
7214e52fb2 Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation 2015-06-28 08:08:57 -06:00
Gregory Nutt
342f5fe33d Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation 2015-06-28 08:08:57 -06:00
Gregory Nutt
1afba254b6 Extend apps/examples/unionfs so it is includes a root offset on one of the unified file sysems 2015-06-21 12:21:54 -06:00
Gregory Nutt
8d5cfcfb20 Extend apps/examples/unionfs so it is includes a root offset on one of the unified file sysems 2015-06-21 12:21:54 -06:00
Gregory Nutt
e7bf809c47 configs/sim/nsh: Need larger stack when posix_spawn 2015-06-18 10:59:29 -06:00
Gregory Nutt
d8da1d61ec configs/sim/nsh: Need larger stack when posix_spawn 2015-06-18 10:59:29 -06:00
Gregory Nutt
c09cc0dd07 Update some README files 2015-06-07 10:25:03 -06:00
Gregory Nutt
2225b1642c Update some README files 2015-06-07 10:25:03 -06:00
Gregory Nutt
f6a1963219 Add simulator configuration for testing the Union Fs. Fix a few bugs. Almost works but still too flaky 2015-06-05 15:02:24 -06:00
Gregory Nutt
a78224d114 Add simulator configuration for testing the Union Fs. Fix a few bugs. Almost works but still too flaky 2015-06-05 15:02:24 -06:00
Gregory Nutt
add36cc3de Add an option to disable support for long long formats in lib_vsprintf. From Alan Carvalho de Assis 2015-05-30 10:00:54 -06:00
Gregory Nutt
fce87336a4 Add an option to disable support for long long formats in lib_vsprintf. From Alan Carvalho de Assis 2015-05-30 10:00:54 -06:00
Gregory Nutt
0dbf579aa8 Fix numerous typos in configuration variable names. Tracked down by Alan Carvalho de Assis 2015-05-23 17:08:35 -06:00
Gregory Nutt
4adda9d428 Fix numerous typos in configuration variable names. Tracked down by Alan Carvalho de Assis 2015-05-23 17:08:35 -06:00
Gregory Nutt
0940d0ebfa configs/sim/src: Add logic to test localtime and TZ database. See apps/system/README.txt for info 2015-04-15 11:00:40 -06:00
Gregory Nutt
13bd65fe82 configs/sim/src: Add logic to test localtime and TZ database. See apps/system/README.txt for info 2015-04-15 11:00:40 -06:00
Gregory Nutt
fdfe38ea0d rch_tcinitialize() and arch_tcunitinitialize() renamed to board_tsc_setup() and board_tsc_teardown(). These are not long called directly by applications but only indirectly throught the crappy boardctl() OS interface. 2015-03-31 13:21:25 -06:00
Gregory Nutt
cf95d1a995 rch_tcinitialize() and arch_tcunitinitialize() renamed to board_tsc_setup() and board_tsc_teardown(). These are not long called directly by applications but only indirectly throught the crappy boardctl() OS interface. 2015-03-31 13:21:25 -06:00
Gregory Nutt
8dc26a0dd9 Fix a case in mq_timedsend() where the return errno value was being overwritten 2015-03-10 12:05:33 -06:00
Gregory Nutt
caea44a624 Fix a case in mq_timedsend() where the return errno value was being overwritten 2015-03-10 12:05:33 -06:00
Gregory Nutt
7583c94252 Move board_ prototypes from arch.h to board.h 2015-02-27 20:02:03 -06:00
Gregory Nutt
12d61531aa Move board_ prototypes from arch.h to board.h 2015-02-27 20:02:03 -06:00
Gregory Nutt
7547468e47 Cosmetic updates to comments 2015-02-12 13:44:22 -06:00
Gregory Nutt
63ac1ec423 Cosmetic updates to comments 2015-02-12 13:44:22 -06:00
Gregory Nutt
f3ed2e36ec Cosmetic update to a few comments 2015-02-01 12:23:57 -06:00
Gregory Nutt
011ff49685 Cosmetic update to a few comments 2015-02-01 12:23:57 -06:00
Gregory Nutt
962cec440d Refresh some configurations 2015-02-01 12:15:46 -06:00
Gregory Nutt
58c05f365e Refresh some configurations 2015-02-01 12:15:46 -06:00
Gregory Nutt
6867a78bce Fix compile issues with configs/sim/nettest 2015-02-01 12:00:30 -06:00
Gregory Nutt
6d7891c4de Fix compile issues with configs/sim/nettest 2015-02-01 12:00:30 -06:00
Gregory Nutt
00a561126d Unix domain: Add options to build in stream or datagram support separately 2015-01-31 07:58:51 -06:00
Gregory Nutt
0fc8d2fcc5 Unix domain: Add options to build in stream or datagram support separately 2015-01-31 07:58:51 -06:00
Gregory Nutt
94d18aedf4 apps/ustream and udgram: Change default FIFO path to /dev/fifo 2015-01-30 09:07:22 -06:00
Gregory Nutt
a5b6ddbc64 apps/ustream and udgram: Change default FIFO path to /dev/fifo 2015-01-30 09:07:22 -06:00
Gregory Nutt
ce67047a79 update configuration 2015-01-29 09:33:24 -06:00
Gregory Nutt
7a614072da update configuration 2015-01-29 09:33:24 -06:00
Gregory Nutt
bfa58153ec Minor fixes after initial tests with apps/examples/udgram 2015-01-28 15:27:54 -06:00
Gregory Nutt
72ac79e7a1 Minor fixes after initial tests with apps/examples/udgram 2015-01-28 15:27:54 -06:00
Gregory Nutt
d0e00041e6 Unix domain socket support is no longer EXPERIMENTAL 2015-01-28 13:22:53 -06:00
Gregory Nutt
508f8aefa6 Unix domain socket support is no longer EXPERIMENTAL 2015-01-28 13:22:53 -06:00
Gregory Nutt
3bc8bf4a38 sim/ustream: Add a configuration for testing Unix domain sockets with the simulator 2015-01-28 09:09:27 -06:00
Gregory Nutt
b4a67285f1 sim/ustream: Add a configuration for testing Unix domain sockets with the simulator 2015-01-28 09:09:27 -06:00