Hi Qin et al!

This looks similar to what I'm looking for but opposite, as I'm
primarily targeting operational data. But to keep simplicity, it looks
like the draft you mentioned should be extensible to allow also
operational data deduplication.

With that, I'm cc-ing the authors directly. Hey, Robert, Qiufang and
Deepak, would it be ok on your side to extend your draft so that it also
allows servers to use ad-hoc (or longer-term, whatever suits the purpose)
templates in sending the operational data? What would be your preferred
way to collab? Should I open an issue at
https://github.com/netmod-wg/template-reqs/issues, send a diff with
proposed draft changes, send a pull request, open this in an interim
discussion …

Thanks, and have a nice day!

Maria

On Mon, Apr 27, 2026 at 12:16:23AM +0000, Qin Wu wrote:

> Hi, Maria:
> Your proposed alternative approach remind me another proposal( work in 
> progress):
> Using YANG Configuration template for Data Deduplication.
> https://datatracker.ietf.org/doc/draft-tt-netmod-yang-config-templates/
> Surprisingly, this work hasn’t been adopted yet, but have been there for a 
> while, Motivate by Data Deduplication requirements from BBF.
> 
> -Qin
> 发件人: Maria Matejka [mailto:[email protected]]
> 发送时间: 2026年4月24日 2:02
> 收件人: [email protected]
> 抄送: [email protected]
> 主题: [netmod] Using leafrefs for data deduplication
> 
> 
> Howdy!
> 
> The draft-ietf-idr-bgp-model uses leafrefs referencing into another part of 
> the tree basically for data deduplication where the semantics is not a 
> foreign key per se, it’s more of a tool to reduce the amount of data sent 
> when dumping the whole RIB at once.
> 
> In BIRD, we are not satisfied by this approach (to put it gently), and we 
> consider it to be a layering violation and YANG abuse where the specification 
> indirectly supports a specific way of internally representing data.
> 
> While it’s indeed possible to employ compression, cache the formatted data 
> and just feed brotli repeatedly with the same structure, it may be more handy 
> to have a method to deduplicate data on the transport layer.
> 
> My approach would be to define metadata (RFC 7952) which could annotate any 
> subtree with an identifier, and then one could reference that identifier 
> later. XML and JSON example follows:
> 
> <toplevel>
> 
>   <foo>
> 
> <item ref="meow">
> 
>   ... some data ...
> 
> </item>
> 
> ...
> 
>   </foo>
> 
>   <foo>
> 
> ... other foos
> 
>   </foo>
> 
>   <foo>
> 
> <item ref="#meow" /> <!-- reusing a subtree -->
> 
>   </foo>
> 
> </toplevel>
> 
> 
> 
> "foo": [
> 
>   {
> 
> "item": {
> 
>   "@ref": "meow",
> 
>   ...
> 
> },
> 
> ...
> 
>   },
> 
>   ...
> 
>   {
> 
> "item": { "@ref": "#meow" },
> 
> ...
> 
>   }
> 
> ]
> 
> Also, if we go just a little bit further, this may allow sending detached 
> reusable subtrees in advance, effectively allowing what the IDR WG is trying 
> to achieve with the model explicitly, but every implementation could choose 
> their data deduplication model independently.
> 
> Has there been any effort like this, or if not, would that be welcome? By the 
> wording of relevant RFC’s, I’m convinced that using leafrefs for crude data 
> deduplication is not their intended use, and it may backfire later.
> 
> Thanks!
> Maria
> 
> –
> Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.

-- 
Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.
_______________________________________________
netmod mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to