Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS | NEXT CLASS FRAMES  | NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD DETAIL:  FIELD | CONSTR | METHOD

Class fi.hut.tcm.jacob.tcpip.arp.Arp

java.lang.Object
  |
  +--fi.hut.tcm.jacob.conduits.BaseConduit
        |
        +--fi.hut.tcm.jacob.conduits.Protocol
              |
              +--fi.hut.tcm.jacob.tcpip.arp.Arp

public class Arp
extends fi.hut.tcm.jacob.conduits.Protocol
Arp ARP (Address Resolution Protocol).
- Uses Ethernet broadcast to find Ethernet hardware address of any locally connected host with given IP address.
- Forwards and receives packets to and from the ARP/IP STUB and to the EthernetHeaderSession.
- Provides an interface for the user to the ARP Table.
- Basically, just encapsulates the ARP-related Conduits.
See also: ArpTable.


Field Summary
static long ARPEXPIREDTIME
          Time (milli seconds) after which Arp Table entry expires.
static long ARPFAILEDTIME
          Time (milli seconds) how long Arp Table entry (IP address) is concidered unreachable until new request can be done.
static byte ARPFAILURE
          Arp Table return code: failure
static byte ARPIMMUTABLE
          Arp Table code: entry is immutable.
static byte ARPMUTABLE
          Arp Table code: entry is mutable.
static byte ARPNOTINTABLE
          Arp Table return code: Ethernet address not found
static byte ARPOK
          Arp Table return code: Ethernet address found
static byte ARPOKBUTOLD
          ARP Table return code: Ethernet address found but old
static long ARPOKBUTOLDTIME
          Time (milli seconds) after which Arp Table entry is still valid but should be checked soon.
static int ArpTableSize
          Size of ARP-table
static int DebugLevel
          The different parts of the ARP protocol consult this variable for their debug level.
static int RequestTableSize
           
static int SIZEOFETHERADDR
          Size of EtherNet address
static int SIZEOFETHERHEADER
          Size of Ethernet header without preamble.
static int SIZEOFIPADDR
          Size of IP-address
 
Fields inherited from class fi.hut.tcm.jacob.conduits.Protocol
INSIDE_A, INSIDE_B
 
Fields inherited from class fi.hut.tcm.jacob.conduits.BaseConduit
id, SIDE_NUMBER, sides
 
Constructor Summary
Arp(EthernetAddress ethAddr)
           
 
Method Summary
void addIpAddress(IpAddress ipAddr)
           
void deepcopy()
          ARP-table can't be cloned.
void removeIpAddress(IpAddress ipAddr)
           
 
Methods inherited from class fi.hut.tcm.jacob.conduits.Protocol
accept, clone, initialSideCount, initSides
 
Methods inherited from class fi.hut.tcm.jacob.conduits.BaseConduit
accept, clone, dump, getId, getSide, getSideCount, initialSideCount, initSides
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notifyAll, notify, toString, wait, wait, wait
 

Field Detail

ArpTableSize

public static final int ArpTableSize
Size of ARP-table

RequestTableSize

public static final int RequestTableSize

SIZEOFIPADDR

public static final int SIZEOFIPADDR
Size of IP-address

SIZEOFETHERADDR

public static final int SIZEOFETHERADDR
Size of EtherNet address

SIZEOFETHERHEADER

public static final int SIZEOFETHERHEADER
Size of Ethernet header without preamble.

ARPOK

public static final byte ARPOK
Arp Table return code: Ethernet address found

ARPNOTINTABLE

public static final byte ARPNOTINTABLE
Arp Table return code: Ethernet address not found

ARPFAILURE

public static final byte ARPFAILURE
Arp Table return code: failure

ARPOKBUTOLD

public static final byte ARPOKBUTOLD
ARP Table return code: Ethernet address found but old

ARPFAILEDTIME

public static final long ARPFAILEDTIME
Time (milli seconds) how long Arp Table entry (IP address) is concidered unreachable until new request can be done.

ARPEXPIREDTIME

public static final long ARPEXPIREDTIME
Time (milli seconds) after which Arp Table entry expires.

ARPOKBUTOLDTIME

public static final long ARPOKBUTOLDTIME
Time (milli seconds) after which Arp Table entry is still valid but should be checked soon.

ARPIMMUTABLE

public static final byte ARPIMMUTABLE
Arp Table code: entry is immutable.

ARPMUTABLE

public static final byte ARPMUTABLE
Arp Table code: entry is mutable.

DebugLevel

public static int DebugLevel
The different parts of the ARP protocol consult this variable for their debug level.The levels are as follows:
Constructor Detail

Arp

public Arp(EthernetAddress ethAddr)
Method Detail

deepcopy

protected void deepcopy()
                throws java.lang.CloneNotSupportedException
ARP-table can't be cloned.

addIpAddress

public void addIpAddress(IpAddress ipAddr)

removeIpAddress

public void removeIpAddress(IpAddress ipAddr)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS | NEXT CLASS FRAMES  | NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD DETAIL:  FIELD | CONSTR | METHOD