At 10:44 AM -0700 4/6/14, Mark Pizzolato - Info Comm wrote:
If you're going to drive this deeply into testing it would really be best if you ran with the latest code since your results may ultimately suggest code changes, AND the latest code may behave significantly different than the older versions.
Independent of which codebase you're running, and since you're now tweaking the behavior of the simulated hardware, you may want to look at sim> SHOW XQ STATS and try to analyze the relationship between these stats and the ones the OS sees.
Also, you may want to explore what happens if:
NCP> DEFINE LINE QNA-0 RECEIVE BUFFER 32
Is done prior to starting your network... The limit of 32 may be different on different Operating Systems...
Once again the latest code is available from: https://github.com/simh/simh/archive/master.zip
Mark, what kind of magic did you perform on XQ?
I tried commit 753e4dc9 and overruns are gone. No more NFT/FAL hangups. Transfer speed is higher than ever : 10000. blocks in 4 seconds. I can't believe it. This ROCKS.
Maybe the secret is here:
sim> sh xq
XQ address=17774440-17774457, vector=120, MAC=08:00:2B:AA:BB:01
type=DEQNA, polling=disabled, sanity=OFF
leds=(ON,ON,ON)
attached to eth0
"polling=disabled"
--
Jean-Yves Bernier
On 06/04/2014 05:34 PM, John Dohn wrote:
Hi, guys!
Do anyone have archive of conferences mentioned at
http://www.buschdorf.eu/vaxnotes/ ?
I sure hope so. It looks like the suits got to it!
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
On Sunday, May 25, 2014 at 10:14 AM, Johnny Billquist wrote:
On 2014-05-25 19:04, Hans Vlems wrote:
Huh? With ethernet, communication with adjacent nodes works without
involving any routers anyway. And if you need to talk with anything beyond,
you're going to go through the router on the way there anyway.
Really, unless you actually have several interfaces, there is no gain in running
a router compared to an endnode. However, running a router definitely use
up more resources, which is a disadvantage.
Anyway, i'd stop using the same 08-00-2B address on two nodes, shutdown
the simulators the VM host and the real iron.
Would still not make any difference, which I have pointed out several times
now, and also what Jean-Yves have been observing the last two days.
Really. There is no black magic here. I can explain every bit of it if someone
needs more convincing.
Essentially, the MAC address in the actual ethernet controller (or the MAC
address set before boot in simh) is irrelevant. Once DECnet starts running,
that MAC address is not used anymore. It is just a trivia piece of information
so that you can know what the hardware MAC address from the factory is. It
is not used by anything, especially not anything related to network
communication.
The VM host in turn cares even less, since whatever MAC address simh plays
around with is fully local to simh, and does not affect the VM host.
Any questions?
Actually depending on the timing, having multiple nodes on the same LAN with the same hardware MAC address WILL cause an error in a simh configuration.
A little background here is appropriate:
VMS (and presumably other DECnet capable DEC Operating Systems) have logic in the network device driver which attempts to assure that no other node on the LAN has the same MAC address whenever an application or protocol stack attempts to set the Physical Address on the network card. The validation step uses the Loopback protocol to send a packet to (and from) the MAC address which the software is trying to set the Physical Address to and if a response is actually received, the attempt to set the Physical Address is rejected. This is intended to detect duplicate DECnet addresses on a LAN segment.
The process of sending loopback packets like this (and correctly getting answers when the problems they are designed to detect were there) caused some interesting structural design issues in the sim_ether layer way back when the XQ device was first being developed.
As it turns out, the process described above was designed BEFORE learning bridges and other switches which are fundamentally part of networks today were in use. The initial simh Ethernet device implementations reflected the hardware behavior. The hardware behavior first set the Physical MAC address to the new value and then sent the loopback packet, but on switched networks this didn't actually detect the problem it was originally designed to detect. The detection problem is due to the fact that learning bridges AND most switches running some form of spanning tree protocol generally don't forward the first packet they see from a particular address. They may not forward packets from a particular address for a good number of seconds while they potentially learn about changing topologies. The 'right' approach to implement this test would be for the loopback packet to be sent from the current Physical MAC address BEFORE it is changed. This approach works on learning networks (presuming that the current Physical MAC address had already been learned on that LAN due to other traffic).
The current simulated approach to this problem does several things: 1) it detects the send to self loopback attempt and before actually transmitting anything changes the source address of the loopback packet to be the current physical address of the host system's lan interface. 2) it temporarily enables capture of a potential loopback response to the host system's MAC address in the pcap filter in effect. 3) it then sends the packet. If a response is received, it is reformatted to look like what the original hardware response would have been if a duplicate MAC address had been found and then passes that up into the simulated system.
This approach effectively detects duplicate DECnet addresses on today's LANs.
As I mentioned above, the VMS driver actually performs this loopback test ANY time the Physical MAC address is changed, not just by DECnet or cluster software. The original logic in sim_ether only had examples with DECnet addresses so it the tests to detect this presumed DECnet format MAC addresses. Once I realized that a complete solution involved any address, I generalized the check. After I generalized the check, I realized that DECnet Phase V systems don't change their LAN interface MAC addresses. Given the potential of multiple simulated systems existing on the same LAN with potentially conflicting MAC addresses, I leveraged the already existing logic to verify that the Hardware MAC address wasn't already in use on the LAN by executing the above mentioned loopback test when a simh LAN device is attached to a network segment.
So, if you've got 2 simh VAX systems on the same LAN segment and you don't change the MAC address of the LAN interface:
System 1:
sim> show xq
XQ address=20001920-2000192F, no vector, MAC=08:00:2B:AA:BB:CC
type=DELQA-T, mode=DELQA, polling=disabled, sanity=OFF
DEQNALock=OFF, leds=(ON,ON,ON)
not attached
sim> attach xq eth0
WinPcap version 4.1.3 (packet.dll version 4.1.0.2980), based on libpcap version 1.0 branch 1_0_rel0b (20091008)
Eth: opened OS device \Device\NPF_{A6F81789-B849-4220-B09B-19760D401A38}
sim>
System 2:
sim> show xq
XQ address=20001920-2000192F, no vector, MAC=08:00:2B:AA:BB:CC
type=DELQA-T, mode=DELQA, polling=disabled, sanity=OFF
DEQNALock=OFF, leds=(ON,ON,ON)
not attached sim> attach xq eth0
WinPcap version 4.1.3 (packet.dll version 4.1.0.2980), based on libpcap version 1.0 branch 1_0_rel0b (20091008)
Eth: opened OS device \Device\NPF_{A6F81789-B849-4220-B09B-19760D401A38}
XQ: MAC Address Conflict on LAN for address 08:00:2B:AA:BB:CC, change the MAC address to a unique value
Eth: closed \Device\NPF_{A6F81789-B849-4220-B09B-19760D401A38}
Unit not attachable
sim>
This functionality exists for all LAN devices on the supported simulators (XQ and XU in the Qbus and VAX family simulators) in the latest simh codebase.
Depending on the timing of various actions, the above collision wouldn't be detected if one of the nodes is running a network stack which changes the physical address. It will then be up to the simulated OS to potentially detect address collisions.
- Mark
On Saturday, May 24, 2014 at 3:12 AM, Jean-Yves Bernier wrote:
Node 10.1
Line = QNA-0
Controller = Normal
Counter timer = Off
Protocol = ETHERNET
Hardware address = 08-00-2B-AA-BB-CC
Controller CSR = 174440, Vector = 120
Priority = 5
Node 10.2
Line = QNA-0
Controller = Normal
Counter timer = Off
Protocol = ETHERNET
Hardware address = 08-00-2B-AA-BB-CC
Controller CSR = 174440, Vector = 120
Priority = 5
Shouldn't be AA-00-04-00-01-28 and AA-00-04-00-02-28 ?
Both nodes under simh.
The network is working, however.
Is it required to SET XQ MAC to match node address?
Without regard to how you happen to use a particular simulated Ethernet device, you should choose a unique hardware MAC address for that card. This would reflect how hardware manufacturers assign unique, but persistent, MAC addresses to each network device that they manufacture. Simh can't know if you've done this, and since you haven't explicitly changed the MAC address both of these simulated devices have the same hardware MAC address.
As it turns out, since you're using these Ethernet devices for DECnet hosts, due to how Phase IV DECnet was designed, the operating system changes the running MAC address to reflect the current DECnet address (or SCSSYSTEMID) that the system is running with. Since you've got more than one simulator running on your LAN, you should set the MAC addresses uniquely in the simulator configuration files before you attempt to attach the Ethernet device to a network. If you don't, there are timing situations which will cause the second simulators attach attempt to fail since it might detect that there is a MAC address conflict. This could happen if both simulators are connected to the LAN but haven't yet gotten far enough along in the VMS boot for the operating system to uniquely set the MAC addresses.
- Mark
- Mark
On Monday, May 26, 2014 at 7:09 AM, Jean-Yves Bernier wrote:
[ Summary : File transfers between two simh PDP hang, DECnet reports Data
overruns and Response timeouts ]
At 2:14 AM +0200 26/5/14, Johnny Billquist wrote:
This is a problem inside of DECnet on the simulated host. It gets
packets faster than it can process them, so some packets are dropped.
Unfortunately DECnet deals very bad with systematic packet loss like this.
You get retransmissions, and after a while the retransmission
timeout backs off until you have more than a minute between
retransmission attempts.
Anyway, if you can get simh to throttle the ethernet interface, that
might help you.
(I don't remember offhand if it do support such functionality.)
The service polling timer can be adjusted
SET XQ POLL={DEFAULT|4..2500}
Set to 100 by default.
Changing the polling timer makes a huge difference. Have a look at:
http://pastebin.com/AZ1U6bh3
Although it still hangs sometimes, reliability has vastly improved upon the
erratic behavior of the beginning. Remember, the completion time was
about 3 minutes.
We're almost there :)
This turns into an interesting challenge : optimize XQ service timer to make
overruns the lowest possible. This depends on many factors, among them is
the data sink bandwidth.
You may have flawless copy to TI:, but it will fail to disk. The terminal is
actually throttling the transfer. Disks are faster, and emulated disks are order
of magnitude faster than the original ones.
Emulation is pushing DECnet to speeds it was never designed for.
I'm running here as low as 10 polls/sec. Maybe 50 would be optimal, and
what about 500? I need a metrics. And tools. Here, I am using AT.
to time a 100. blocks file transfer. Overruns and timeouts still raise slowly, but
DECnet recovers happily most of the time.
If you're going to drive this deeply into testing it would really be best if you ran with the latest code since your results may ultimately suggest code changes, AND the latest code may behave significantly different than the older versions.
Independent of which codebase you're running, and since you're now tweaking the behavior of the simulated hardware, you may want to look at sim> SHOW XQ STATS and try to analyze the relationship between these stats and the ones the OS sees.
Also, you may want to explore what happens if:
NCP> DEFINE LINE QNA-0 RECEIVE BUFFER 32
Is done prior to starting your network... The limit of 32 may be different on different Operating Systems...
Once again the latest code is available from: https://github.com/simh/simh/archive/master.zip
Good Luck,
- Mark
On Tue, Jun 03, 2014 at 07:47:56PM +0000, Paul_Koning at Dell.com wrote:
It s worth doing the experiment to see whether (and
when) this is a problem in practice. Flash storage
devices like SD cards do wear leveling , and if that s
Do they? It took a while for the SSD industry to get it
right and I don't expect that the tech has trickled down
to SD cards yet. At least not on the cheap end. I'd like
to be proven wron though.
/P
I've put a couple of test SIXELs (I _THINK_ they're sixels, they display fine in DTTERM) in CHIMPY::[.SIXELS] in case your friend wants something to test.
I created them by converting a PNG to PBM using ImageMagick and then pbmtoln03 to go from PBM -> SIXEL.
Sampsa
On 1 Jun 2014, at 14:46, Johnny Billquist <bqt at softjar.se> wrote:
On 2014-05-31 11:31, Sampsa Laine wrote:
Anybody know of a terminal program that'll do Sixels?
A friend of mine have added it to xterm. He's also working on ReGIS. I don't know if he's release it yet, but you could search around...
Johnny
Sampsa
On 31 May 2014, at 11:50, Cory Smelosky <b4 at gewt.net> wrote:
On Sat, 31 May 2014, Erik Olofsen wrote:
At RULLFS::[.SEM] I typed in some of the code; sem3 doesn't work yet,
but sem2 does and is available at the task server.
Instead of using the graphics library the output is done in... sixels.
An example can be viewed with the sem button at
Looks like I need to fix up that VT340. ;)
http://rullf2.xs4all.nl/sg/sg.html
Erik
--
Cory Smelosky
http://gewt.net Personal stuff
http://gimme-sympathy.org Projects
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
On Wed, Jun 4, 2014 at 8:05 AM, Peter Lothberg <roll at stupi.se> wrote:
> My tunnels to you have been administratively shutdown as they have never
> been up before.
Why are there tunnels that are shutdown?
I shut them down as the tunnels were configured, but your end never came up. It has been mentioned a few times on the list, but nothing seemed to change. So, rather than put the configuration in a note somewhere (and lose it) I just shut them down.
(I can't grasp the concept, it's either up and working, or not at all?)
> shutdown". Here is the configuration in my router for the tunnels to you:
When I do something like "show decnet interfaces" those tunnels that are not working show up as 2 lines, rather than several. There are other reasons too, but this is what works for me :-)
> tunnel source FastEthernet0/0
You can put an IP address here, the same way as destination, and I
could check if I had teh corresponding tunnel.
I don't use the IP as my Cisco 1841 (previously a DECbrouter90) is behind a Cisco 800. However, my static IP is: 120.146.225.243.
> tunnel path-mtu-discovery
This does *NOT* work on the boxes I have, they are to small to run the
newer SW. (This is a no_op anyway, as there is no fragmentation code,
if the path_mtu is smaller than 576+gre+ip, packet is lost...)
I had the same issue when I was originally running my DECbrouter90 (before the power supply gave up). I have switched this option off.
Regards, Tim.
My tunnels to you have been administratively shutdown as they have never
been up before.
Why are there tunnels that are shutdown?
(I can't grasp the concept, it's either up and working, or not at all?)
shutdown". Here is the configuration in my router for the tunnels to you:
tunnel source FastEthernet0/0
You can put an IP address here, the same way as destination, and I
could check if I had teh corresponding tunnel.
tunnel path-mtu-discovery
This does *NOT* work on the boxes I have, they are to small to run the
newer SW. (This is a no_op anyway, as there is no fragmentation code,
if the path_mtu is smaller than 576+gre+ip, packet is lost...)
--P