/home/aaron/olsrd-current/olsrd/lib/mdns/src/NetworkInterfaces.h File Reference

#include <netinet/in.h>
#include "olsr_types.h"
#include "plugin.h"
#include "Packet.h"
#include "mdns.h"
Include dependency graph for NetworkInterfaces.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  TBmfInterface
struct  TBmfInterface::TFragmentHistory
struct  TBestNeighbors

Defines

#define BMF_BUFFER_SIZE   2048
#define FRAGMENT_HISTORY_SIZE   10
#define ETHERTUNTAPDEFAULTIP   0x0AFFFFFD
#define MAX_UNICAST_NEIGHBORS   10

Enumerations

enum  TBmfMechanism { BM_BROADCAST = 0, BM_UNICAST_PROMISCUOUS, BM_BROADCAST = 0, BM_UNICAST_PROMISCUOUS }

Functions

int SetBmfInterfaceName (const char *ifname, void *data, set_plugin_parameter_addon addon)
int SetBmfInterfaceIp (const char *ip, void *data, set_plugin_parameter_addon addon)
int SetCapturePacketsOnOlsrInterfaces (const char *enable, void *data, set_plugin_parameter_addon addon)
int SetBmfMechanism (const char *mechanism, void *data, set_plugin_parameter_addon addon)
int DeactivateSpoofFilter (void)
void RestoreSpoofFilter (void)
void FindNeighbors (struct TBestNeighbors *neighbors, struct link_entry **bestNeighbor, struct TBmfInterface *intf, union olsr_ip_addr *source, union olsr_ip_addr *forwardedBy, union olsr_ip_addr *forwardedTo, int *nPossibleNeighbors)
int CreateBmfNetworkInterfaces (struct interface *skipThisIntf)
void AddInterface (struct interface *newIntf)
void CloseBmfNetworkInterfaces (void)
int AddNonOlsrBmfIf (const char *ifName, void *data, set_plugin_parameter_addon addon)
int set_MDNS_TTL (const char *MDNS_TTL, void *data, set_plugin_parameter_addon addon)
int IsNonOlsrBmfIf (const char *ifName)
void CheckAndUpdateLocalBroadcast (unsigned char *ipPacket, union olsr_ip_addr *broadAddr)
void AddMulticastRoute (void)
void DeleteMulticastRoute (void)

Variables

struct TBmfInterfaceBmfInterfaces
int my_MDNS_TTL
int HighestSkfd
fd_set InputSet
int EtherTunTapFd
char EtherTunTapIfName []
u_int32_t EtherTunTapIp
u_int32_t EtherTunTapIpMask
u_int32_t EtherTunTapIpBroadcast
enum TBmfMechanism BmfMechanism

Define Documentation

#define BMF_BUFFER_SIZE   2048

Definition at line 57 of file NetworkInterfaces.h.

#define ETHERTUNTAPDEFAULTIP   0x0AFFFFFD

Definition at line 116 of file NetworkInterfaces.h.

#define FRAGMENT_HISTORY_SIZE   10

Definition at line 85 of file NetworkInterfaces.h.

#define MAX_UNICAST_NEIGHBORS   10

Definition at line 133 of file NetworkInterfaces.h.


Enumeration Type Documentation

Enumerator:
BM_BROADCAST 
BM_UNICAST_PROMISCUOUS 
BM_BROADCAST 
BM_UNICAST_PROMISCUOUS 

Definition at line 123 of file NetworkInterfaces.h.


Function Documentation

void AddInterface ( struct interface newIntf  ) 

Definition at line 1199 of file NetworkInterfaces.c.

References CreateInterface(), interface::int_name, LOG_PLUGINS, and OLSR_DEBUG.

Referenced by InterfaceChange().

Here is the call graph for this function:

void AddMulticastRoute ( void   ) 

Definition at line 1419 of file NetworkInterfaces.c.

References ARM_NOWARN_ALIGN, EtherTunTapIfName, LOG_PLUGINS, OLSR_WARN, and RTF_UP.

Referenced by InitBmf().

int AddNonOlsrBmfIf ( const char *  ifName,
void *  data,
set_plugin_parameter_addon  addon 
)
void CheckAndUpdateLocalBroadcast ( unsigned char *  ipPacket,
union olsr_ip_addr broadAddr 
)

Definition at line 1359 of file NetworkInterfaces.c.

References ARM_NOWARN_ALIGN, GetIpHeaderLength(), IsMulticast(), and olsr_ip_addr::v4.

Referenced by BmfEncapsulationPacketReceived(), BmfPacketCaptured(), and BmfTunPacketCaptured().

Here is the call graph for this function:

void CloseBmfNetworkInterfaces ( void   ) 
int CreateBmfNetworkInterfaces ( struct interface skipThisIntf  ) 
int DeactivateSpoofFilter ( void   ) 

Definition at line 301 of file NetworkInterfaces.c.

References EtherTunTapIfName, LOG_PLUGINS, and OLSR_WARN.

Referenced by InitBmf().

void DeleteMulticastRoute ( void   ) 
void FindNeighbors ( struct TBestNeighbors neighbors,
struct link_entry **  bestNeighbor,
struct TBmfInterface intf,
union olsr_ip_addr source,
union olsr_ip_addr forwardedBy,
union olsr_ip_addr forwardedTo,
int *  nPossibleNeighbors 
)
int IsNonOlsrBmfIf ( const char *  ifName  ) 

Definition at line 1332 of file NetworkInterfaces.c.

References nNonOlsrIfs, and NonOlsrIfNames.

Referenced by CreateBmfNetworkInterfaces().

void RestoreSpoofFilter ( void   ) 

Definition at line 351 of file NetworkInterfaces.c.

References EtherTunTapIfName, LOG_PLUGINS, and OLSR_WARN.

Referenced by CloseBmf().

int set_MDNS_TTL ( const char *  MDNS_TTL,
void *  data,
set_plugin_parameter_addon  addon 
)
int SetBmfInterfaceIp ( const char *  ip,
void *  data,
set_plugin_parameter_addon  addon 
)
int SetBmfInterfaceName ( const char *  ifname,
void *  data,
set_plugin_parameter_addon  addon 
)
int SetBmfMechanism ( const char *  mechanism,
void *  data,
set_plugin_parameter_addon  addon 
)
int SetCapturePacketsOnOlsrInterfaces ( const char *  enable,
void *  data,
set_plugin_parameter_addon  addon 
)

Variable Documentation

u_int32_t EtherTunTapIp
u_int32_t EtherTunTapIpMask

Definition at line 110 of file NetworkInterfaces.c.

Referenced by CreateLocalEtherTunTap(), and SetBmfInterfaceIp().

Definition at line 84 of file NetworkInterfaces.c.

Referenced by AddDescriptorToInputSet(), and DoBmf().

fd_set InputSet

Definition at line 87 of file NetworkInterfaces.c.

Referenced by AddDescriptorToInputSet(), CreateBmfNetworkInterfaces(), and DoBmf().

Definition at line 77 of file NetworkInterfaces.c.

Referenced by olsr_mdns_gen(), and set_MDNS_TTL().

Generated on Fri May 24 06:00:02 2013 for olsrd by  doxygen 1.6.3