Lines Matching defs:mfc
1052 static int ipmr_mfc_delete(struct mr_table *mrt, struct mfcctl *mfc)
1061 line = MFC_HASH(mfc->mfcc_mcastgrp.s_addr, mfc->mfcc_origin.s_addr);
1069 if (c->mfc_mcastgrp == mfc->mfcc_mcastgrp.s_addr)
1071 if (c->mfc_origin == mfc->mfcc_origin.s_addr &&
1072 c->mfc_mcastgrp == mfc->mfcc_mcastgrp.s_addr)
1087 struct mfcctl *mfc, int mrtsock)
1093 if (mfc->mfcc_parent >= MAXVIFS)
1100 line = MFC_HASH(mfc->mfcc_mcastgrp.s_addr, mfc->mfcc_origin.s_addr);
1107 if (c->mfc_mcastgrp == mfc->mfcc_mcastgrp.s_addr)
1109 if (c->mfc_origin == mfc->mfcc_origin.s_addr &&
1110 c->mfc_mcastgrp == mfc->mfcc_mcastgrp.s_addr)
1121 c->mfc_parent = mfc->mfcc_parent;
1122 ipmr_update_thresholds(mrt, c, mfc->mfcc_ttls);
1129 if (!ipv4_is_multicast(mfc->mfcc_mcastgrp.s_addr))
1136 c->mfc_origin = mfc->mfcc_origin.s_addr;
1137 c->mfc_mcastgrp = mfc->mfcc_mcastgrp.s_addr;
1138 c->mfc_parent = mfc->mfcc_parent;
1139 ipmr_update_thresholds(mrt, c, mfc->mfcc_ttls);
1255 struct mfcctl mfc;
1319 if (optlen != sizeof(mfc))
1321 if (copy_from_user(&mfc, optval, sizeof(mfc)))
1325 ret = ipmr_mfc_delete(mrt, &mfc);
1327 ret = ipmr_mfc_add(net, mrt, &mfc, sk == mrt->mroute_sk);
2107 struct mfc_cache *mfc;
2123 list_for_each_entry(mfc, &mrt->mfc_cache_array[h], list) {
2129 mfc) < 0)
2272 struct mfc_cache *mfc;
2277 list_for_each_entry(mfc, it->cache, list)
2279 return mfc;
2285 list_for_each_entry(mfc, it->cache, list)
2287 return mfc;
2314 struct mfc_cache *mfc = v;
2324 if (mfc->list.next != it->cache)
2325 return list_entry(mfc->list.next, struct mfc_cache, list);
2374 const struct mfc_cache *mfc = v;
2380 (__force u32) mfc->mfc_mcastgrp,
2381 mfc->mfc_parent);
2385 (__force u32) mfc->mfc_mcastgrp,
2386 (__force u32) mfc->mfc_origin,
2387 mfc->mfc_parent);
2392 mfc->mfc_un.res.pkt,
2393 mfc->mfc_un.res.bytes,
2394 mfc->mfc_un.res.wrong_if);
2395 for (n = mfc->mfc_un.res.minvif;
2396 n < mfc->mfc_un.res.maxvif; n++ ) {
2398 mfc->mfc_un.res.ttls[n] < 255)
2401 n, mfc->mfc_un.res.ttls[n]);