diff options
Diffstat (limited to 'src/pal/linux_dpdk/mbuf.cpp')
-rwxr-xr-x | src/pal/linux_dpdk/mbuf.cpp | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/src/pal/linux_dpdk/mbuf.cpp b/src/pal/linux_dpdk/mbuf.cpp new file mode 100755 index 00000000..2a405ab1 --- /dev/null +++ b/src/pal/linux_dpdk/mbuf.cpp @@ -0,0 +1,75 @@ +#include "mbuf.h" + +/* + Hanoh Haim + Cisco Systems, Inc. +*/ + +/* +Copyright (c) 2015-2016 Cisco Systems, 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. +*/ + + +rte_mempool_t * utl_rte_mempool_create(const char *name, + unsigned n, + unsigned elt_size, + unsigned cache_size, + uint32_t _id, + int socket_id ){ + char buffer[100]; + sprintf(buffer,"%s-%d",name,socket_id); + + rte_mempool_t * res= + rte_mempool_create(buffer, n, + elt_size, cache_size, + sizeof(struct rte_pktmbuf_pool_private), + rte_pktmbuf_pool_init, NULL, + rte_pktmbuf_init, NULL, + socket_id, 0); + if (res == NULL){ + printf(" ERROR there is not enough huge-pages memory in your system \n"); + rte_exit(EXIT_FAILURE, "Cannot init mbuf pool %s\n",name); + } + return res; +} + +rte_mempool_t * utl_rte_mempool_create_non_pkt(const char *name, + unsigned n, + unsigned elt_size, + unsigned cache_size, + uint32_t _id , + int socket_id){ + char buffer[100]; + sprintf(buffer,"%s-%d",name,socket_id); + + rte_mempool_t * res= + rte_mempool_create(buffer, n, + elt_size, + cache_size, + 0, + NULL, NULL, + NULL, NULL, + socket_id, 0); + if (res == NULL) { + printf(" ERROR there is not enough huge-pages memory in your system \n"); + rte_exit(EXIT_FAILURE, "Cannot init nodes mbuf pool %s\n",name); + } + return res; +} + + + + + |