[Javanetsim-cvs] javaNetSim/core MultilayerSwitch.java, 1.4, 1.5 NetworkInterfacePort.java, 1.10, 1
Status: Beta
Brought to you by:
darkkey
From: Alexander B. <da...@us...> - 2008-10-22 09:49:24
|
Update of /cvsroot/javanetsim/javaNetSim/core In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv17503/core Modified Files: MultilayerSwitch.java NetworkInterfacePort.java Simulation.java Switch.java Log Message: Fixed bugs with ClassCasting, naming, dhcp re-leasing and VLANs. Index: Switch.java =================================================================== RCS file: /cvsroot/javanetsim/javaNetSim/core/Switch.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Switch.java 21 Oct 2008 11:50:24 -0000 1.11 --- Switch.java 22 Oct 2008 08:54:15 -0000 1.12 *************** *** 136,139 **** --- 136,141 ---- inInt.put(tempPacket.getSourceMACAddress(), "1"); Ethernet_packet copyPacket = new Ethernet_packet(tempPacket.getData(), tempPacket.getDestinationMACAddress(),tempPacket.getSourceMACAddress()); + // tag it + copyPacket.vlan_id = tempPacket.vlan_id; it = NetworkInterfacetable.elements(); Index: MultilayerSwitch.java =================================================================== RCS file: /cvsroot/javanetsim/javaNetSim/core/MultilayerSwitch.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** MultilayerSwitch.java 21 Oct 2008 11:50:24 -0000 1.4 --- MultilayerSwitch.java 22 Oct 2008 08:54:15 -0000 1.5 *************** *** 84,88 **** if(vlans[i].length() > 1){ String[] vlan = vlans[i].split(","); ! Vlans.put(Integer.valueOf(vlan[0]), vlan[1]); } } --- 84,91 ---- if(vlans[i].length() > 1){ String[] vlan = vlans[i].split(","); ! if(vlan.length>1) ! Vlans.put(Integer.valueOf(vlan[0]), vlan[1]); ! else ! Vlans.put(Integer.valueOf(vlan[0]), ""); } } *************** *** 175,178 **** --- 178,183 ---- .getData(), tempPacket.getDestinationMACAddress(), tempPacket.getSourceMACAddress()); + // tag it + copyPacket.vlan_id = tempPacket.vlan_id; it = NetworkInterfacetable.elements(); Index: Simulation.java =================================================================== RCS file: /cvsroot/javanetsim/javaNetSim/core/Simulation.java,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** Simulation.java 21 Oct 2008 11:50:24 -0000 1.34 --- Simulation.java 22 Oct 2008 08:54:15 -0000 1.35 *************** *** 906,909 **** --- 906,911 ---- throw new InvalidNodeNameException("Node already exists with same name"); } + }catch(InvalidNodeNameException ie){ + throw ie; }catch(Exception e){ e.printStackTrace(); Index: NetworkInterfacePort.java =================================================================== RCS file: /cvsroot/javanetsim/javaNetSim/core/NetworkInterfacePort.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** NetworkInterfacePort.java 20 Oct 2008 23:46:56 -0000 1.10 --- NetworkInterfacePort.java 22 Oct 2008 08:54:15 -0000 1.11 *************** *** 156,165 **** protected void receivePacket(Packet inPacket) throws LowLinkException { if(!parentNode.On) return; boolean drop = false; ! if(mode == MODE_ACCESS && (((Ethernet_packet)inPacket).vlan_id != vlan)) drop = true; ! ! if(!drop) parentNode.receivePacket(inPacket, name); return; --- 156,172 ---- protected void receivePacket(Packet inPacket) throws LowLinkException { if(!parentNode.On) return; + + Ethernet_packet tempPacket = (Ethernet_packet)inPacket; boolean drop = false; ! ! if(mode == MODE_ACCESS && tempPacket.vlan_id == 1) ! tempPacket.vlan_id = vlan; ! ! if(mode == MODE_ACCESS && tempPacket.vlan_id != vlan) drop = true; ! ! if(!drop) ! parentNode.receivePacket(tempPacket, name); return; *************** *** 190,201 **** if(!parentNode.On) return; ! Ethernet_packet tempPacket = (Ethernet_packet)outPacket; EthernetLink temp = (EthernetLink)connectedLink; ! ! ! if(temp!=null){ temp.transportPacket(tempPacket,getSourceName()); --- 197,211 ---- if(!parentNode.On) return; ! ! boolean drop = false; ! Ethernet_packet tempPacket = (Ethernet_packet)outPacket; EthernetLink temp = (EthernetLink)connectedLink; ! if(mode == MODE_ACCESS && (tempPacket.vlan_id != vlan)) ! drop = true; ! ! if(temp!=null && !drop){ temp.transportPacket(tempPacket,getSourceName()); |