rtnl_af_ops
int rtnl_af_register(struct rtnl_af_ops *ops);
void rtnl_af_unregister(struct rtnl_af_ops *ops);
static struct rtnl_af_ops br_af_ops __read_mostly = {
const struct rtnl_af_ops *af_ops;
list_for_each_entry_rcu(af_ops, &rtnl_af_ops, list) {
struct rtnl_af_ops *af_ops;
struct rtnl_af_ops *af_ops;
struct rtnl_af_ops *af_ops;
list_for_each_entry_rcu(af_ops, &rtnl_af_ops, list) {
struct rtnl_af_ops *af_ops;
list_for_each_entry_rcu(af_ops, &rtnl_af_ops, list) {
static LIST_HEAD(rtnl_af_ops);
static struct rtnl_af_ops *rtnl_af_lookup(const int family, int *srcu_index)
struct rtnl_af_ops *ops;
list_for_each_entry_rcu(ops, &rtnl_af_ops, list) {
static void rtnl_af_put(struct rtnl_af_ops *ops, int srcu_index)
int rtnl_af_register(struct rtnl_af_ops *ops)
list_add_tail_rcu(&ops->list, &rtnl_af_ops);
void rtnl_af_unregister(struct rtnl_af_ops *ops)
struct rtnl_af_ops *af_ops;
list_for_each_entry_rcu(af_ops, &rtnl_af_ops, list) {
static struct rtnl_af_ops inet_af_ops __read_mostly = {
static struct rtnl_af_ops inet6_ops __read_mostly = {
static struct rtnl_af_ops mctp_af_ops = {
static struct rtnl_af_ops mpls_af_ops __read_mostly = {