What I asked is how M5 sets the mac addresses and what are the unique values(ARP table). I didn't find it in the M5 source codes.
Xin ---- Original message ---- >Date: Thu, 6 Dec 2007 23:06:20 -0500 >From: Ali Saidi <[EMAIL PROTECTED]> >Subject: Re: [m5-users] issues on switch model for cluster >To: M5 users mailing list <m5-users@m5sim.org> > >M5 sets the mac addresses automatically to be unique values. The >machines get each others MAC addresses through ARP discovery as they >would in any real system. Like I said, if you implement the IEEE >802.1D bridging spec, it will all just work. > >Ali > >On Dec 6, 2007, at 10:00 PM, <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> wrote: > >> The point is who sets those MAC address. The M5 simulator or >> users? I know the IP addresses are set by users in .rcS files. >> In the original M5, does each packet contain the destination >> mac address? Could you tell me where a packet is created >> in M5 source files? Thanks a lot. >> >> Xin >> >> ---- Original message ---- >>> Date: Thu, 6 Dec 2007 20:36:10 -0500 >>> From: Ali Saidi <[EMAIL PROTECTED]> >>> Subject: Re: [m5-users] issues on switch model for cluster >>> To: M5 users mailing list <m5-users@m5sim.org> >>> >>> The correct way is the MAC address, and it's always the mac address. >>> The IEEE 802.1D specification has a section on ethernet switches that >>> describes the process. >>> >>> Ali >>> >>> On Dec 6, 2007, at 7:19 PM, <[EMAIL PROTECTED]> wrote: >>> >>>> Actually, the EtherLink model can be completely replaced >>>> by the EtherSwitch model. The topology is looked as follows: >>>> ------------------------- >>>> System1--EtherInt1-|-Interface1--Interface2-|-EtherInt2--System2 >>>> | \ / | >>>> | \ / | >>>> | Interface3 | >>>> | | | >>>> ----------|---------------- >>>> EtherInt3 >>>> | >>>> System3 >>>> >>>> The above box is the switch model. The peer of EtherInt(i) is >>>> set to be Interface(i) and Interfaces in the box are >>>> interconnected with Links instead of EtherLinks. >>>> In your switch model, even though there are N EtherInts in >>>> the box and they are connected via Etherlinks from/to >>>> outside, some kind of route procedure is still needed. >>>> When the packet arrive at the EtherInt in the switch model, >>>> how can you determine which port is appropriate? I think >>>> the only way is to find the destination information from >>>> the packet,no matter mac address or ip address. >>>> So the question is how to get the destination information >>>> from packet. >>>> >>>> Xin >>>> >>>> ---- Original message ---- >>>>> Date: Thu, 6 Dec 2007 11:39:27 -0500 >>>>> From: Ali Saidi <[EMAIL PROTECTED]> >>>>> Subject: Re: [m5-users] issues on switch model for cluster >>>>> To: M5 users mailing list <m5-users@m5sim.org> >>>>> >>>>> >>>>> On Dec 6, 2007, at 11:06 AM, <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> >>>>> wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> I have created an EtherSwitch model to replace the EtherLink. >>>>>> However, I got two problems: >>>>>> >>>>>> 1) In original EtherLink model, each Interface has only one >>>>>> txlink, so when Interface::recvPacket(packet) is called by >>>>>> its peer, txlink->transmit(packet) is returned. But in >>>>>> the EtherSwitch model, each Interface has N-1 txlinks(N is >>>>>> # of systems), so function recvPacket(packet) must >>>>>> determine >>>>>> which txlink is needed to transmit the packet. >>>>> The idea is that each two endpoints should have an EtherInt. So >>>>> each >>>>> system will have an EtherInt and then the switch should have a >>>>> separate EtherInt for each "port" that exists on the switch. The >>>>> probably should be connected with an EtherLink. >>>>> >>>>>> I tried to >>>>>> find the destination information in the packet. I looked >>>>>> through base/inet.hh and found the function dst() can >>>>>> return >>>>>> the destination address, so I wrote the following codes: >>>>>> IpPtr p = IpPtr(packet); >>>>>> uint32_t ip_address = p->dst(); >>>>>> But the simulator exited with error when it ran the >>>>>> above codes. Can anyone know how to get the destination >>>>>> information from the packet? >>>>> You should read the IEEE 802.1D ethernet standard. Not all packets >>>>> transfered across ethernet are IP packets. You need to route >>>>> based on >>>>> MAC addresses, not on IP addresses. The switch model needs to >>>>> keep a >>>>> list of MAC addresses behind each port and then when it receives a >>>>> packet it needs to find the appropriate port and send the packet to >>>>> it. To be complete the model also needs to detect when no port >>>>> exists >>>>> and respond appropriately. >>>>> >>>>>> >>>>>> 2) similar to the above problem. In original EtherLink model, >>>>>> when Interface::isBusy() is called, it just returns >>>>>> txlink->busy() since it has only one txlink. But in the >>>>>> EtherSwitch model, isBusy doesn't know which txlink >>>>>> is needed to transmit the packet and the worse is no packet >>>>>> can be used to determine the destination. One feasible >>>>>> solution is make sure all txlinks are free before a packet >>>>>> is transmitted although only one txlink is used. My >>>>>> question is how to modify the original code in order to >>>>>> replace isBusy() by isBusy(packet). >>>>> I think this will be more clear when you read the above >>>>> specification, >>>>> but the architecture should look something like this: >>>>> http://zeep.eecs.umich.edu/~saidi/etherswitch.pdf >>>>> >>>>> Ali >>>>> >>>>> _______________________________________________ >>>>> m5-users mailing list >>>>> m5-users@m5sim.org >>>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users >>>> _______________________________________________ >>>> m5-users mailing list >>>> m5-users@m5sim.org >>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users >>>> >>> >>> _______________________________________________ >>> m5-users mailing list >>> m5-users@m5sim.org >>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users >> _______________________________________________ >> m5-users mailing list >> m5-users@m5sim.org >> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users >> > >_______________________________________________ >m5-users mailing list >m5-users@m5sim.org >http://m5sim.org/cgi-bin/mailman/listinfo/m5-users _______________________________________________ m5-users mailing list m5-users@m5sim.org http://m5sim.org/cgi-bin/mailman/listinfo/m5-users