dst_ops
dst_ops->map_local(dst_iter, &dst_map, i);
if (dst_ops->unmap_local)
dst_ops->unmap_local(dst_iter, &dst_map);
dst_ops->map_local(dst_iter, &dst_map, i);
if (dst_ops->unmap_local)
dst_ops->unmap_local(dst_iter, &dst_map);
const struct ttm_kmap_iter_ops *dst_ops = dst_iter->ops;
if (dst_ops->maps_tt && src_ops->maps_tt)
#define is_rionet_capable(src_ops, dst_ops) \
(dst_ops & RIO_DST_OPS_DATA_MSG) && \
(dst_ops & RIO_DST_OPS_DOORBELL))
is_rionet_capable(dev->src_ops, dev->dst_ops)
&rdev->dst_ops);
if (rdev->dst_ops & RIO_DST_OPS_DOORBELL)
int dst_ops)
return !!((src_ops | dst_ops) & mask);
&rdev->dst_ops);
if (rio_device_has_destid(port, rdev->src_ops, rdev->dst_ops)) {
if (rdev->dst_ops & RIO_DST_OPS_DOORBELL)
#define is_msg_capable(src_ops, dst_ops) \
(dst_ops & RIO_DST_OPS_DATA_MSG))
is_msg_capable(dev->src_ops, dev->dst_ops)
u32 dst_ops;
struct dst_ops *ops;
void *dst_alloc(struct dst_ops *ops, struct net_device *dev,
void dst_init(struct dst_entry *dst, struct dst_ops *ops,
void (*gc)(struct dst_ops *ops);
static inline int dst_entries_get_fast(struct dst_ops *dst)
static inline int dst_entries_get_slow(struct dst_ops *dst)
static inline void dst_entries_add(struct dst_ops *dst, int val)
static inline int dst_entries_init(struct dst_ops *dst)
static inline void dst_entries_destroy(struct dst_ops *dst)
struct dst_ops ip6_dst_ops;
struct dst_ops xfrm4_dst_ops;
struct dst_ops xfrm6_dst_ops;
struct dst_ops *dst_ops;
void fgraph_init_ops(struct ftrace_ops *dst_ops,
dst_ops->flags = FTRACE_OPS_FL_PID | FTRACE_OPS_GRAPH_STUB;
dst_ops->func_hash = &src_ops->local_hash;
mutex_init(&dst_ops->local_hash.regex_lock);
INIT_LIST_HEAD(&dst_ops->subop_list);
dst_ops->flags |= FTRACE_OPS_FL_INITIALIZED;
dst_ops->private = src_ops->private;
void fgraph_init_ops(struct ftrace_ops *dst_ops,
static struct dst_ops fake_dst_ops = {
static struct dst_ops dst_blackhole_ops = {
void dst_init(struct dst_entry *dst, struct dst_ops *ops,
void *dst_alloc(struct dst_ops *ops, struct net_device *dev,
struct dst_ops dstops;
static struct dst_ops ipv4_dst_ops = {
static struct dst_ops ipv4_dst_blackhole_ops = {
static struct dst_ops xfrm4_dst_ops_template = {
.dst_ops = &xfrm4_dst_ops_template,
static struct dst_ops ip6_dst_ops_template = {
static struct dst_ops ip6_dst_blackhole_ops = {
static void ip6_dst_gc(struct dst_ops *ops)
static void ip6_dst_gc(struct dst_ops *ops);
static struct dst_ops xfrm6_dst_ops_template = {
.dst_ops = &xfrm6_dst_ops_template,
static struct dst_ops ovs_dst_ops = {
static struct dst_ops sch_frag_dst_ops = {
struct dst_ops *dst_ops;
dst_ops = &net->xfrm.xfrm4_dst_ops;
dst_ops = &net->xfrm.xfrm6_dst_ops;
xdst = dst_alloc(dst_ops, NULL, DST_OBSOLETE_NONE, 0);
struct dst_ops *dst_ops = afinfo->dst_ops;
if (likely(dst_ops->kmem_cachep == NULL))
dst_ops->kmem_cachep = xfrm_dst_cache;
if (likely(dst_ops->check == NULL))
dst_ops->check = xfrm_dst_check;
if (likely(dst_ops->default_advmss == NULL))
dst_ops->default_advmss = xfrm_default_advmss;
if (likely(dst_ops->mtu == NULL))
dst_ops->mtu = xfrm_mtu;
if (likely(dst_ops->negative_advice == NULL))
dst_ops->negative_advice = xfrm_negative_advice;
if (likely(dst_ops->link_failure == NULL))
dst_ops->link_failure = xfrm_link_failure;
if (likely(dst_ops->neigh_lookup == NULL))
dst_ops->neigh_lookup = xfrm_neigh_lookup;
if (likely(!dst_ops->confirm_neigh))
dst_ops->confirm_neigh = xfrm_confirm_neigh;
struct dst_ops *dst_ops = afinfo->dst_ops;
dst_ops->kmem_cachep = NULL;
dst_ops->check = NULL;
dst_ops->negative_advice = NULL;
dst_ops->link_failure = NULL;