This repository was archived by the owner on Jun 16, 2026. It is now read-only.
feat(ip_tagging): file-based IP tag loading with async reload#6
Merged
Conversation
Port the local ip_tagging file-provider feature onto the v1.38.2 base. Adds the IpTagsFileProvider API (ip_tags_file_provider, field 6) with an ip_tags_refresh_rate for periodic re-parse, file-based tag loading with atomic LC-trie swap, plus supporting yaml/json parsing helpers, docs and tests. Extracted as the net diff of origin/ip-tagging-async-file-reload (75cb494) against its upstream merge-base, applied 3-way onto v1.38.2. Not yet upstream as of v1.38.2; an equivalent (ip_tags_datasource) lands in v1.39.0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
266ec83 to
9191e9b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the local file-based ip_tagging feature on top of the current v1.38.2 base.
IpTagsFileProviderAPI (ip_tags_file_provider, field 6) withip_tags_refresh_ratefor periodic re-parseip_tagsinline andip_tags_file_providerare mutually exclusive (validated in C++)test_data/fixtures32 files, +1,911/−209.
Provenance
Ported from the
ip-tagging-async-file-reloadbranch: extracted as that branch's net diff against its upstream merge-base and applied 3-way onto v1.38.2 — clean, zero conflicts.Upstream status
Not in v1.38.2. An equivalent (
ip_tags_datasourcedirectly onIPTagging,watched_directory-based reload, lock-free) merged upstream in May 2026 (envoyproxy#38574, envoyproxy#45166), expected in v1.39.0 (~2026-07-14). Note the upstream API differs from this PR'sIpTagsFileProvider+ periodicip_tags_refresh_ratedesign — worth reconciling when adopting v1.39.The 3-way apply was clean textually but this has not been compiled against v1.38.2. The feature was authored against a Sep-2025 upstream; APIs it touches (DataSource/file-watcher, protobuf utilities, logger ids) may have shifted. Run
bazel build //source/extensions/filters/http/ip_tagging/...+ the filter tests before merge.🤖 Generated with Claude Code