Lines Matching +full:use +full:- +full:rtm

5 #include <linux/rhashtable-types.h>
13 * struct vif_device - interface representor for multicast routing
66 .vif_flags = vif->flags, in mr_call_vif_notifier()
87 .vif_flags = vif->flags, in mr_call_vif_notifiers()
104 #define VIF_EXISTS(_mrt, _idx) (!!rcu_access_pointer((_mrt)->vif_table[_idx].dev))
107 * MFC_STATIC - the entry was added statically (not by a routing daemon)
108 * MFC_OFFLOAD - the entry was offloaded to the hardware
116 * struct mr_mfc - common multicast routing entries
128 * @lastuse: time of last use of the group (traffic or update)
164 if (refcount_dec_and_test(&c->mfc_un.res.refcount)) in mr_cache_put()
165 call_rcu(&c->rcu, c->free); in mr_cache_put()
170 refcount_inc(&c->mfc_un.res.refcount); in mr_cache_hold()
219 * struct mr_table_ops - callbacks and info for protocol-specific ops
229 * struct mr_table - a multicast routing table
240 * @maxvif: Identifier of highest value vif currently in use
244 * @mroute_reg_vif_num: PIM-device vif index
289 struct mr_mfc *c, struct rtmsg *rtm);
341 struct mr_mfc *c, struct rtmsg *rtm) in mr_fill_mroute() argument
343 return -EINVAL; in mr_fill_mroute()
356 return -EINVAL; in mr_rtm_dumproute()
368 return -EINVAL; in mr_dump()
374 return mr_mfc_find_parent(mrt, hasharg, -1); in mr_mfc_find()
400 seq->private, *pos - 1) in mr_vif_seq_start()
415 struct mr_mfc_iter *it = seq->private; in mr_mfc_seq_start()
417 it->mrt = mrt; in mr_mfc_seq_start()
418 it->cache = NULL; in mr_mfc_seq_start()
419 it->lock = lock; in mr_mfc_seq_start()
422 seq->private, *pos - 1) in mr_mfc_seq_start()
428 struct mr_mfc_iter *it = seq->private; in mr_mfc_seq_stop()
429 struct mr_table *mrt = it->mrt; in mr_mfc_seq_stop()
431 if (it->cache == &mrt->mfc_unres_queue) in mr_mfc_seq_stop()
432 spin_unlock_bh(it->lock); in mr_mfc_seq_stop()
433 else if (it->cache == &mrt->mfc_cache_list) in mr_mfc_seq_stop()