Loading...
Searching...
No Matches
frame_relay.h File Reference
`#include <osmocom/core/linuxlist.h>`
`#include <osmocom/core/timer.h>`
`#include <osmocom/core/utils.h>`
`#include <stdint.h>`

Go to the source code of this file.

## Data Structures

struct | osmo_fr_network
struct | osmo_fr_link
struct | osmo_fr_dlc

## Macros

#define | FRAME_RELAY_MTU 1600
#define | FRAME_RELAY_SDU (FRAME_RELAY_MTU - 2)

## Enumerations

enum | osmo_fr_role { FR_ROLE_USER_EQUIPMENT , FR_ROLE_NETWORK_EQUIPMENT }

## Functions

static const char * | osmo_fr_role_str (enum osmo_fr_role role)
struct osmo_fr_network * | osmo_fr_network_alloc (void *ctx)
void | osmo_fr_network_free (struct osmo_fr_network *net)
void | osmo_fr_network_dump_vty (struct vty *vty, const struct osmo_fr_network *net)
struct osmo_fr_link * | osmo_fr_link_alloc (struct osmo_fr_network *net, enum osmo_fr_role role, const char *name)
void | osmo_fr_link_free (struct osmo_fr_link *link)
struct osmo_fr_dlc * | osmo_fr_dlc_alloc (struct osmo_fr_link *link, uint16_t dlci)
void | osmo_fr_dlc_free (struct osmo_fr_dlc *dlc)
struct osmo_fr_dlc * | osmo_fr_dlc_by_dlci (struct osmo_fr_link *link, uint16_t dlci)
int | osmo_fr_rx (struct msgb *msg)
int | osmo_fr_tx_dlc (struct msgb *msg)

## Variables

const struct value_string | osmo_fr_role_names []

## Macro Definition Documentation

## FRAME_RELAY_MTU

#define FRAME_RELAY_MTU 1600

## FRAME_RELAY_SDU

#define FRAME_RELAY_SDU (FRAME_RELAY_MTU - 2)

Referenced by gprs_ns2_fr_bind(), and gprs_ns2_frgre_bind().

## Enumeration Type Documentation

## osmo_fr_role

enum osmo_fr_role

Enumerator
FR_ROLE_USER_EQUIPMENT |
FR_ROLE_NETWORK_EQUIPMENT |

## Function Documentation

## osmo_fr_dlc_alloc()

struct osmo_fr_dlc * osmo_fr_dlc_alloc | ( | struct osmo_fr_link * | link,
|  | uint16_t | dlci )

References osmo_fr_dlc::active, osmo_fr_dlc::add, osmo_fr_link::dlc_list, osmo_fr_dlc::dlci, osmo_fr_dlc::link, osmo_fr_dlc::list, Q933_REPT_SINGLE_PVC_ASYNC_STS, and tx_lmi_q933_status().

Referenced by fr_alloc_vc(), parse_full_pvc_status(), and parse_link_pvc_status().

## osmo_fr_dlc_by_dlci()

struct osmo_fr_dlc * osmo_fr_dlc_by_dlci | ( | struct osmo_fr_link * | link,
|  | uint16_t | dlci )

References osmo_fr_link::dlc_list, osmo_fr_dlc::dlci, osmo_fr_dlc::link, and osmo_fr_dlc::list.

Referenced by osmo_fr_rx(), parse_full_pvc_status(), and parse_link_pvc_status().

## osmo_fr_dlc_free()

void osmo_fr_dlc_free | ( | struct osmo_fr_dlc * | dlc | ) |

References osmo_fr_dlc::list.

Referenced by osmo_fr_link_free().

## osmo_fr_link_alloc()

struct osmo_fr_link * osmo_fr_link_alloc | ( | struct osmo_fr_network * | net,
|  | enum osmo_fr_role | role,
|  | const char * | name )

References osmo_fr_link::dlc_list, FR_ROLE_NETWORK_EQUIPMENT, FR_ROLE_USER_EQUIPMENT, fr_t391_cb(), fr_t392_cb(), osmo_fr_network::links, osmo_fr_link::list, LOGPFRL, osmo_fr_link::name, osmo_fr_link::net, osmo_fr_role_str(), osmo_fr_link::role, osmo_fr_link::t391, osmo_fr_link::t392, and osmo_fr_network::T_defs.

Referenced by gprs_ns2_fr_bind().

## osmo_fr_link_free()

void osmo_fr_link_free | ( | struct osmo_fr_link * | link | ) |

References osmo_fr_link::dlc_list, osmo_fr_dlc::link, osmo_fr_dlc::list, osmo_fr_link::list, osmo_fr_dlc_free(), osmo_fr_link::t391, and osmo_fr_link::t392.

Referenced by free_bind(), gprs_ns2_fr_bind(), and osmo_fr_network_free().

## osmo_fr_network_alloc()

struct osmo_fr_network * osmo_fr_network_alloc | ( | void * | ctx | ) |

References fr_tdefs, osmo_fr_network::links, osmo_fr_network::n391, osmo_fr_network::n392, osmo_fr_network::n393, and osmo_fr_network::T_defs.

Referenced by gprs_ns2_vty_init_reduced().

## osmo_fr_network_dump_vty()

void osmo_fr_network_dump_vty | ( | struct vty * | vty,
|  | const struct osmo_fr_network * | net )

References fr_link_dump_vty(), osmo_fr_network::links, osmo_fr_link::list, osmo_fr_network::n391, osmo_fr_network::n392, osmo_fr_network::n393, osmo_fr_link::net, and osmo_fr_network::T_defs.

Referenced by DEFUN_HIDDEN().

## osmo_fr_network_free()

void osmo_fr_network_free | ( | struct osmo_fr_network * | net | ) |

References osmo_fr_network::links, osmo_fr_link::list, osmo_fr_link::net, and osmo_fr_link_free().

## osmo_fr_role_str()

const char * osmo_fr_role_str | ( | enum osmo_fr_role | role | ) |

inline static

References osmo_fr_role_names.

Referenced by dump_vty(), and osmo_fr_link_alloc().

## osmo_fr_rx()

int osmo_fr_rx | ( | struct msgb * | msg | ) |

References osmo_fr_dlc::active, osmo_fr_dlc::cb_data, LMI_CISCO_DLCI, LMI_Q933A_DLCI, LOGPFRL, osmo_fr_dlc_by_dlci(), q922_to_dlci(), osmo_fr_dlc::rx_cb, rx_lmi_q922(), osmo_fr_link::state, osmo_fr_link::unknown_dlc_rx_cb, and osmo_fr_link::unknown_dlc_rx_cb_data.

Referenced by fr_netif_ofd_cb().

## osmo_fr_tx_dlc()

int osmo_fr_tx_dlc | ( | struct msgb * | msg | ) |

References osmo_fr_dlc::active, osmo_fr_link::cb_data, osmo_fr_dlc::dlci, dlci_to_q922(), osmo_fr_dlc::link, LOGPFRL, osmo_fr_link::state, and osmo_fr_link::tx_cb.

Referenced by fr_vc_sendmsg().

## Variable Documentation

## osmo_fr_role_names

const struct value_string osmo_fr_role_names[]

extern

Referenced by osmo_fr_role_str().