The following sequence works. Figuring out why is left as an exercise to
the reader ;-)

Commands:

lrcpc4:~/w/atm/switch/tcp# ./sw_tcp -b -d
lrcpc4:~# atmtcp -b -i 1 -s localhost 1
lrcpc4:~# atmtcp -b -i 2 -s localhost 2
lrcpc4:~# atmaddr -a 2 +1
lrcpc4:~/w/atm/switch/tcp# atmsigd -b -c 2.conf
lrcpc15:~# atmtcp -b -i 1 -s lrcpc4 3
lrcpc15:~# atmaddr -a 1 +2
lrcpc15:~/w/atm/switch/tcp# atmsigd -b -c 1.conf
lrcpc15:~$ ttcp_atm -r -a
lrcpc4:~$ ttcp_atm -t -a +2

--- switch.conf ---------------------------------------------------------------

command "atmsigd -c s1.conf -b -m switch 1.0.100 /tmp/1" socket /tmp/1 {
    itf 2 1.0.100
    route +1
}
command "atmsigd -c s2.conf -b -m switch 1.0.101 /tmp/2" socket /tmp/2 {
    itf 3 1.0.101
    default
}

--- s1.conf -------------------------------------------------------------------

debug log stderr
debug level warn
sig level debug
sig vpci 0 itf 2

--- s2.conf -------------------------------------------------------------------

debug log stderr
debug level warn
sig level debug
sig vpci 0 itf 3

--- 1.conf --------------------------------------------------------------------

debug log stderr
debug level warn
sig level debug
io vc 1.0.5
sig vpci 0 itf 1

--- 2.conf --------------------------------------------------------------------

debug log stderr
debug level warn
sig level debug
io vc 2.0.5
sig vpci 0 itf 2



The following picture shows a simplified view of the configuration. Note
that the command-line options have been choosen for clarity (and minor
details like the vpci settings in the configuration file have been
omitted) and are not identical with the ones given above.


+-----------------------------------------------------------------------+
| ./sw_tcp                                                              |
|                                                                       |
| +---------+          +----------------------------------+ 1.0.100     |
| |         |--/tmp/1--| atmsigd -m switch 1.0.100 /tmp/1 |---+         |
| |         |          +----------------------------------+   |         |
| | <relay> |                                                 +-----+   |
| |         |          +----------------------------------+   |     |   |
| |         |--/tmp/2--| atmsigd -m switch 1.0.101 /tmp/2 |---+     |   |
| +---------+          +----------------------------------+ 1.0.101 |   |
|      |							    |   |
|      |                      +--------------+                      |   |
|      |                      |              |                      |   |
|      |  control             |              |                      |   |
|      +----------------------|              |                    itf 1 |
|                             |   <fabric>   |                      |   |
|                             |              |                      |   |
|        2.0.5 <--> 1.0.100   |              |                      |   |
|        3.0.5 <--> 1.0.101   | 2    3     1 |                      |   |
|                             +--------------+                      |   |
|                               |    |     |                        |   |
+-------------------------------|----|-----|------------------------|---+
   			        |    |     |                        |
     +----------------------------+  |   +----------------------------+
     | atmtcp -i 2 -s localhost 2 |  |   | atmtcp -i 1 -s localhost 1 |
     +----------------------------+  |   +----------------------------+
                   |                 |
	       itf 2 (+1)	     +----- - - - - -----+
		   |					 |
           +---------------+		|  on lrcpc15:	 |
           | atmsigd 2.0.5 |				 |
           +---------------+		|		 |
							 |
					|   +-------------------------+
                                            | atmtcp -i 1 -s lrcpc4 3 |
                                        |   +-------------------------+
                     					 |
					|	     itf 1 (+2)
                     					 |
					|	 +---------------+
                                		 | atmsigd 1.0.5 |
					|	 +---------------+
