summaryrefslogtreecommitdiffstats
AgeCommit message (Expand)AuthorFilesLines
2018-09-12L2-Learn: use vlib_buffer_enqueue_to_nextNeale Ranns1-195/+147
2018-09-12vhost: Fix VPP crash when reloading VM with mixed-type ports [VPP-1406]Yichen Wang2-1/+15
2018-09-12VXLAN-GBP: use common types on the APINeale Ranns6-105/+104
2018-09-12device flags will set in dpdk_update_link_state.Khers1-2/+0
2018-09-12Add patch for ixgbe x550 SFP+ to DPDK 18.08Matthew Smith2-1/+40
2018-09-12Add and enable u32x4_extend_to_u64x2_high for aarch64 NEON intrinsics.Sirshak Das2-1/+11
2018-09-12Fix create memif socketEd Warnicke1-16/+0
2018-09-12vcl: add apis that expos fifo as bufferFlorin Coras8-55/+320
2018-09-12vcl: improve read and fifo event handlingFlorin Coras9-22/+58
2018-09-11bihash 32/64 bit shared memory interopDave Barach2-39/+39
2018-09-11indent off in ip_lookup_set_buffer_fib_indexNeale Ranns1-4/+5
2018-09-11L2-learn; cache prefetch fixNeale Ranns3-16/+23
2018-09-11GBP Endpoint UpdatesNeale Ranns39-677/+1120
2018-09-11vat: remove the endiness for u8Mohsin Kazmi1-1/+1
2018-09-11VAT: plugin load errorsOle Troan2-4/+22
2018-09-11remove libvlib from libvlibmemoryclient libsMatthew Smith2-2/+2
2018-09-11nat: fix busy ports of each threaddongjuan1-4/+15
2018-09-11Replacing vtbl NEON intrinsic with rev NEON intrinsic for byte_swap.Sirshak Das1-5/+1
2018-09-11Add u32x4_extend_to_u64x2 for aarch64 using NEON intrinsicsSirshak Das1-0/+6
2018-09-11Add horizontal add (hadd) vector intrinsic via NEON.Sirshak Das1-0/+6
2018-09-11vapi: support VLAs in typedefsKlement Sekera2-28/+96
2018-09-10dpdk: clean interface link information on admin down / stopDamjan Marion1-0/+1
2018-09-10dpdk-plugin: do not request SCTP offload, some cards do not support it while ...Andrew Yourtchenko1-2/+2
2018-09-10cmake VOM: j factor chosen based on number of coresNeale Ranns1-1/+2
2018-09-10new multiversioning on ethernet input nodesDamjan Marion2-35/+17
2018-09-10vxlan-gbp: Add support for vxlan gbpMohsin Kazmi29-38/+3797
2018-09-10cmake: put vpp_api_test back to packagingDamjan Marion1-1/+1
2018-09-10session: lock app worker mq for io eventsFlorin Coras8-102/+130
2018-09-09vlib: crash in linux_epoll_input_inline for accessing free file index [VPP-1412]Steven1-2/+31
2018-09-09cmake: Move VOM to cmakeMohsin Kazmi7-265/+314
2018-09-08L2 BVI/FIB: Update L2 FIB table when BVI's MAC changesNeale Ranns27-24/+104
2018-09-08vcl: set worker pthread stop keyFlorin Coras4-2/+12
2018-09-08vcl: register workers in orderFlorin Coras4-5/+19
2018-09-08session: detect namespace for transport appsFlorin Coras3-4/+20
2018-09-07session: fix reentrant listensFlorin Coras3-16/+22
2018-09-07update regex used by rpm build to find lib filesMatthew Smith1-1/+1
2018-09-07Improve NTP / kernel time change event handlingDave Barach2-2/+34
2018-09-07cmake: set packaging component for different filesDamjan Marion9-17/+46
2018-09-07Cavium OcteonTX: cache line fixMarco Varlese1-5/+9
2018-09-07VPP-API: Cancel timeout thread without sending READ_TIMEOUT message.Ole Troan1-8/+6
2018-09-07L2-FIB: replace bit-fields with flagsNeale Ranns6-69/+132
2018-09-07IP route update fix when multipath and drop setNeale Ranns4-27/+65
2018-09-07PAPI: Unpack embedded types with variable length arrays.Ole Troan3-36/+97
2018-09-07post move-to-cmake cleanupDamjan Marion4-71/+0
2018-09-07Remove qsort.c from vppinfraDamjan Marion1-1/+0
2018-09-07vcl: refactor test client to support workersFlorin Coras8-640/+589
2018-09-07Add flush flag on del as commandHongjun Ni5-16/+164
2018-09-07geneve: fix variable initial valueZhiyong Yang1-1/+1
2018-09-07docs: what is vpp and features and performanceScott Keeler10-29/+54
2018-09-07libmemif: slave connecting bugfixJakub Grajciar3-48/+70
pan> vpp = %{_version}-%{_release}, vpp-lib = %{_version}-%{_release}, python-setuptools libffi-devel %description api-python This package contains the python bindings for the vpp api %package selinux-policy Summary: VPP Security-Enhanced Linux (SELinux) policy Group: System Environment/Base Requires(post): selinux-policy-base >= %{selinux_policyver}, selinux-policy-targeted >= %{selinux_policyver}, policycoreutils, policycoreutils-python libselinux-utils %description selinux-policy This package contains a tailored VPP SELinux policy %prep %setup -q -n %{name}-%{_version} %pre # Add the vpp group groupadd -f -r vpp %build %if %{with aesni} make bootstrap make -C build-root PLATFORM=vpp TAG=%{_vpp_tag} install-packages %else make bootstrap AESNI=n make -C build-root PLATFORM=vpp AESNI=n TAG=%{_vpp_tag} install-packages %endif cd %{_mu_build_dir}/../src/vpp-api/python && %py2_build cd %{_mu_build_dir}/../extras/selinux && make -f %{_datadir}/selinux/devel/Makefile %install # # binaries # mkdir -p -m755 %{buildroot}%{_bindir} mkdir -p -m755 %{buildroot}%{_unitdir} install -p -m 755 %{_mu_build_dir}/%{_vpp_install_dir}/vpp/bin/* %{buildroot}%{_bindir} # api mkdir -p -m755 %{buildroot}/usr/share/vpp/api # # configs # mkdir -p -m755 %{buildroot}/etc/vpp mkdir -p -m755 %{buildroot}/etc/sysctl.d install -p -m 644 %{_mu_build_dir}/../extras/rpm/vpp.service %{buildroot}%{_unitdir} install -p -m 644 %{_mu_build_dir}/../src/vpp/conf/startup.conf %{buildroot}/etc/vpp/startup.conf install -p -m 644 %{_mu_build_dir}/../src/vpp/conf/80-vpp.conf %{buildroot}/etc/sysctl.d # # libraries # mkdir -p -m755 %{buildroot}%{_libdir} mkdir -p -m755 %{buildroot}/etc/bash_completion.d mkdir -p -m755 %{buildroot}/usr/share/vpp for file in $(find %{_mu_build_dir}/%{_vpp_install_dir}/*/lib* -type f -name '*.so.*.*.*' -print ) do install -p -m 755 $file %{buildroot}%{_libdir} done for file in $(cd %{buildroot}%{_libdir} && find . -type f -print | sed -e 's/^\.\///') do # make lib symlinks ( cd %{buildroot}%{_libdir} && ln -fs $file $(echo $file | sed -e 's/\(\.so\.[0-9]\+\).*/\1/') ) ( cd %{buildroot}%{_libdir} && ln -fs $file $(echo $file | sed -e 's/\(\.so\)\.[0-9]\+.*/\1/') ) done for file in $(find %{_mu_build_dir}/%{_vpp_install_dir}/vpp/share/vpp/api -type f -name '*.api.json' -print ) do install -p -m 644 $file %{buildroot}/usr/share/vpp/api done install -p -m 644 %{_mu_build_dir}/../src/scripts/vppctl_completion %{buildroot}/etc/bash_completion.d install -p -m 644 %{_mu_build_dir}/../src/scripts/vppctl-cmd-list %{buildroot}/usr/share/vpp # Lua bindings mkdir -p -m755 %{buildroot}/usr/share/doc/vpp/examples/lua/examples/cli mkdir -p -m755 %{buildroot}/usr/share/doc/vpp/examples/lua/examples/lute # for file in $(cd %{_mu_build_dir}/%{_vpp_install_dir}/../../src/vpp-api/lua && git ls-files .) for file in $(cd %{_mu_build_dir}/%{_vpp_install_dir}/../../src/vpp-api/lua && find . -type f -regex '.*/*.[luteamd]' -print | sed -e 's/^\.\///') do ( cd %{_mu_build_dir}/%{_vpp_install_dir}/../../src/vpp-api/lua && install -p -m 644 $file \ %{buildroot}/usr/share/doc/vpp/examples/lua/$file ) done # Java bindings mkdir -p -m755 %{buildroot}/usr/share/java for file in $(find %{_mu_build_dir}/%{_vpp_install_dir}/vpp/share/java -type f -name '*.jar' -print ) do install -p -m 644 $file %{buildroot}/usr/share/java done # Python bindings cd %{_mu_build_dir}/../src/vpp-api/python && %py2_install # SELinux Policy # Install SELinux interfaces %_format INTERFACES %{_mu_build_dir}/../extras/selinux/$x.if install -d %{buildroot}%{_datadir}/selinux/devel/include/%{moduletype} install -p -m 644 $INTERFACES \ %{buildroot}%{_datadir}/selinux/devel/include/%{moduletype} # Install policy modules %_format MODULES %{_mu_build_dir}/../extras/selinux/$x.pp install -d %{buildroot}%{_datadir}/selinux/packages install -m 0644 $MODULES \ %{buildroot}%{_datadir}/selinux/packages # # devel # for dir in $(find %{_mu_build_dir}/%{_vpp_install_dir}/*/include/ -maxdepth 0 -type d -print | grep -v dpdk) do for subdir in $(cd ${dir} && find . -type d -print) do mkdir -p -m755 %{buildroot}/usr/include/${subdir} done for file in $(cd ${dir} && find . -type f -print) do install -p -m 644 $dir/$file %{buildroot}%{_includedir}/$file done done mkdir -p -m755 %{buildroot}%{python2_sitelib}/jvppgen install -p -m755 %{_mu_build_dir}/../src/vpp-api/java/jvpp/gen/jvpp_gen.py %{buildroot}/usr/bin for i in $(ls %{_mu_build_dir}/../src/vpp-api/java/jvpp/gen/jvppgen/*.py); do install -p -m666 ${i} %{buildroot}%{python2_sitelib}/jvppgen done; install -p -m 644 %{_mu_build_dir}/../src/tools/vppapigen/C.py %{buildroot}/usr/share/vpp install -p -m 644 %{_mu_build_dir}/../src/tools/vppapigen/JSON.py %{buildroot}/usr/share/vpp # sample plugin mkdir -p -m755 %{buildroot}/usr/share/doc/vpp/examples/sample-plugin/sample #for file in $(cd %{_mu_build_dir}/%{_vpp_install_dir}/../../src/examples/sample-plugin && git ls-files .) for file in $(cd %{_mu_build_dir}/%{_vpp_install_dir}/../../src/examples/sample-plugin && find . -type f -regex '.*/*.[acdhimp]' -print | sed -e 's/^\.\///') do ( cd %{_mu_build_dir}/%{_vpp_install_dir}/../../src/examples/sample-plugin && install -p -m 644 $file \ %{buildroot}/usr/share/doc/vpp/examples/sample-plugin/$file ) done # vppctl sockfile directory mkdir -p -m755 %{buildroot}%{_localstatedir}/run/vpp # vpp.log directory mkdir -p -m755 %{buildroot}%{_localstatedir}/log/vpp # # vpp-plugins # mkdir -p -m755 %{buildroot}/usr/lib/vpp_plugins mkdir -p -m755 %{buildroot}/usr/lib/vpp_api_test_plugins for file in $(cd %{_mu_build_dir}/%{_vpp_install_dir}/vpp/lib64/vpp_plugins && find -type f -print) do install -p -m 644 %{_mu_build_dir}/%{_vpp_install_dir}/vpp/lib64/vpp_plugins/$file \ %{buildroot}/usr/lib/vpp_plugins/$file done for file in $(cd %{_mu_build_dir}/%{_vpp_install_dir}/vpp/lib64/vpp_api_test_plugins && find -type f -print) do install -p -m 644 %{_mu_build_dir}/%{_vpp_install_dir}/vpp/lib64/vpp_api_test_plugins/$file \ %{buildroot}/usr/lib/vpp_api_test_plugins/$file done for file in $(find %{_mu_build_dir}/%{_vpp_install_dir}/plugins -type f -name '*.api.json' -print ) do install -p -m 644 $file %{buildroot}/usr/share/vpp/api done # # remove RPATH from ELF binaries # %{_mu_build_dir}/scripts/remove-rpath %{buildroot} %post if [ $1 -eq 1 ] ; then sysctl --system fi %systemd_post vpp.service %preun %systemd_preun vpp.service %post selinux-policy %_format MODULES %{_datadir}/selinux/packages/$x.pp if %{_sbindir}/selinuxenabled ; then %{_sbindir}/semodule -n -X 400 -s %{selinuxtype} -i $MODULES %{_sbindir}/load_policy %relabel_files fi %postun %systemd_postun if [ $1 -eq 0 ] ; then echo "Uninstalling, unbind user-mode PCI drivers" # Unbind user-mode PCI drivers removed= pci_dirs=`find /sys/bus/pci/drivers -type d -name igb_uio -o -name uio_pci_generic -o -name vfio-pci` for d in $pci_dirs; do for f in ${d}/*; do [ -e "${f}/config" ] || continue echo ${f##*/} > ${d}/unbind basename `dirname ${f}` | xargs echo -n "Removing driver"; echo " for PCI ID" `basename ${f}` removed=y done done if [ -n "${removed}" ]; then echo "There are changes in PCI drivers, rescaning" echo 1 > /sys/bus/pci/rescan else echo "There weren't PCI devices binded" fi else echo "Upgrading package, dont' unbind interfaces" fi %postun selinux-policy if [ $1 -eq 0 ]; then %{_sbindir}/semodule -n -r %{modulenames} if %{_sbindir}/selinuxenabled ; then %{_sbindir}/load_policy %relabel_files fi fi %files %defattr(-,bin,bin) %{_unitdir}/vpp.service /usr/bin/vpp* /usr/bin/svm* /usr/bin/elftool %config(noreplace) /etc/sysctl.d/80-vpp.conf %config(noreplace) /etc/vpp/startup.conf /usr/share/vpp/api/* %defattr(-,root,vpp) %{_localstatedir}/run/vpp* %defattr(-,root,root) %{_localstatedir}/log/vpp* %files lib %defattr(-,bin,bin) %global __requires_exclude_from %{_libdir}/librte_pmd_mlx[45]_glue\\.so.*$ %exclude %{_libdir}/vpp_plugins %exclude %{_libdir}/vpp_api_test_plugins %{_libdir}/* /usr/share/vpp/api/* /etc/bash_completion.d/vppctl_completion /usr/share/vpp/vppctl-cmd-list %files api-lua %defattr(644,root,root,644) /usr/share/doc/vpp/examples/lua %files api-java %defattr(644,root,root) /usr/share/java/* %files api-python %defattr(644,root,root) %{python2_sitelib}/vpp_papi* %files selinux-policy %defattr(-,root,root,0755) %attr(0644,root,root) %{_datadir}/selinux/packages/*.pp %attr(0644,root,root) %{_datadir}/selinux/devel/include/%{moduletype}/*.if %files devel %defattr(-,bin,bin) /usr/bin/vppapigen /usr/bin/jvpp_gen.py %{_includedir}/* %{python2_sitelib}/jvppgen/* /usr/share/doc/vpp/examples/sample-plugin /usr/share/vpp %files plugins %defattr(-,bin,bin) /usr/lib/vpp_plugins/* /usr/lib/vpp_api_test_plugins/* /usr/share/vpp/api/*