This is an old revision of the document!
Day 2 / Track 3 / Talk 8 Talk – Nuts-n-Bolts: Skb Meta Data Extensions Speakers: Florian Westphal Report by: Kiran Patil
Since the beginning, it has been challenge to pass additional information without
increasing the size of sk_buff. This session outlines the details about
how SKB meta data extensions are designed (inner working), and when to use the
meta data extension.
sk_buff structure has been extended by adding 2 fields, first field indicates
whether there are any active extensions present or nor and other field
points to 'active_extension' (aka skb_ext). skb_ext has several advantages
such as memory for it comes from dedicated cache pool (kmem_cache). This skb_ext
blob is managed thru' ref_count. skb_ext memory is freed when SKB is freed.
This talks also explains the need of such feature, which came primarily due
to the need of “meta data” about data (which is expressed in in sk_buff).
This feature is being used by ispec(xfrm), bridge netfilter, and Multipath TCP
(planned for future). In MPTCP, there is need of map logical sequence
number to tcp sequence number used by individual flows. This talk also discusses
when to use SKB extensions.
Question: Is it OK to use this SKB meta-data extension infrastructure for carrying
out information in case of tunnel?
Answer: It's OK to use skb meta-data extension mechanism to carry/pass
any meta-data about data.
Site: https://www.netdevconf.org/0x13/session.html?skb-meta-data-extensions Slides: Videos: