20#include <netinterface.h>
24 MultiHomeInterface *pNext;
25 static MultiHomeInterface *pHead;
26 static bool bAfterConfig;
27 static void FixupMultiHomeConfigTree();
33 virtual void send_func(PoolPtr poolPtr);
34 virtual void EnableMulticast(MACADR macAddress, BOOL addAddress);
38 void CoreSetup(IPADDR4 addr, IPADDR4 mask, IPADDR4 gateway,
int VlanTag,
bool bShowInConfig,
bool bLetConfigModify);
42 MultiHomeInterface(
const char *name,
48 bool bShowInConfig =
true,
49 bool bLetConfigModify =
true);
50 MultiHomeInterface(
const char *name,
54 const char *Parentname,
56 bool bShowInConfig =
true,
57 bool bLetConfigModify =
true);
58 MultiHomeInterface(
const char *name,
62 int ParentInterfaceNumber,
64 bool bShowInConfig =
true,
65 bool bLetConfigModify =
true);
66 operator int()
const {
return my_ifnum; };
67 IPADDR4 IP() {
return (IPADDR4)
ip4.cur_addr.i4; };
Used to store and manipulate IPv4 addresses in dual stack mode.
Definition nettypes.h:225
Network interface configuration block class for interface control and configuration.
Definition netinterface.h:244
virtual bool LinkDuplex()=0
Returns the full or half link duplex of the network interface.
int32_t my_ifnum
This interface number.
Definition netinterface.h:263
virtual bool LinkActive()=0
Returns the link status of the network interface.
I4Record ip4
IPv4 configuration for "this" interface, see config_netobj.h for details.
Definition netinterface.h:246
InterfaceBlock(const char *name, const char *desc=NULL)
Constructor with interface name and description.
virtual int LinkSpeed()=0
Returns the link speed of the network interface.
int AddVlanInterface(IPADDR4 addr, IPADDR4 mask, IPADDR4 gateway, uint16_t vlan_tag, const char *ParentName)
Add a VLAN interface with a Parent Name.
int AddInterface(IPADDR4 addr, IPADDR4 mask, IPADDR4 gateway, const char *ParentName)
Add an interface with a Parent Name.
Definition multihome.h:121
void init()
System initialization. Ideally called at the beginning of all applications, since the easiest Recover...