diff options
author | Samuel Ghinet <sghinet@cloudbasesolutions.com> | 2014-08-29 04:06:48 +0000 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2014-08-29 07:55:05 -0700 |
commit | fa1324c92810c6b1e33b7e87caaaf2e6c4041040 (patch) | |
tree | 8e06f5d991d755215bb6839a997bc58721b2d754 /datapath-windows/ovsext/PacketIO.h | |
parent | fd972eb87a888242fb1a8ec2394fa7b3030fbd7d (diff) | |
download | openvswitch-fa1324c92810c6b1e33b7e87caaaf2e6c4041040.tar.gz |
datapath-windows: Rename files.
This patch includes the file renaming and accommodations needed for the file
renaming to build the forwarding extension for Hyper-V.
This patch is also a follow-up for the thread:
http://openvswitch.org/pipermail/dev/2014-August/044005.html
Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com>
Co-authored-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'datapath-windows/ovsext/PacketIO.h')
-rw-r--r-- | datapath-windows/ovsext/PacketIO.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/datapath-windows/ovsext/PacketIO.h b/datapath-windows/ovsext/PacketIO.h new file mode 100644 index 000000000..4d29a1894 --- /dev/null +++ b/datapath-windows/ovsext/PacketIO.h @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2014 VMware, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __PACKETIO_H_ +#define __PACKETIO_H_ 1 + +typedef union _OVS_PACKET_HDR_INFO OVS_PACKET_HDR_INFO; + +/* + * Data structures and utility functions to help manage a list of packets to be + * completed (dropped). + */ +typedef struct OvsCompletionList { + PNET_BUFFER_LIST dropNbl; + PNET_BUFFER_LIST *dropNblNext; + POVS_SWITCH_CONTEXT switchContext; + ULONG sendCompleteFlags; +} OvsCompletionList; + +VOID OvsInitCompletionList(OvsCompletionList *completionList, + POVS_SWITCH_CONTEXT switchContext, + ULONG sendCompleteFlags); +VOID OvsAddPktCompletionList(OvsCompletionList *completionList, + BOOLEAN incoming, + NDIS_SWITCH_PORT_ID sourcePort, + PNET_BUFFER_LIST netBufferList, + UINT32 netBufferListCount, + PNDIS_STRING filterReason); + + +/* + * Functions related to packet processing. + */ +VOID OvsSendNBLIngress(POVS_SWITCH_CONTEXT switchContext, + PNET_BUFFER_LIST netBufferLists, + ULONG sendFlags); + +NDIS_STATUS OvsActionsExecute(POVS_SWITCH_CONTEXT switchContext, + OvsCompletionList *completionList, + PNET_BUFFER_LIST curNbl, UINT32 srcVportNo, + ULONG sendFlags, OvsFlowKey *key, UINT64 *hash, + OVS_PACKET_HDR_INFO *layers, + const PNL_ATTR actions, int actionsLen); + +VOID OvsLookupFlowOutput(POVS_SWITCH_CONTEXT switchContext, + VOID *compList, PNET_BUFFER_LIST curNbl); + +#endif /* __PACKETIO_H_ */ |