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());
|