README.api
author Tom Henderson <tomh@tomh.org>
Wed, 08 Apr 2009 16:07:34 -0700
changeset 4373 e493e80274bd
parent 4371 d942c257847d
child 4374 2aae35f2287f
permissions -rw-r--r--
implementation and plumbing of Ipv4InterfaceAddress class
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4371
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     1
1. Changeset:
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     2
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     3
Synopsis:
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     4
--------
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     5
- deconflict NetDevice::ifIndex and Ipv4::ifIndex (bug 85)
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     6
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     7
Changed public API (src/node)
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     8
--------
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     9
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    10
All function parameters named "ifIndex" that refer to an Ipv4 interface
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    11
are instead named "interface". 
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    12
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    13
- static const uint32_t Ipv4RoutingProtocol::IF_INDEX_ANY = 0xffffffff;
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    14
+ static const uint32_t Ipv4RoutingProtocol::INTERFACE_ANY = 0xffffffff;
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    15
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    16
- bool Ipv4RoutingProtocol::RequestIfIndex (Ipv4Address destination, uint32_t& ifIndex);
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    17
+ bool Ipv4RoutingProtocol::RequestInterface (Ipv4Address destination, uint32_t& interface);
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    18
(N.B. this particular function will be later renamed to RouteOutput() in the 
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    19
proposed IPv4 routing refactoring)
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    20
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    21
- uint32_t Ipv4::GetIfIndexByAddress (Ipv4Address addr, Ipv4Mask mask);
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    22
+ int_32t Ipv4::GetInterfaceForAddress (Ipv4Address address, Ipv4Mask mask) const;
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    23
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    24
- bool Ipv4::GetIfIndexForDestination (Ipv4Address dest, uint32_t &ifIndex) const;
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    25
+ bool Ipv4::GetInterfaceForDestination (Ipv4Address dest, uint32_t &interface) const;
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    26
(N.B. this function is not needed in the proposed Ipv4 routing refactoring)
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    27
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    28
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    29
New public API or classes (src/node)
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    30
--------
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    31
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    32
None.
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    33
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    34
Changed private API (src/internet-node)
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    35
--------
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    36
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    37
New private API or classes (src/internet-node)
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    38
--------
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    39
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    40
None.
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    41
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    42
Changeset:
d942c257847d File for documenting API changes of this repo
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    43
- allow multiple IPv4 addresses to be assigned to an interface (bug 188)