Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef _NET_EVENT_H
0003 #define _NET_EVENT_H
0004 
0005 /*
0006  *  Generic netevent notifiers
0007  *
0008  *  Authors:
0009  *      Tom Tucker              <tom@opengridcomputing.com>
0010  *      Steve Wise              <swise@opengridcomputing.com>
0011  *
0012  *  Changes:
0013  */
0014 
0015 struct dst_entry;
0016 struct neighbour;
0017 struct notifier_block ;
0018 
0019 struct netevent_redirect {
0020     struct dst_entry *old;
0021     struct dst_entry *new;
0022     struct neighbour *neigh;
0023     const void *daddr;
0024 };
0025 
0026 enum netevent_notif_type {
0027     NETEVENT_NEIGH_UPDATE = 1, /* arg is struct neighbour ptr */
0028     NETEVENT_REDIRECT,     /* arg is struct netevent_redirect ptr */
0029     NETEVENT_DELAY_PROBE_TIME_UPDATE, /* arg is struct neigh_parms ptr */
0030     NETEVENT_IPV4_MPATH_HASH_UPDATE, /* arg is struct net ptr */
0031     NETEVENT_IPV6_MPATH_HASH_UPDATE, /* arg is struct net ptr */
0032     NETEVENT_IPV4_FWD_UPDATE_PRIORITY_UPDATE, /* arg is struct net ptr */
0033 };
0034 
0035 int register_netevent_notifier(struct notifier_block *nb);
0036 int unregister_netevent_notifier(struct notifier_block *nb);
0037 int call_netevent_notifiers(unsigned long val, void *v);
0038 
0039 #endif