Data Structures | Defines

P_InkBulkIO.h File Reference

A brief file description. More...

#include <netinet/ip.h>
#include <netinet/udp.h>
Include dependency graph for P_InkBulkIO.h:

Go to the source code of this file.

Data Structures

struct  InkBulkIOBlock
struct  InkBulkIOFreeBlockInfo_t
struct  InkBulkIOPkt
struct  InkBulkIOAddrInfo
struct  InkBulkIOSendtoRequest
struct  InkBulkIOSplitRequest
struct  InkBulkIORequest

Defines

#define INKBIO_IOC   ('x' << 8)
#define INKBIO_SEND   (INKBIO_IOC | 1)
#define INKBIO_BALLOC   (INKBIO_IOC | 2)
#define INKBIO_GET_STATS   (INKBIO_IOC | 3)
#define INKBIO_NOP   (INKBIO_IOC | 7)
#define INKBIO_MEMCPY   (INKBIO_IOC | 8)
#define INKBIO_REGISTER   1024
#define INKBIO_MAX_BLOCKS   512
#define INKBIO_MTU_SIZE   1500
#define INKBIO_PKT_SIZE_WITH_UDPHDR   (INKBIO_MTU_SIZE - (sizeof(struct ip) + sizeof(struct udphdr)))
#define INKBIO_PKT_SIZE_WO_UDPHDR   (INKBIO_MTU_SIZE - sizeof(struct ip))
#define INKBIO_PKT_HEADER_SIZE   (100 + sizeof(struct ip))
#define INKBIO_PKT_FOOTER_SIZE   0
#define INKBIO_BLOCK_SIZE   (INKBIO_MTU_SIZE + INKBIO_PKT_HEADER_SIZE + INKBIO_PKT_FOOTER_SIZE)
#define INKBIO_MAX_UMEM_SIZE   (INKBIO_BLOCK_SIZE * INKBIO_MAX_BLOCKS)
#define INKBIO_SENDTO_REQUEST   0x0a
#define INKBIO_SPLIT_REQUEST   0xf1
#define INKBIO_MAX_PKTS_PER_REQ_BLOCK
#define INKBIO_MAX_REQS_PER_REQ_BLOCK   ((INKBIO_PKT_SIZE_WO_UDPHDR - sizeof(uint32_t)) / sizeof(uint32_t))
#define INKBIO_MAX_FRAGS_PER_REQ_BLOCK   INKBIO_MAX_PKTS_PER_REQ_BLOCK
#define INKBIO_MAX_SPLIT_WO_HDR_PER_SPLIT_BLOCK
#define INKBIO_MAX_SPLIT_WITH_HDR_PER_SPLIT_BLOCK

Detailed Description

A brief file description.

License

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you 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.

Definition in file P_InkBulkIO.h.


Define Documentation

#define INKBIO_BALLOC   (INKBIO_IOC | 2)

Definition at line 41 of file P_InkBulkIO.h.

#define INKBIO_BLOCK_SIZE   (INKBIO_MTU_SIZE + INKBIO_PKT_HEADER_SIZE + INKBIO_PKT_FOOTER_SIZE)

Definition at line 60 of file P_InkBulkIO.h.

#define INKBIO_GET_STATS   (INKBIO_IOC | 3)

Definition at line 43 of file P_InkBulkIO.h.

#define INKBIO_IOC   ('x' << 8)

Definition at line 38 of file P_InkBulkIO.h.

#define INKBIO_MAX_BLOCKS   512

Definition at line 51 of file P_InkBulkIO.h.

#define INKBIO_MAX_FRAGS_PER_REQ_BLOCK   INKBIO_MAX_PKTS_PER_REQ_BLOCK

Definition at line 163 of file P_InkBulkIO.h.

#define INKBIO_MAX_PKTS_PER_REQ_BLOCK
Value:
((INKBIO_PKT_SIZE_WO_UDPHDR - \
                                        (sizeof(struct InkBulkIORequest) + sizeof(struct InkBulkIOPkt))) / \
                                       MAX((sizeof (struct InkBulkIORequest)), \
                                           (sizeof(struct InkBulkIOPkt))))

Definition at line 152 of file P_InkBulkIO.h.

#define INKBIO_MAX_REQS_PER_REQ_BLOCK   ((INKBIO_PKT_SIZE_WO_UDPHDR - sizeof(uint32_t)) / sizeof(uint32_t))

Definition at line 161 of file P_InkBulkIO.h.

#define INKBIO_MAX_SPLIT_WITH_HDR_PER_SPLIT_BLOCK
Value:
((INKBIO_PKT_SIZE_WO_UDPHDR - \
                                        (sizeof(struct InkBulkIORequest) + sizeof(struct InkBulkIOPkt) + sizeof(struct InkBulkIOAddrInfo))) / \
                                        (sizeof(struct InkBulkIOPkt) + sizeof(struct InkBulkIOAddrInfo)))

Definition at line 174 of file P_InkBulkIO.h.

#define INKBIO_MAX_SPLIT_WO_HDR_PER_SPLIT_BLOCK
Value:
((INKBIO_PKT_SIZE_WO_UDPHDR - \
                                        (sizeof(struct InkBulkIORequest) + sizeof(struct InkBulkIOPkt) + sizeof(struct InkBulkIOAddrInfo))) / \
                                        (sizeof(struct InkBulkIOAddrInfo)))

Definition at line 170 of file P_InkBulkIO.h.

#define INKBIO_MAX_UMEM_SIZE   (INKBIO_BLOCK_SIZE * INKBIO_MAX_BLOCKS)

Definition at line 62 of file P_InkBulkIO.h.

#define INKBIO_MEMCPY   (INKBIO_IOC | 8)

Definition at line 46 of file P_InkBulkIO.h.

#define INKBIO_MTU_SIZE   1500

Definition at line 54 of file P_InkBulkIO.h.

#define INKBIO_NOP   (INKBIO_IOC | 7)

Definition at line 45 of file P_InkBulkIO.h.

#define INKBIO_PKT_FOOTER_SIZE   0

Definition at line 59 of file P_InkBulkIO.h.

#define INKBIO_PKT_HEADER_SIZE   (100 + sizeof(struct ip))

Definition at line 58 of file P_InkBulkIO.h.

#define INKBIO_PKT_SIZE_WITH_UDPHDR   (INKBIO_MTU_SIZE - (sizeof(struct ip) + sizeof(struct udphdr)))

Definition at line 55 of file P_InkBulkIO.h.

#define INKBIO_PKT_SIZE_WO_UDPHDR   (INKBIO_MTU_SIZE - sizeof(struct ip))

Definition at line 56 of file P_InkBulkIO.h.

#define INKBIO_REGISTER   1024

Definition at line 49 of file P_InkBulkIO.h.

#define INKBIO_SEND   (INKBIO_IOC | 1)

Definition at line 40 of file P_InkBulkIO.h.

#define INKBIO_SENDTO_REQUEST   0x0a

Definition at line 145 of file P_InkBulkIO.h.

#define INKBIO_SPLIT_REQUEST   0xf1

Definition at line 146 of file P_InkBulkIO.h.