[Javanetsim-cvs] javaNetSim/core MultilayerSwitch.java, 1.6, 1.7 NetworkInterfacePort.java, 1.11, 1
Status: Beta
Brought to you by:
darkkey
From: Alexander B. <da...@us...> - 2008-10-22 21:23:00
|
Update of /cvsroot/javanetsim/javaNetSim/core In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv10174/core Modified Files: MultilayerSwitch.java NetworkInterfacePort.java Log Message: Fixed multilayer swtches bug. Index: NetworkInterfacePort.java =================================================================== RCS file: /cvsroot/javanetsim/javaNetSim/core/NetworkInterfacePort.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** NetworkInterfacePort.java 22 Oct 2008 08:54:15 -0000 1.11 --- NetworkInterfacePort.java 22 Oct 2008 21:22:55 -0000 1.12 *************** *** 161,168 **** 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; --- 161,168 ---- boolean drop = false; ! if(mode == MODE_ACCESS && tempPacket.vlan_id == 1 && parentNode instanceof NetworkLayerDevice) tempPacket.vlan_id = vlan; ! if(mode == MODE_ACCESS && tempPacket.vlan_id != vlan && parentNode instanceof NetworkLayerDevice) drop = true; *************** *** 208,211 **** --- 208,213 ---- if(temp!=null && !drop){ + + tempPacket.vlan_id = 1; temp.transportPacket(tempPacket,getSourceName()); Index: MultilayerSwitch.java =================================================================== RCS file: /cvsroot/javanetsim/javaNetSim/core/MultilayerSwitch.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** MultilayerSwitch.java 22 Oct 2008 20:26:03 -0000 1.6 --- MultilayerSwitch.java 22 Oct 2008 21:22:55 -0000 1.7 *************** *** 175,183 **** Hashtable<String, Long> inInt = IntCaches.get(inInterfaceName); inInt.put(tempPacket.getSourceMACAddress(), Long.valueOf(System.currentTimeMillis())); ! Ethernet_packet copyPacket = new Ethernet_packet(tempPacket ! .getData(), tempPacket.getDestinationMACAddress(), ! tempPacket.getSourceMACAddress()); ! // tag it ! copyPacket.vlan_id = tempPacket.vlan_id; it = NetworkInterfacetable.elements(); --- 175,179 ---- Hashtable<String, Long> inInt = IntCaches.get(inInterfaceName); inInt.put(tempPacket.getSourceMACAddress(), Long.valueOf(System.currentTimeMillis())); ! it = NetworkInterfacetable.elements(); *************** *** 190,196 **** intFound = true; try { ! if(tempInterface.mode == NetworkInterfacePort.MODE_TRUNK ! || tempInterface.vlan == copyPacket.vlan_id) tempInterface.sendPacket(copyPacket); } catch (NullPointerException e) { System.out.println("MultilayerSwitch.java: " + e.toString()); --- 186,199 ---- intFound = true; try { ! if((tempInterface.mode == NetworkInterfacePort.MODE_TRUNK ! || tempInterface.vlan == tempPacket.vlan_id) && tempInterface.getConnectedLink()!=null){ ! Ethernet_packet copyPacket = new Ethernet_packet(tempPacket ! .getData(), tempPacket.getDestinationMACAddress(), ! tempPacket.getSourceMACAddress()); ! // tag it ! copyPacket.vlan_id = tempPacket.vlan_id; ! tempInterface.sendPacket(copyPacket); + } } catch (NullPointerException e) { System.out.println("MultilayerSwitch.java: " + e.toString()); *************** *** 210,216 **** try { ! if(tempInterface.mode == NetworkInterfacePort.MODE_TRUNK ! || tempInterface.vlan == copyPacket.vlan_id) tempInterface.sendPacket(copyPacket); } catch (NullPointerException e) { System.out.println("Switch.java: " + e.toString()); --- 213,226 ---- try { ! if((tempInterface.mode == NetworkInterfacePort.MODE_TRUNK ! || tempInterface.vlan == tempPacket.vlan_id) && tempInterface.getConnectedLink()!=null){ ! Ethernet_packet copyPacket = new Ethernet_packet(tempPacket ! .getData(), tempPacket.getDestinationMACAddress(), ! tempPacket.getSourceMACAddress()); ! // tag it ! copyPacket.vlan_id = tempPacket.vlan_id; ! tempInterface.sendPacket(copyPacket); + } } catch (NullPointerException e) { System.out.println("Switch.java: " + e.toString()); |