aboutsummaryrefslogtreecommitdiff<
# DISCLAIMER: BEFORE EDITING THIS FILE!
#
# This file has two closely related consequences.
# The common part is that this file defines
# the content of virtual Python environment
# used when Robot tests are running.
# The difference is in which machine the environment is created on.
# For the Jenkins executor machines,
# editing this file has no surprising consequences.
#
# But the environment is also being created
# on virtual machines created by VIRL, which do have specific restrictions.
# Complete package and setting snapshot (for both VIRL and Physical Testbed),
# with network being limited in case of VIRL to local only.
# This implies pip currently being set to site-packages only
# for both VIRL and Physical Testbed.
# So if the "virl image" applied on the machine
# does not reflect the edits, some installations might fail.
# Even if the failure may not directly impact execution,
# this leads into inconsistency between installed environment
# and the code base which may lead into fatal error or uncaught exceptions.
#
# The "virl image" is built from files such as
# resources/tools/disk-image-builder/ubuntu/lists/ubuntu-16.04.1_2017-10-21_2.0/pip-requirements.txt
# but the build is not automated,
# the new "virl image" has to be built and applied manually
# before your edit can pass.
# This also means, incompatible virl images
# would make existing tests fail until your edit is merged.
#
# TODO: Automate the virtualenv download and distribution
#   on all types of testbeds prior the test execution.
# TODO: Figure out a way to verify edits to this file automatically.

# TODO: Split into directly needed packages and their dependencies.
aenum==2.1.2
docopt==0.6.2  # for pykwalify
ecdsa==0.13
enum34==1.1.2
ipaddress==1.0.16
paramiko==1.16.0
pexpect==4.6.0
pycrypto==2.6.1
pykwalify==1.5.0
pypcap==1.1.5
python-dateutil==2.4.2  # for pykwalify
PyYAML==3.11
requests==2.9.1
robotframework==2.9.2
scapy==2.3.1
scp==0.10.2
six==1.12.0  # for python-dateutil

# The following is only there for PLRsearch.
dill==0.2.8.2
numpy==1.14.5
scipy==1.1.0
which share same attributes shared arenas are represented by FD and they are not grovable private arenas are growable */ clib_pmalloc_arena_t *arenas; /* vector of per numa node alloc arena indices each numa node have own default privat alloc arena */ u32 *default_arena_for_numa_node; /* VA to PA lookup table */ uword *lookup_table; /* lookup page size - equals to smalles subpage used */ u32 lookup_log2_page_sz; /* last error */ clib_error_t *error; } clib_pmalloc_main_t; int clib_pmalloc_init (clib_pmalloc_main_t * pm, uword size); void *clib_pmalloc_alloc_aligned_on_numa (clib_pmalloc_main_t * pm, uword size, uword align, u32 numa_node); void *clib_pmalloc_alloc_aligned (clib_pmalloc_main_t * pm, uword size, uword align); void clib_pmalloc_free (clib_pmalloc_main_t * pm, void *va); void *clib_pmalloc_create_shared_arena (clib_pmalloc_main_t * pm, char *name, uword size, u32 log2_page_sz, u32 numa_node); void *clib_pmalloc_alloc_from_arena (clib_pmalloc_main_t * pm, void *arena_va, uword size, uword align); format_function_t format_pmalloc; always_inline clib_error_t * clib_pmalloc_last_error (clib_pmalloc_main_t * pm) { return pm->error; } always_inline u32 clib_pmalloc_get_page_index (clib_pmalloc_main_t * pm, void *va) { uword index = (pointer_to_uword (va) - pointer_to_uword (pm->base)) >> pm->def_log2_page_sz; ASSERT (index < vec_len (pm->pages)); return index; } always_inline clib_pmalloc_arena_t * clib_pmalloc_get_arena (clib_pmalloc_main_t * pm, void *va) { u32 index = clib_pmalloc_get_page_index (pm, va); return pm->arenas + pm->pages[index].arena_index; } always_inline uword clib_pmalloc_get_pa (clib_pmalloc_main_t * pm, void *va) { uword index = (pointer_to_uword (va) - pointer_to_uword (pm->base)) >> pm->lookup_log2_page_sz; return pointer_to_uword (va) - pm->lookup_table[index]; } #endif /* included_palloc_h */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */