On Thu, Sep 04, 2008 at 06:58:38PM +0200, Patrick McHardy wrote:
> [EMAIL PROTECTED] wrote:
>>  static inline void
>> -nf_conntrack_event_cache(enum ip_conntrack_events event,
>> +nf_conntrack_event_cache(struct net *net, enum ip_conntrack_events event,
>>                       const struct sk_buff *skb)
>>  {
>
> Passing the conntrack instead of the struct net and the skb
> would probably keep the callers cleaner.

Dunno, passing netns explicitly like saying conntrack event happened in
netns A, which is reasonable. OTOH, s/skb/ct/ is indeed nicer.

I'll change it as you suggest and see what happens.

BTW, I asked earlier if untracked conntracks are ever supposed to drop into
event cache. If they're, trimming nf_conntrack_untracked is out of question.

>>      struct nf_conn *ct = (struct nf_conn *)skb->nfct;
>>      struct nf_conntrack_ecache *ecache;
>>      local_bh_disable();
>> -    ecache = &__get_cpu_var(nf_conntrack_ecache);
>> +    ecache = per_cpu_ptr(net->ct.ecache, raw_smp_processor_id());
>>      if (ct != ecache->ct)
>>              __nf_ct_event_cache_init(ct);
>>      ecache->events |= event;
>> @@ -60,16 +58,29 @@ nf_ct_expect_event(enum ip_conntrack_expect_events event,
>>      atomic_notifier_call_chain(&nf_ct_expect_chain, event, exp);
>>  }
>>  

_______________________________________________
Containers mailing list
[EMAIL PROTECTED]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to