Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
name_table.c File Reference
#include "core.h"
#include "config.h"
#include "name_table.h"
#include "name_distr.h"
#include "subscr.h"
#include "port.h"

Go to the source code of this file.

Data Structures

struct  name_info
 
struct  sub_seq
 
struct  name_seq
 
struct  name_table
 

Macros

#define TIPC_NAMETBL_SIZE   1024 /* must be a power of 2 */
 

Functions

 DEFINE_RWLOCK (tipc_nametbl_lock)
 
struct publicationtipc_nametbl_insert_publ (u32 type, u32 lower, u32 upper, u32 scope, u32 node, u32 port, u32 key)
 
struct publicationtipc_nametbl_remove_publ (u32 type, u32 lower, u32 node, u32 ref, u32 key)
 
u32 tipc_nametbl_translate (u32 type, u32 instance, u32 *destnode)
 
int tipc_nametbl_mc_translate (u32 type, u32 lower, u32 upper, u32 limit, struct tipc_port_list *dports)
 
struct publicationtipc_nametbl_publish (u32 type, u32 lower, u32 upper, u32 scope, u32 port_ref, u32 key)
 
int tipc_nametbl_withdraw (u32 type, u32 lower, u32 ref, u32 key)
 
void tipc_nametbl_subscribe (struct tipc_subscription *s)
 
void tipc_nametbl_unsubscribe (struct tipc_subscription *s)
 
struct sk_bufftipc_nametbl_get (const void *req_tlv_area, int req_tlv_space)
 
int tipc_nametbl_init (void)
 
void tipc_nametbl_stop (void)
 

Macro Definition Documentation

#define TIPC_NAMETBL_SIZE   1024 /* must be a power of 2 */

Definition at line 44 of file name_table.c.

Function Documentation

DEFINE_RWLOCK ( tipc_nametbl_lock  )
struct sk_buff* tipc_nametbl_get ( const void req_tlv_area,
int  req_tlv_space 
)
read

Definition at line 904 of file name_table.c.

int tipc_nametbl_init ( void  )

Definition at line 936 of file name_table.c.

struct publication* tipc_nametbl_insert_publ ( u32  type,
u32  lower,
u32  upper,
u32  scope,
u32  node,
u32  port,
u32  key 
)
read

Definition at line 488 of file name_table.c.

int tipc_nametbl_mc_translate ( u32  type,
u32  lower,
u32  upper,
u32  limit,
struct tipc_port_list dports 
)

tipc_nametbl_mc_translate - find multicast destinations

Creates list of all local ports that overlap the given multicast address; also determines if any off-node ports overlap.

Note: Publications with a scope narrower than 'limit' are ignored. (i.e. local node-scope publications mustn't receive messages arriving from another node, even if the multcast link brought it here)

Returns non-zero if any off-node ports overlap

Definition at line 622 of file name_table.c.

struct publication* tipc_nametbl_publish ( u32  type,
u32  lower,
u32  upper,
u32  scope,
u32  port_ref,
u32  key 
)
read

Definition at line 665 of file name_table.c.

struct publication* tipc_nametbl_remove_publ ( u32  type,
u32  lower,
u32  node,
u32  ref,
u32  key 
)
read

Definition at line 509 of file name_table.c.

void tipc_nametbl_stop ( void  )

Definition at line 947 of file name_table.c.

void tipc_nametbl_subscribe ( struct tipc_subscription s)

tipc_nametbl_subscribe - add a subscription object to the name table

Definition at line 714 of file name_table.c.

u32 tipc_nametbl_translate ( u32  type,
u32  instance,
u32 destnode 
)

tipc_nametbl_translate - perform name translation

On entry, 'destnode' is the search domain used during translation.

On exit:

  • if name translation is deferred to another node/cluster/zone, leaves 'destnode' unchanged (will be non-zero) and returns 0
  • if name translation is attempted and succeeds, sets 'destnode' to publishing node and returns port reference (will be non-zero)
  • if name translation is attempted and fails, sets 'destnode' to 0 and returns 0

Definition at line 536 of file name_table.c.

void tipc_nametbl_unsubscribe ( struct tipc_subscription s)

tipc_nametbl_unsubscribe - remove a subscription object from name table

Definition at line 737 of file name_table.c.

int tipc_nametbl_withdraw ( u32  type,
u32  lower,
u32  ref,
u32  key 
)

tipc_nametbl_withdraw - withdraw name publication from network name tables

Definition at line 690 of file name_table.c.