diff options
Diffstat (limited to 'net/openvswitch/conntrack.c')
-rw-r--r-- | net/openvswitch/conntrack.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/net/openvswitch/conntrack.c b/net/openvswitch/conntrack.c index 52f3b9b89e97..b4069a90e375 100644 --- a/net/openvswitch/conntrack.c +++ b/net/openvswitch/conntrack.c | |||
@@ -818,8 +818,18 @@ static int ovs_ct_lookup(struct net *net, struct sw_flow_key *key, | |||
818 | */ | 818 | */ |
819 | state = OVS_CS_F_TRACKED | OVS_CS_F_NEW | OVS_CS_F_RELATED; | 819 | state = OVS_CS_F_TRACKED | OVS_CS_F_NEW | OVS_CS_F_RELATED; |
820 | __ovs_ct_update_key(key, state, &info->zone, exp->master); | 820 | __ovs_ct_update_key(key, state, &info->zone, exp->master); |
821 | } else | 821 | } else { |
822 | return __ovs_ct_lookup(net, key, info, skb); | 822 | struct nf_conn *ct; |
823 | int err; | ||
824 | |||
825 | err = __ovs_ct_lookup(net, key, info, skb); | ||
826 | if (err) | ||
827 | return err; | ||
828 | |||
829 | ct = (struct nf_conn *)skb->nfct; | ||
830 | if (ct) | ||
831 | nf_ct_deliver_cached_events(ct); | ||
832 | } | ||
823 | 833 | ||
824 | return 0; | 834 | return 0; |
825 | } | 835 | } |