As far as I am aware, the NI will not handle having multiple
simultaneous MAC addresses. I don't recall there being any production
code to put the transceiver into promiscuous mode, sniffing packets and
changing the MAC address on a transmit. In theory, it would appear to
be possible in that the NI would do this.
If you are not running DECnet, you can change the MAC address to
whatever you want while the machine is up and you just have to wait for
ARP caches to catch up. There is some support for multi-homing, but I
had thought that this required separate hardware interfaces, such as an
IMP interface or CI, in addition to an NI.
If you do have DECnet, and you change the MAC address after SETSPD has
set the machine's DECnet address, DECnet won't work. Changing the DECnet
address to correspond to the new MAC address won't work; you have to
reboot. I don't really quite remember, but I had thought that you can't
change your CI's hardware address at all as this is based on where you
plug into the STAR connector.
I run a separate, dedicated Ethernet interface on a per-KLH10 instance.
I did have both the host and the 20 sharing the same interface and this
will work as long as you use the MAC address that the 20 wants you to.
I ran into trouble with that (I don't remember what, this was 20 years
ago), so I bought an additional NIC for the 20 and never looked back.
I don't know enough about tap interfaces to have an informed opinion.
On 5/16/24 4:47 PM, Johnny Billquist wrote:
DECnet addresses are AA-00-04-00-xx-yy, which I'm
sure most people are
aware of. As such, as long as each machine has it's own DECnet
address, they will also have their own MAC address. The question is,
though, if KLH handles this completely transparent to you, or if you
need to do some things yourself here. For other simulators, it sortof
depends on the host system and your setup, and so on, since there is
no standardized API under Unix (or Windows, I believe) to set the MAC
address on an interface. But there sometimes do exist an API for it.
For real hardware, the network interfaces do have a MAC from the
factory, but it's also stated in the standards that ethernet
interfaces should support software changing the MAC address of the
interface. And that is what DECnet normally does, and all DEC ethernet
interfaces certainly allows this to be changed. And that means any
emulator/simulator also gets informed about the MAC address change,
since the OS running on the emulator will poke at the controller for
it to change the MAC address to whatever DECnet needs it to be.
The question is then, what does the emulator/simulator do when this
happens?
Johnny
On 2024-05-16 22:41, Thomas DeBellis wrote:
On a KL emulation running Tops-20, if you want to
run Phase IV, you
have a choice of the CI or NI. In order to not implement ARP for
DECnet, they came up with the idea of a certain range of 48 bit MAC
address having a direct mapping.
For the CI, this is built off of the CI interface number and there is
no getting around that, as I recall. For the NI, it wants to pick
the MAC address. You can get around this by knowing what MAC address
it will pick and configuring that. It's sometimes easier to just
spend the $15 and get another USB interface and dedicate it to the
engine.
Otherwise, if you have three separate klh10's, they will insist on
having their own separate MAC address.
I wasn't sure how you could do that except maybe with virtual
machines and some kind of hypervisor.
------------------------------------------------------------------------
On 5/16/24 4:17 PM, Johnny Billquist wrote:
Oh. One more thing - tap2 and tap3 are for KLH,
right? Is there some
trickery you need to do in order to get the DECnet correct MAC
address on things here? Also applies for the PyDECnet instance
perhaps...
Johnny
On 2024-05-16 20:30, Anders Andersson wrote:
Thank you foryourfeedback Yes,the
KLH10istancesall run on thsame
Linux Mint
host that runs the apydecanet router calledKSKAL,and I haveno
additioal
hardware on that internal segment which lookslike this now:
oot@kaskal:/home/andersa# brctl show
bridge name bridge id STP enabled interfaces
bridge0 8000.26d039e4c0f4 no tap1
tap2
tap3
If that doesn't indicate that thethreetap interfaceshavbeen addedto
the bridge,I don't know what does. Are there any other diagnostics you
want me to check? I dont know whether the following add anything
relevant:
root@kaskal:/home/andersa# ifconfig bridge0
bridge0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.9.78 netmask 255.255.255.0 broadcast
192.168.9.255
inet6 fe80::4cf6:1fff:fe01:f257 prefixlen 64 scopeid
0x20<link>
ether 26:d0:39:e4:c0:f4 txqueuelen 1000 (Ethernet)
RX packets 557072 bytes 143985475 (143.9 MB)
RX errors 0 dropped 450854 overruns 0 frame 0
TX packets 106193 bytes 4586565 (4.5 MB)
TX errors 0 dropped 0overruns 0 carrier 0 collisions 0
root@kaskal:/home/andersa# ifconfig tap1
tap1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::6032:eff:fedb:7b94 prefixlen 64 scopeid
0x20<link>
ether 62:32:0e:db:7b:94 txqueuelen 1000 (Ethernet)
RX packets 176227 bytes 46414104 (46.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 318825 bytes 90356527 (90.3 MB)
TX errors 0 dropped 0overruns 0 carrier 0 collisions 0
root@kaskal:/home/andersa# ip tuntap show
tap0: tap persist
tap1: tap
tap2: tap
tap3: tap
The threeTOPS-20 hosts arealso awareof and can communicate with each
other. When I run tcpdump -i bridge0 I do see DECnet, DEC LAT and
TCP/IP
ARP traffic to or from the three TOPS-20 hosts pass by,according to
the
ethertype code as well as decoding done by tcpdump.
The KLH10 instances obtain their tap interfaces as part of their
startup configuration, so I have to restart them whenever I have reset
the bridge which I haven't done in a few days now. This is a sample
net
device onfiguration line from one host:
devdef ni0 564 ni20 dedic=true ifc=tap2 ifmeth=tap+bridge
ipaddr=192.168.9.72
dpdelay=3
The number of the interface specified with ifc= doesn't seem to
matter the machine
still gets assigned the next unassiged tap interface in order.And
it did work previously.
Eventually I hope to put all the bridge and pydecnet configuration
intoa
hecnet.service file andstart it from systemd.
Now I plan to restartpydecnet while logging bridg0 traffic using
tcpdmpto see
what comes up.
/AndersAndersson
_______________________________________________
HECnet mailing list -- hecnet(a)lists.dfupdate.se
To unsubscribe send an email to hecnet-leave(a)lists.dfupdate.se
_______________________________________________
HECnet mailing list -- hecnet(a)lists.dfupdate.se
To unsubscribe send an email to hecnet-leave(a)lists.dfupdate.se