NAS Mesh Network Device
[OpenAirInterface Reference Implementation]


Functions

int find_inst (struct net_device *dev)
 This function determines the instance id for a particular device pointer.
void nas_COMMON_receive (unsigned short dlen, void *pdcp_sdu, int inst, struct classifier_entity *rclass, nasRadioBearerId_t rb_id)
 Receive data from FIFO (QOS).
void nas_COMMON_QOS_send (struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc, int inst)
 Request the transfer of data (QoS SAP).
void nas_COMMON_del_send (struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc, int inst)
 Delete the data.
void nas_COMMON_QOS_receive (void)
 Retrieve PDU from PDCP for connection.
rb_entity * nas_COMMON_add_rb (struct cx_entity *cx, nasRadioBearerId_t rabi, nasQoSTrafficClass_t qos)
 Add a radio-bearer descriptor.
rb_entity * nas_COMMON_search_rb (struct cx_entity *cx, nasRadioBearerId_t rabi)
 Search for a radio-bearer entity for a particular connection and radio-bearer index.
cx_entity * nas_COMMON_search_cx (nasLocalConnectionRef_t lcr, struct nas_priv *gpriv)
 Search for a connection entity based on its index and pointer to nas_priv.
classifier_entity * nas_COMMON_search_class_for_rb (nasRadioBearerId_t rab_id, struct nas_priv *priv)
 Search for an RX classifier entity based on a RB id and pointer to nas_priv.
void nas_COMMON_flush_rb (struct cx_entity *cx)
 Clear all RB's for a particular connection.
void nas_mesh_init (int inst)
 Initialize an interface for a particular instance ID.
void nas_mesh_timer (unsigned long data, struct nas_priv *gpriv)
int nas_mesh_DC_receive (struct cx_entity *cx, struct nas_priv *gpriv)
int nas_mesh_GC_receive (struct nas_priv *gpriv)
int nas_mesh_DC_send_cx_establish_request (struct cx_entity *cx, struct nas_priv *gpriv)
int nas_mesh_DC_send_cx_release_request (struct cx_entity *cx, struct nas_priv *gpriv)
void nas_mesh_DC_send_sig_data_request (struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc, struct nas_priv *gpriv)
void nas_CTL_send (struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc)
int nas_CTL_ioctl (struct net_device *dev, struct ifreq *ifr, int cmd)
void nas_CLASS_send (struct sk_buff *skb, int inst)
 Send a socket received from IP to classifier for a particular instance ID.
classifier_entity * nas_CLASS_add_sclassifier (struct cx_entity *cx, unsigned char dscp, unsigned short classref)
classifier_entity * nas_CLASS_add_fclassifier (struct cx_entity *cx, unsigned char dscp, unsigned short classref)
 Send a socket received from IP to classifier for a particular instance ID.
classifier_entity * nas_CLASS_add_rclassifier (unsigned char dscp, unsigned short classref, struct nas_priv *)
 Send a socket received from IP to classifier for a particular instance ID.
void nas_CLASS_del_sclassifier (struct cx_entity *cx, unsigned char dscp, unsigned short classref)
void nas_CLASS_del_fclassifier (struct cx_entity *cx, unsigned char dscp, unsigned short classref)
void nas_CLASS_del_rclassifier (unsigned char dscp, unsigned short classref, struct nas_priv *)
void nas_CLASS_flush_sclassifier (struct cx_entity *cx)
void nas_CLASS_flush_fclassifier (struct cx_entity *cx)
void nas_CLASS_flush_rclassifier (struct nas_priv *gpriv)
unsigned char nas_TOOL_invfct (struct classifier_entity *gc)
void nas_TOOL_fct (struct classifier_entity *gc, unsigned char fct)
void nas_TOOL_imei2iid (unsigned char *imei, unsigned char *iid)
unsigned char nas_TOOL_get_dscp6 (struct ipv6hdr *iph)
unsigned char nas_TOOL_get_dscp4 (struct iphdr *iph)
unsigned char * nas_TOOL_get_protocol6 (struct ipv6hdr *iph, unsigned char *protocol)
unsigned char * nas_TOOL_get_protocol4 (struct iphdr *iph, unsigned char *protocol)
char * nas_TOOL_get_udpmsg (struct udphdr *udph)
unsigned short nas_TOOL_udpcksum (struct in6_addr *saddr, struct in6_addr *daddr, unsigned char proto, unsigned int udplen, void *data)
int nas_TOOL_network6 (struct in6_addr *addr, struct in6_addr *prefix, unsigned char plen)
int nas_TOOL_network4 (unsigned int *addr, unsigned int *prefix, unsigned char plen)
void print_TOOL_pk_icmp6 (struct icmp6hdr *icmph)
void print_TOOL_pk_all (struct sk_buff *skb)
void print_TOOL_pk_ipv6 (struct ipv6hdr *iph)
void print_TOOL_state (unsigned char state)
void nas_tool_print_buffer (char *buffer, int length)
void nas_print_rb_entity (struct rb_entity *rb)
void nas_print_classifier (struct classifier_entity *gc)


Function Documentation

int find_inst ( struct net_device *  dev  ) 

This function determines the instance id for a particular device pointer.

Parameters:
dev Pointer to net_device structure

void nas_COMMON_receive ( unsigned short  dlen,
void *  pdcp_sdu,
int  inst,
struct classifier_entity *  rclass,
nasRadioBearerId_t  rb_id 
)

Receive data from FIFO (QOS).

Parameters:
dlen Length of SDU in bytes
pdcp_sdu Pointer to received SDU
inst Instance number
rclass RX Classifier entity
rb_id Radio Bearer Id

void nas_COMMON_QOS_send ( struct sk_buff *  skb,
struct cx_entity *  cx,
struct classifier_entity *  gc,
int  inst 
)

Request the transfer of data (QoS SAP).

Parameters:
skb pointer to socket buffer
cx pointer to connection entity for SDU
gc pointer to classifier entity for SDU
inst device instance

void nas_COMMON_del_send ( struct sk_buff *  skb,
struct cx_entity *  cx,
struct classifier_entity *  gc,
int  inst 
)

Delete the data.

Parameters:
skb pointer to socket buffer
cx pointer to connection entity for SDU
gc pointer to classifier entity for SDU
inst device instance

void nas_COMMON_QOS_receive ( void   ) 

Retrieve PDU from PDCP for connection.

struct rb_entity * nas_COMMON_add_rb ( struct cx_entity *  cx,
nasRadioBearerId_t  rabi,
nasQoSTrafficClass_t  qos 
)

Add a radio-bearer descriptor.

Parameters:
cx pointer to connection entity
rabi radio-bearer index
qos NAS QOS traffic class

struct rb_entity * nas_COMMON_search_rb ( struct cx_entity *  cx,
nasRadioBearerId_t  rabi 
)

Search for a radio-bearer entity for a particular connection and radio-bearer index.

Parameters:
cx pointer to connection entity
rabi radio-bearer index
Returns:
A pointer to the radio-bearer entity

struct cx_entity * nas_COMMON_search_cx ( nasLocalConnectionRef_t  lcr,
struct nas_priv *  gpriv 
)

Search for a connection entity based on its index and pointer to nas_priv.

Parameters:
lcr index of local connection
gpriv pointer to nas_priv for device
Returns:
A pointer to the connection entity

struct classifier_entity * nas_COMMON_search_class_for_rb ( nasRadioBearerId_t  rab_id,
struct nas_priv *  priv 
)

Search for an RX classifier entity based on a RB id and pointer to nas_priv.

Parameters:
rab_id Index of RAB for search
priv pointer to nas_priv for device
Returns:
A pointer to the corresponding RX classifier entity

void nas_COMMON_flush_rb ( struct cx_entity *  cx  ) 

Clear all RB's for a particular connection.

Parameters:
cx pointer to connection entity

void nas_mesh_init ( int  inst  ) 

Initialize an interface for a particular instance ID.

Parameters:
inst  Instance ID

void nas_mesh_timer ( unsigned long  data,
struct nas_priv *  gpriv 
)

int nas_mesh_DC_receive ( struct cx_entity *  cx,
struct nas_priv *  gpriv 
)

int nas_mesh_GC_receive ( struct nas_priv *  gpriv  ) 

int nas_mesh_DC_send_cx_establish_request ( struct cx_entity *  cx,
struct nas_priv *  gpriv 
)

int nas_mesh_DC_send_cx_release_request ( struct cx_entity *  cx,
struct nas_priv *  gpriv 
)

void nas_mesh_DC_send_sig_data_request ( struct sk_buff *  skb,
struct cx_entity *  cx,
struct classifier_entity *  gc,
struct nas_priv *  gpriv 
)

void nas_CTL_send ( struct sk_buff *  skb,
struct cx_entity *  cx,
struct classifier_entity *  gc 
)

int nas_CTL_ioctl ( struct net_device *  dev,
struct ifreq *  ifr,
int  cmd 
)

void nas_CLASS_send ( struct sk_buff *  skb,
int  inst 
)

Send a socket received from IP to classifier for a particular instance ID.

Parameters:
skb  Pointer to socket buffer
inst  Instance ID

struct classifier_entity* nas_CLASS_add_sclassifier ( struct cx_entity *  cx,
unsigned char  dscp,
unsigned short  classref 
)

struct classifier_entity* nas_CLASS_add_fclassifier ( struct cx_entity *  cx,
unsigned char  dscp,
unsigned short  classref 
)

Send a socket received from IP to classifier for a particular instance ID.

struct classifier_entity* nas_CLASS_add_rclassifier ( unsigned char  dscp,
unsigned short  classref,
struct nas_priv *   
)

Send a socket received from IP to classifier for a particular instance ID.

void nas_CLASS_del_sclassifier ( struct cx_entity *  cx,
unsigned char  dscp,
unsigned short  classref 
)

void nas_CLASS_del_fclassifier ( struct cx_entity *  cx,
unsigned char  dscp,
unsigned short  classref 
)

void nas_CLASS_del_rclassifier ( unsigned char  dscp,
unsigned short  classref,
struct nas_priv *   
)

void nas_CLASS_flush_sclassifier ( struct cx_entity *  cx  ) 

void nas_CLASS_flush_fclassifier ( struct cx_entity *  cx  ) 

void nas_CLASS_flush_rclassifier ( struct nas_priv *  gpriv  ) 

unsigned char nas_TOOL_invfct ( struct classifier_entity *  gc  ) 

void nas_TOOL_fct ( struct classifier_entity *  gc,
unsigned char  fct 
)

void nas_TOOL_imei2iid ( unsigned char *  imei,
unsigned char *  iid 
)

unsigned char nas_TOOL_get_dscp6 ( struct ipv6hdr *  iph  ) 

unsigned char nas_TOOL_get_dscp4 ( struct iphdr *  iph  ) 

unsigned char* nas_TOOL_get_protocol6 ( struct ipv6hdr *  iph,
unsigned char *  protocol 
)

unsigned char* nas_TOOL_get_protocol4 ( struct iphdr *  iph,
unsigned char *  protocol 
)

char* nas_TOOL_get_udpmsg ( struct udphdr *  udph  ) 

unsigned short nas_TOOL_udpcksum ( struct in6_addr *  saddr,
struct in6_addr *  daddr,
unsigned char  proto,
unsigned int  udplen,
void *  data 
)

int nas_TOOL_network6 ( struct in6_addr *  addr,
struct in6_addr *  prefix,
unsigned char  plen 
)

int nas_TOOL_network4 ( unsigned int *  addr,
unsigned int *  prefix,
unsigned char  plen 
)

void print_TOOL_pk_icmp6 ( struct icmp6hdr *  icmph  ) 

void print_TOOL_pk_all ( struct sk_buff *  skb  ) 

void print_TOOL_pk_ipv6 ( struct ipv6hdr *  iph  ) 

void print_TOOL_state ( unsigned char  state  ) 

void nas_tool_print_buffer ( char *  buffer,
int  length 
)

void nas_print_rb_entity ( struct rb_entity *  rb  ) 

void nas_print_classifier ( struct classifier_entity *  gc  ) 


Generated on Thu May 14 10:34:29 2009 for OPENAIR by  doxygen 1.4.7