class Vif

Virtual Interface class. More...

Definition#include <vif.hh>
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods


Detailed Description

Vif holds information about a virtual interface. A Vif may represent a physical interface, or may represent more abstract entities such as the Discard interface, or a VLAN on a physical interface.

 Vif (const string& vifname, const string& ifname = string(""))

Vif

Constructor for a given virtual interface name.

Parameters:
vifnamestring representation of the virtual interface (e.g., "port 0").
ifnamestring representation of associated interface.

 Vif (const Vif& vif)

Vif

Constructor to clone a Vif.

Parameters:
vifthe virtual interface to clone.

 ~Vif ()

~Vif

[virtual]

Destructor

string  str ()

str

[const]

Convert this Vif from binary form to presentation format.

Returns: C++ string with the human-readable ASCII representation of the Vif.

bool  operator== (const Vif& other)

operator==

[const]

Equality Operator

Parameters:
otherthe right-hand operand to compare against.

Returns: true if the left-hand operand is numerically same as the right-hand operand.

const string&  name ()

name

[const]

Get the vif name.

Returns: a string representation of the vif name.

const string&  ifname ()

ifname

[const]

Get the name of the physical interface associated with vif.

Returns: string representation of interface name.

void  set_ifname (const string& ifname)

set_ifname

Set the name of the physical interface associated with vif.

Parameters:
ifname

uint16_t  pif_index ()

pif_index

[const]

Get the physical interface index.

Returns: the physical interface index (if applicable).

void  set_pif_index (uint16_t v)

set_pif_index

Set the physical interface index.

Parameters:
vthe value of the physical interface index to set to.

enum { VIF_INDEX_INVALID = ((uint16_t)~0), VIF_INDEX_MAX = ((uint16_t)~0) }

Various vif_index related values.

const uint16_t  vif_index ()

vif_index

[const]

Get the virtual interface index.

Returns: the virtual interface index.

void  set_vif_index (uint16_t v)

set_vif_index

Set the virtual interface index.

Parameters:
vthe value of the virtual interface index to set to.

bool  is_pim_register ()

is_pim_register

[const]

Test if this vif is a PIM Register interface.

return true if this vif is a PIM Register interface, otherwise false.

bool  is_p2p ()

is_p2p

[const]

Test if this vif is a point-to-point interface.

return true if this vif is a point-to-point interface, otherwise false.

bool  is_loopback ()

is_loopback

[const]

Test if this vif is a loopback interface.

return true if this vif is a loopback interface, otherwise false.

bool  is_multicast_capable (void)

is_multicast_capable

[const]

Test if this vif is multicast capable.

return true if this vif is multicast capable, otherwise false.

bool  is_broadcast_capable (void)

is_broadcast_capable

[const]

Test if this vif is broadcast capable.

return true if this vif is broadcast capable, otherwise false.

bool  is_underlying_vif_up (void)

is_underlying_vif_up

[const]

Test if the underlying vif is UP.

An example of an underlying vif is the corresponding interface inside the kernel, or the MFEA interface which a PIM interface matches to.

return true if the underlying vif is UP (when applicable), otherwise false.

void  set_pim_register (bool v)

set_pim_register

Set/reset the vif as a PIM Register interface.

Parameters:
vif true, then set this vif as a PIM Register interface, otherwise reset it.

void  set_p2p (bool v)

set_p2p

Set/reset the vif as a point-to-point interface.

Parameters:
vif true, then set this vif as a point-to-point interface, otherwise reset it.

void  set_loopback (bool v)

set_loopback

Set/reset the vif as a loopback interface.

Parameters:
vif true, then set this vif as a loopback interface, otherwise reset it.

void  set_multicast_capable (bool v)

set_multicast_capable

Set/reset the vif as multicast capable.

Parameters:
vif true, then set this vif as multicast capable, otherwise reset it.

void  set_broadcast_capable (bool v)

set_broadcast_capable

Set/reset the vif as broadcast capable.

Parameters:
vif true, then set this vif as broadcast capable, otherwise reset it.

void  set_underlying_vif_up (bool v)

set_underlying_vif_up

Set/reset the underlying vif status (when applicable).

An example of an underlying vif is the corresponding interface inside the kernel, or the MFEA interface which a PIM interface matches to.

Parameters:
vif true, then set the underlying vif status as UP, otherwise the underlying vif status is set to DOWN.

const list<VifAddr>&  addr_list ()

addr_list

[const]

Get the list of all addresses for this vif.

Returns: the list of all addresses for this vif (VifAddr).

const IPvX*  addr_ptr ()

addr_ptr

[const]

Get the first vif address.

Returns: a pointer to the first valid interface address of this vif, or NULL if no addresses.

int  add_address (const VifAddr& vif_addr)

add_address

Add a VifAddr address to the interface.

Parameters:
vif_addrthe VifAddr (VifAddr) to add to the list of addresses for this vif.

Returns: XORP_OK if a new address, otherwise XORP_ERROR.

int  add_address (const IPvX& ipvx_addr, const IPvXNet& ipvxnet_subnet_addr, const IPvX& ipvx_broadcast_addr, const IPvX& ipvx_peer_addr)

add_address

Add an IPvX address and all related information to the interface.

Parameters:
ipvx_addrthe interface address.
ipvxnet_subnet_addrthe subnet address.
ipvx_broadcast_addrthe broadcast address.
ipvx_peer_addrthe peer address.

Returns: XORP_OK if a new address, otherwise XORP_ERROR.

int  add_address (const IPvX& ipvx_addr)

add_address

Add an IPvX address to the interface.

Parameters:
ipvx_addrthe interface address.

Returns: XORP_OK if a new address, otherwise XORP_ERROR.

int  delete_address (const IPvX& ipvx_addr)

delete_address

Delete an IPvX address from the interface.

Returns: XORP_OK on success, otherwise XORP_ERROR.

const VifAddrfind_address (const IPvX& ipvx_addr)

find_address

[const]

Find a VifAddr that corresponds to an IPvX address.

Parameters:
ipvx_addrthe IPvX address to search for.

Returns: a pointer to the VifAddr for address ipvx_addr if found, otherwise NULL.

bool  is_my_addr (const IPvX& ipvx_addr)

is_my_addr

[const]

Test if an IPvX address belongs to this vif.

Parameters:
ipvx_addrthe IPvX address to test whether belongs to this vif.

Returns: true if ipvx_addr belongs to this vif, otherwise false.

bool  is_my_vif_addr (const VifAddr& vif_addr)

is_my_vif_addr

[const]

Test if an VifAddr is belongs to this vif.

Parameters:
vif_addrthe VifAddr address to test whether belongs to this vif.

Returns: true if vif_addr belongs to this vif, otherwise false.

bool  is_same_subnet (const IPvXNet& ipvxnet)

is_same_subnet

[const]

Test if this vif belongs to a given subnet.

Parameters:
ipvxnetthe subnet address to test against.

Returns: true if this vif has an address that belongs to subnet ipvxnet, otherwise false.

bool  is_same_subnet (const IPvX& ipvx_addr)

is_same_subnet

[const]

Test if a given address belongs to the same subnet as this vif.

Parameters:
ipvx_addrthe address to test against.

Returns: true if ipvx_addr belongs to the same subnet as this vif, otherwise false.

bool  is_directly_connected (const IPvX& ipvx_addr)

is_directly_connected

[const]

Test if a given address is directly connected to this vif.

Parameters:
ipvx_addrthe address to test against.

Returns: true if ipvx_addr is directly connected to this vif, otherwise false.


Generated by: pavlin on possum.icir.org on Wed Dec 11 16:50:31 2002, using kdoc 2.0a54+XORP.