@Override
	protected void receivePacket(Packet inPacket,String inInterfaceName) throws LowLinkException{
                if(sz!=1){
		Ethernet_packet tempPacket = (Ethernet_packet)inPacket;
                Enumeration it;
                
                
		try{
                    it = NetworkInterfacetable.elements();
                    
                
                    while(it.hasMoreElements()){
			//Create a copy of the packet
			Ethernet_packet copyPacket = new Ethernet_packet(tempPacket.getData(), tempPacket.getDestinationMACAddress(),tempPacket.getSourceMACAddress());
			
			//Test to see if the current Interface is the Interface that sent in the packet
			// if it is skip that interface
			NetworkInterface tempInterface = (NetworkInterface)it.nextElement();
			if(!tempInterface.getName().equals(inInterfaceName)){
                            
                            try{
				tempInterface.sendPacket(copyPacket);
                            }catch(NullPointerException e){
                                System.out.println("Hub.java: " + e.toString());
                            }
			}						
                        
                    }
                  
               }catch(Throwable th)
               {
                   if(th.toString().contains("Packet lost due to physical link problems!")){
                    throw new LowLinkException(th.toString());   
                   }else{
                    sz=1;
                    System.out.println("Hub buffer overflow?");
                    System.out.println(th.toString());
                    System.out.println(th.getStackTrace().length);
                    throw new LowLinkException("Hub buffer overflow (packet loop flood?).");
                   }
               }
            }
	}