40 return (
format (s,
"DS-Lite: AFTR:%d", index));
49 return (
format (s,
"DS-Lite: B4:%d", index));
dpo_lock_fn_t dv_lock
A reference counting lock function.
static const char *const dslite_ip6_nodes[]
static const char *const *const dslite_ce_nodes[DPO_PROTO_NUM]
void dslite_dpo_create(dpo_proto_t dproto, u32 aftr_index, dpo_id_t *dpo)
A virtual function table regisitered for a DPO type.
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
static const char *const dslite_ce_ip4_nodes[]
enum dpo_type_t_ dpo_type_t
Common types of data-path objects New types can be dynamically added using dpo_register_new_type() ...
enum dpo_proto_t_ dpo_proto_t
Data path protocol.
dpo_type_t dpo_register_new_type(const dpo_vft_t *vft, const char *const *const *nodes)
Create and register a new DPO type.
static void dslite_ce_dpo_lock(dpo_id_t *dpo)
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
dpo_type_t dslite_ce_dpo_type
static const char *const dslite_ce_ip6_nodes[]
void dslite_dpo_module_init(void)
static void dslite_dpo_lock(dpo_id_t *dpo)
u8 * format_dslite_dpo(u8 *s, va_list *args)
static const char *const dslite_ip4_nodes[]
dpo_type_t dslite_dpo_type
void dpo_set(dpo_id_t *dpo, dpo_type_t type, dpo_proto_t proto, index_t index)
Set/create a DPO ID The DPO will be locked.
u8 * format_dslite_ce_dpo(u8 *s, va_list *args)
static void dslite_ce_dpo_unlock(dpo_id_t *dpo)
static void dslite_dpo_unlock(dpo_id_t *dpo)
static const char *const *const dslite_nodes[DPO_PROTO_NUM]
void dslite_ce_dpo_create(dpo_proto_t dproto, u32 b4_index, dpo_id_t *dpo)