Lines Matching refs:mfc
111 static void mroute_netlink_event(struct mr_table *mrt, struct mfc_cache *mfc,
653 struct mfc_cache *mfc, u32 tb_id)
656 &mfc->_c, tb_id, &net->ipv4.ipmr_seq);
1193 static int ipmr_mfc_delete(struct mr_table *mrt, struct mfcctl *mfc, int parent)
1200 c = ipmr_cache_find_parent(mrt, mfc->mfcc_origin.s_addr,
1201 mfc->mfcc_mcastgrp.s_addr, parent);
1215 struct mfcctl *mfc, int mrtsock, int parent)
1222 if (mfc->mfcc_parent >= MAXVIFS)
1227 c = ipmr_cache_find_parent(mrt, mfc->mfcc_origin.s_addr,
1228 mfc->mfcc_mcastgrp.s_addr, parent);
1232 c->_c.mfc_parent = mfc->mfcc_parent;
1233 ipmr_update_thresholds(mrt, &c->_c, mfc->mfcc_ttls);
1243 if (mfc->mfcc_mcastgrp.s_addr != htonl(INADDR_ANY) &&
1244 !ipv4_is_multicast(mfc->mfcc_mcastgrp.s_addr))
1251 c->mfc_origin = mfc->mfcc_origin.s_addr;
1252 c->mfc_mcastgrp = mfc->mfcc_mcastgrp.s_addr;
1253 c->_c.mfc_parent = mfc->mfcc_parent;
1254 ipmr_update_thresholds(mrt, &c->_c, mfc->mfcc_ttls);
1381 struct mfcctl mfc;
1470 if (optlen != sizeof(mfc)) {
1474 if (copy_from_sockptr(&mfc, optval, sizeof(mfc))) {
1479 parent = mfc.mfcc_parent;
1481 ret = ipmr_mfc_delete(mrt, &mfc, parent);
1483 ret = ipmr_mfc_add(net, mrt, &mfc,
2533 static void mroute_netlink_event(struct mr_table *mrt, struct mfc_cache *mfc,
2540 skb = nlmsg_new(mroute_msgsize(mfc->_c.mfc_parent >= MAXVIFS,
2546 err = ipmr_fill_mroute(mrt, skb, 0, 0, mfc, cmd, 0);
3138 const struct mfc_cache *mfc = v;
3143 (__force u32) mfc->mfc_mcastgrp,
3144 (__force u32) mfc->mfc_origin,
3145 mfc->_c.mfc_parent);
3149 atomic_long_read(&mfc->_c.mfc_un.res.pkt),
3150 atomic_long_read(&mfc->_c.mfc_un.res.bytes),
3151 atomic_long_read(&mfc->_c.mfc_un.res.wrong_if));
3152 for (n = mfc->_c.mfc_un.res.minvif;
3153 n < mfc->_c.mfc_un.res.maxvif; n++) {
3155 mfc->_c.mfc_un.res.ttls[n] < 255)
3158 n, mfc->_c.mfc_un.res.ttls[n]);