summaryrefslogtreecommitdiffstats
path: root/build-root
AgeCommit message (Expand)AuthorFilesLines
2017-03-17Python API: Fix RPM packaging (again).Ole Troan1-4/+6
2017-03-15Python API: Change from cPython to CFFI.Ole Troan1-9/+3
2017-03-14Update CSIT tests 170302 -> 170313Jan Gelety1-1/+1
2017-03-04Fix duplicate binary API registration messages / bugsDave Barach1-2/+2
2017-03-02Update CSIT tests 170220 -> 170302Jan Gelety1-1/+1
2017-02-24Fixed QAT device binding and device unbinding when vpp package is removedRadu Nicolau2-2/+2
2017-02-22VPP-635: CLI Memory leak with invalid parameterBilly McFall1-4/+15
2017-02-20Update CSIT tests 170213 -> 170220Jan Gelety1-1/+1
2017-02-14Update CSIT tests 170129 -> 170213Jan Gelety1-1/+1
2017-02-10Update plugin templatesDave Barach3-118/+106
2017-02-04dpdk: move to uio_pci_genericDamjan Marion3-5/+5
2017-02-02Refactor fragile msg macro W and W2 to not burry return control flow.Jon Loeliger1-1/+3
2017-02-02Localize the timeout variable within the W message macro.Jon Loeliger1-2/+1
2017-02-02Convert message macro S to accept a message pointer parameter;Jon Loeliger1-2/+2
2017-02-02Convert M() and M2() macros to honor their second, mp, parameter.Jon Loeliger1-2/+2
2017-02-02Ensure all M() and M2() second parameters are the message pointer.Jon Loeliger1-1/+1
2017-02-02Update default Vagrant box to Ubuntu 16.04, VPP-616Dave Wallace3-12/+22
2017-01-31Prep work for Coverity upload processing via JenkinsDave Barach1-0/+53
2017-01-31Update CSIT tests 170122 -> 170129Jan Gelety1-1/+1
2017-01-27package only the vpp binaries (rpm)Gabriel Ganne1-1/+1
2017-01-25Update CSIT tests 170108 -> 170122Jan Gelety1-1/+1
2017-01-20Add dpdk development packagingDamjan Marion6-54/+2
2017-01-17vagrant: stop rsync from wiping changes from /vppPadraig Connolly1-15/+18
2017-01-17fix rpm warnings for defattr directory of lua/*Gabriel Ganne1-1/+1
2017-01-13Fix remove-rpath script, take 2Damjan Marion1-1/+1
2017-01-13Fix remove-rpath scriptDamjan Marion1-1/+1
2017-01-13vppctl: new bash completion for vppctl commandsPadraig Connolly1-0/+6
2017-01-11Remove unnecessary build macro to fix slow builds.Thomas F Herbert1-4/+0
2017-01-11Makefile.am cleanupDamjan Marion2-41/+1
2017-01-10Revert "vppctl: bash completion for vppctl commands"Damjan Marion2-8/+1
2017-01-09vppctl: bash completion for vppctl commandsPadraig Connolly2-1/+8
2017-01-09Update CSIT tests 170101 -> 170108Jan Gelety1-1/+1
2017-01-04rename vpp python's api debian scriptsGabriel Ganne2-0/+0
2017-01-03fix version.h generation for out-of-tree buildsDamjan Marion1-54/+1
2017-01-03Do not require external vppapigen when not cross-compilingDamjan Marion1-1/+0
2017-01-03deb: fix issues in debian/control, silence some warningsDamjan Marion2-7/+12
2017-01-03vpp-python-api deb packaging - use easy_install to install the python apiroot2-0/+13
2017-01-02Update CSIT tests 161218 -> 170101Jan Gelety1-1/+1
2017-01-02Update emacs plugin generator skeletonDave Barach5-76/+27
2017-01-01Move java,lua api and remaining plugins to src/Damjan Marion10-32/+90
2016-12-28Reorganize source tree to use single autotools instanceDamjan Marion7-17/+29
2016-12-21vagrant: Fixing sudo related vagrant errorsRay Kinsella1-5/+8
2016-12-21vagrant: updated Vagrantfile to use rsyncRay Kinsella2-58/+16
2016-12-21fix sample-plugin rpm packagingGabriel Ganne1-2/+2
2016-12-20Remove RPATH from binaries before creating .deb and .rpm packagesDamjan Marion4-2/+32
2016-12-19Update CSIT tests 161211 -> 161218Jan Gelety1-1/+1
2016-12-12Update CSIT tests 161204 -> 161211Jan Gelety1-1/+1
2016-12-09python api rpm packaging - json files are not executablesGabriel Ganne1-2/+2
2016-12-08vpp-python-api packaging - use easy_install to install the python apiGabriel Ganne1-7/+10
2016-12-05Update CSIT tests 161128 -> 161204Jan1-1/+1
&fib_entry->fe_prefix); ASSERT(FIB_NODE_INDEX_INVALID != src->rr.fesr_cover); cover = fib_entry_get(src->rr.fesr_cover); src->rr.fesr_sibling = fib_entry_cover_track(cover, fib_entry_get_index(fib_entry)); /* * if the cover is attached then install an attached-host path * (like an adj-fib). Otherwise inherit the forwarding from the cover */ if (FIB_ENTRY_FLAG_ATTACHED & fib_entry_get_flags_i(cover)) { fib_entry_src_rr_resolve_via_connected(src, fib_entry, cover); } else { fib_entry_src_rr_use_covers_pl(src, fib_entry, cover); } fib_path_list_lock(src->fes_pl); /* * return go for install */ return (!0); } /** * Source Deactivate. * Called when the source is no longer best source on the entry */ static void fib_entry_src_rr_deactivate (fib_entry_src_t *src, const fib_entry_t *fib_entry) { fib_entry_t *cover; /* * remove the depednecy on the covering entry */ if (FIB_NODE_INDEX_INVALID != src->rr.fesr_cover) { cover = fib_entry_get(src->rr.fesr_cover); fib_entry_cover_untrack(cover, src->rr.fesr_sibling); src->rr.fesr_cover = FIB_NODE_INDEX_INVALID; } fib_path_list_unlock(src->fes_pl); src->fes_pl = FIB_NODE_INDEX_INVALID; src->fes_entry_flags = FIB_ENTRY_FLAG_NONE; } static fib_entry_src_cover_res_t fib_entry_src_rr_cover_change (fib_entry_src_t *src, const fib_entry_t *fib_entry) { fib_entry_src_cover_res_t res = { .install = !0, .bw_reason = FIB_NODE_BW_REASON_FLAG_NONE, }; if (FIB_NODE_INDEX_INVALID == src->rr.fesr_cover) { /* * the source may be added, but it is not active * if it is not tracking the cover. */ return (res); } /* * this function is called when this entry's cover has a more specific * entry inserted benaeth it. That does not necessarily mean that this * entry is covered by the new prefix. check that */ if (src->rr.fesr_cover != fib_table_get_less_specific(fib_entry->fe_fib_index, &fib_entry->fe_prefix)) { fib_entry_src_rr_deactivate(src, fib_entry); fib_entry_src_rr_activate(src, fib_entry); /* * dependent children need to re-resolve to the new forwarding info */ res.bw_reason = FIB_NODE_BW_REASON_FLAG_EVALUATE; } return (res); } /* * fib_entry_src_rr_cover_update * * This entry's cover has updated its forwarding info. This entry * will need to re-inheret. */ static fib_entry_src_cover_res_t fib_entry_src_rr_cover_update (fib_entry_src_t *src, const fib_entry_t *fib_entry) { fib_entry_src_cover_res_t res = { .install = !0, .bw_reason = FIB_NODE_BW_REASON_FLAG_NONE, }; fib_node_index_t old_path_list; fib_entry_t *cover; if (FIB_NODE_INDEX_INVALID == src->rr.fesr_cover) { /* * the source may be added, but it is not active * if it is not tracking the cover. */ return (res); } cover = fib_entry_get(src->rr.fesr_cover); old_path_list = src->fes_pl; /* * if the ocver is attached then install an attached-host path * (like an adj-fib). Otherwise inherit the forwarding from the cover */ if (FIB_ENTRY_FLAG_ATTACHED & fib_entry_get_flags_i(cover)) { fib_entry_src_rr_resolve_via_connected(src, fib_entry, cover); } else { fib_entry_src_rr_use_covers_pl(src, fib_entry, cover); } fib_path_list_lock(src->fes_pl); fib_path_list_unlock(old_path_list); /* * dependent children need to re-resolve to the new forwarding info */ res.bw_reason = FIB_NODE_BW_REASON_FLAG_EVALUATE; return (res); } static u8* fib_entry_src_rr_format (fib_entry_src_t *src, u8* s) { return (format(s, "cover:%d", src->rr.fesr_cover)); } const static fib_entry_src_vft_t rr_src_vft = { .fesv_init = fib_entry_src_rr_init, .fesv_activate = fib_entry_src_rr_activate, .fesv_deactivate = fib_entry_src_rr_deactivate, .fesv_cover_change = fib_entry_src_rr_cover_change, .fesv_cover_update = fib_entry_src_rr_cover_update, .fesv_format = fib_entry_src_rr_format, }; void fib_entry_src_rr_register (void) { fib_entry_src_register(FIB_SOURCE_RR, &rr_src_vft); fib_entry_src_register(FIB_SOURCE_URPF_EXEMPT, &rr_src_vft); }