[Javanetsim-cvs] javaNetSim/core/protocolsuite/tcp_ip/ospf OSPF.java,1.8,1.9 OSPF_lsatypeone.java,1.
Status: Beta
Brought to you by:
darkkey
From: Alouette <alo...@us...> - 2006-02-24 13:06:12
|
Update of /cvsroot/javanetsim/javaNetSim/core/protocolsuite/tcp_ip/ospf In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3656/core/protocolsuite/tcp_ip/ospf Modified Files: OSPF.java OSPF_lsatypeone.java Log Message: Index: OSPF_lsatypeone.java =================================================================== RCS file: /cvsroot/javanetsim/javaNetSim/core/protocolsuite/tcp_ip/ospf/OSPF_lsatypeone.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** OSPF_lsatypeone.java 23 Feb 2006 20:12:41 -0000 1.3 --- OSPF_lsatypeone.java 24 Feb 2006 13:05:57 -0000 1.4 *************** *** 69,71 **** --- 69,83 ---- return LinkCount; } + public Vector Getlinkslist() + { + return linkslist; + } + public String GetRouterByNumber(int innumber) + { + return ((LinkDeclaration)linkslist.elementAt(innumber)).LinkID; + } + public int GetMetricByNumber(int innumber) + { + return ((LinkDeclaration)linkslist.elementAt(innumber)).TOS0metric; + } } Index: OSPF.java =================================================================== RCS file: /cvsroot/javanetsim/javaNetSim/core/protocolsuite/tcp_ip/ospf/OSPF.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** OSPF.java 24 Feb 2006 10:55:32 -0000 1.8 --- OSPF.java 24 Feb 2006 13:05:57 -0000 1.9 *************** *** 364,369 **** //DDSN++; //!!! tosend.setDestIPAddress(DesignatedRouter); ! // mParentStack.sendPacket(tosend); ! } --- 364,369 ---- //DDSN++; //!!! tosend.setDestIPAddress(DesignatedRouter); ! /*mParentStack.sendPacket(tosend);*/ ! } *************** *** 386,393 **** } ! public void ReceiveLinkStateUpdatePacket (OSPFlinkstateupdate_packet inPacket) { // forward ! if (inPacket.GetRouterID() != DesignatedRouter) { inPacket.SetRouterID(this.RouterID); --- 386,393 ---- } ! public void ReceiveLinkStateUpdatePacket (OSPFlinkstateupdate_packet inPacket, int PhaseMessage) { // forward ! if ((inPacket.GetRouterID() != DesignatedRouter) && (PhaseMessage==1)) { inPacket.SetRouterID(this.RouterID); *************** *** 399,402 **** --- 399,449 ---- } // operate packet + if ((inPacket.GetRouterID() == DesignatedRouter) && (PhaseMessage ==2)) + { + // forward this message to neighbors if + int i=0; + int flag=0; + while ((i<Graf.size()) && (flag==0)) + { + if (((RouterRecord)Graf.elementAt(i)).RouterID.equals(this.RouterID)) + { + //to all neighbors + RouterRecord tempRouterRecord = new RouterRecord(); + tempRouterRecord = ((RouterRecord)Graf.elementAt(i)); + int j=0; + for (j=0; j<tempRouterRecord.NeighborRouters.size(); j++) + { + if (!((RouterLink)tempRouterRecord.NeighborRouters.elementAt(j)).RouterID.equals(DesignatedRouter) ) + { + // send message to neighbor + //OSPFlinkstateupdate_packet tosend = ; + inPacket.setDestIPAddress(((RouterLink)tempRouterRecord.NeighborRouters.elementAt(j)).RouterID); + ((OSPF_lsaheader)inPacket.GetLsaHeaderlist().elementAt(1)).SetLSsequencenumber(DDSN++); //!!!!!!! + SendQueue.addElement(inPacket); + try + { + mParentStack.sendPacket(inPacket); + }catch (Exception e) {} + } + } + } + flag=1; + } + // update own graf + OSPF_lsatypeone templsatypeone = new OSPF_lsatypeone(0); + templsatypeone=(OSPF_lsatypeone)inPacket.GetLsaAdvertismentlist().elementAt(1); + int k=0; + for (k=0; k<templsatypeone.Getlinkslist().size(); k++) + { + // see every record and update + AddRouter(this.RouterID, templsatypeone.GetRouterByNumber(k), templsatypeone.GetMetricByNumber(k)); + } + + + + } + // send acknowledgement + // to ALL message even if they are error messages + SendLinkAcknowledgement(inPacket); } |