netdev-dpdk: fix mbuf leaks
[cascardo/ovs.git] / datapath-windows / ovsext / Tunnel.h
1 /*
2  * Copyright (c) 2014 VMware, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at:
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef __TUNNEL_H_
18 #define __TUNNEL_H_ 1
19
20 //
21 // OVS_TUNNEL_PENDED_PACKET is the object type we used to store all information
22 // needed for out-of-band packet modification and re-injection. This type
23 // also points back to the flow context the packet belongs to.
24
25 typedef struct OVS_TUNNEL_PENDED_PACKET_
26 {
27    /* Common fields for inbound and outbound traffic */
28    NET_BUFFER_LIST *netBufferList;
29
30    UINT32 ipHeaderSize;
31    UINT32 transportHeaderSize;
32    FWPS_CLASSIFY_OUT *classifyOut;
33 } OVS_TUNNEL_PENDED_PACKET;
34
35 //
36 // Shared function prototypes
37 //
38 VOID OvsTunnelClassify(const FWPS_INCOMING_VALUES *inFixedValues,
39                        const FWPS_INCOMING_METADATA_VALUES *inMetaValues,
40                        VOID *layerData,
41                        const VOID *classifyContext,
42                        const FWPS_FILTER *filter,
43                        UINT64 flowContext,
44                        FWPS_CLASSIFY_OUT *classifyOut);
45
46
47 NTSTATUS OvsTunnelNotify(FWPS_CALLOUT_NOTIFY_TYPE notifyType,
48                          const GUID *filterKey,
49                          const FWPS_FILTER *filter);
50
51 #endif /* __TUNNEL_H_ */