|
@@ -130,43 +130,9 @@ int nf_ct_expect_register_notifier(struct net *net,
|
|
void nf_ct_expect_unregister_notifier(struct net *net,
|
|
void nf_ct_expect_unregister_notifier(struct net *net,
|
|
struct nf_exp_event_notifier *nb);
|
|
struct nf_exp_event_notifier *nb);
|
|
|
|
|
|
-static inline void
|
|
|
|
-nf_ct_expect_event_report(enum ip_conntrack_expect_events event,
|
|
|
|
- struct nf_conntrack_expect *exp,
|
|
|
|
- u32 portid,
|
|
|
|
- int report)
|
|
|
|
-{
|
|
|
|
- struct net *net = nf_ct_exp_net(exp);
|
|
|
|
- struct nf_exp_event_notifier *notify;
|
|
|
|
- struct nf_conntrack_ecache *e;
|
|
|
|
-
|
|
|
|
- rcu_read_lock();
|
|
|
|
- notify = rcu_dereference(net->ct.nf_expect_event_cb);
|
|
|
|
- if (notify == NULL)
|
|
|
|
- goto out_unlock;
|
|
|
|
-
|
|
|
|
- e = nf_ct_ecache_find(exp->master);
|
|
|
|
- if (e == NULL)
|
|
|
|
- goto out_unlock;
|
|
|
|
-
|
|
|
|
- if (e->expmask & (1 << event)) {
|
|
|
|
- struct nf_exp_event item = {
|
|
|
|
- .exp = exp,
|
|
|
|
- .portid = portid,
|
|
|
|
- .report = report
|
|
|
|
- };
|
|
|
|
- notify->fcn(1 << event, &item);
|
|
|
|
- }
|
|
|
|
-out_unlock:
|
|
|
|
- rcu_read_unlock();
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-static inline void
|
|
|
|
-nf_ct_expect_event(enum ip_conntrack_expect_events event,
|
|
|
|
- struct nf_conntrack_expect *exp)
|
|
|
|
-{
|
|
|
|
- nf_ct_expect_event_report(event, exp, 0, 0);
|
|
|
|
-}
|
|
|
|
|
|
+void nf_ct_expect_event_report(enum ip_conntrack_expect_events event,
|
|
|
|
+ struct nf_conntrack_expect *exp,
|
|
|
|
+ u32 portid, int report);
|
|
|
|
|
|
int nf_conntrack_ecache_pernet_init(struct net *net);
|
|
int nf_conntrack_ecache_pernet_init(struct net *net);
|
|
void nf_conntrack_ecache_pernet_fini(struct net *net);
|
|
void nf_conntrack_ecache_pernet_fini(struct net *net);
|
|
@@ -203,8 +169,6 @@ static inline int nf_conntrack_event_report(enum ip_conntrack_events event,
|
|
u32 portid,
|
|
u32 portid,
|
|
int report) { return 0; }
|
|
int report) { return 0; }
|
|
static inline void nf_ct_deliver_cached_events(const struct nf_conn *ct) {}
|
|
static inline void nf_ct_deliver_cached_events(const struct nf_conn *ct) {}
|
|
-static inline void nf_ct_expect_event(enum ip_conntrack_expect_events event,
|
|
|
|
- struct nf_conntrack_expect *exp) {}
|
|
|
|
static inline void nf_ct_expect_event_report(enum ip_conntrack_expect_events e,
|
|
static inline void nf_ct_expect_event_report(enum ip_conntrack_expect_events e,
|
|
struct nf_conntrack_expect *exp,
|
|
struct nf_conntrack_expect *exp,
|
|
u32 portid,
|
|
u32 portid,
|