DDP(3)
DDP(3) π
okay bestie, gather round, we're doing the DDP module from ddp 1.0 and honestly? it's giving packet-decoding royalty π
β¨ NAME β¨
packet.transport.ddp β the DDP module, bestie. that's it, that's the name π
π¦ DESCRIPTION π¦
so likeβ¦ this thing decodes the DDP layer. that's the whole job. it's a decode-and-chill situation π
and if you wanna know why this layer exists at all, it's from RFC 5041, aka Direct Data Placement over Reliable Transports. iconic document, no notes πβ¨
π CLASSES π
class DDP(baseobj.BaseObj)</p>
the DDP object itself. the main character fr fr π
Usage:
from packet.transport.ddp import DDP
x = DDP(pktt)
Object definition:
DDP(
tagged = int, # Tagged message
lastfl = int, # Last flag
version = int, # DDP version
psize = int, # Payload size
[
# For tagged message:
stag = int, # Steering tag
offset = int, # Tagged offset
] | [
# For untagged message:
queue = int, # Queue number
msn = int, # Message sequence number
offset = int, # Message offset
]
)
okay so quick vibe check on the fields π«Ά β you've got tagged (the tagged message), lastfl (last flag), version (DDP version), and psize (payload size). then it splits into two paths, bestie, and it's a pick one situation:
- if it's a tagged message:
stag(steering tag) andoffset(tagged offset) πΈ - if it's an untagged message:
queue(queue number),msn(message sequence number), andoffset(message offset) π¦
both branches have an offset, which is lowkey a little chaotic of them but we move π
π Methods defined here π
__init__(self, pktt)
it's the constructor, babes. it does exactly one thing and it does it flawlessly: initialize the object's private data β¨
pkttβ the Packet trace object (packet.pktt.Pktt) so this layer has access to the parent layers. yes bestie, it needs to know its ancestors, it's very into family history π§
π SEE ALSO π
go read those too, they're all part of the same friend group iykyk π
π BUGS π
No known bugs. periodt. she's flawless, she's clean, we love to see it π₯
πΈ AUTHOR πΈ
Jorge Mora (mora@netapp.com) β thank you for your service king π«‘π
and that's the whole page bestie, you ate it up π
this was NFStest 3.2, dated 21 March 2023, and it's the DDP(3) page β so go forth, decode that DDP layer, and slay π β¨π¦
π¦ where this page comes from
- debian trixie: nfstest 3.2-3
- fedora 43: NFStest 3.2-14.fc43 Β· GPL-2.0-or-later
- fedora 44: NFStest 3.2-16.fc44 Β· GPL-2.0-or-later
- ubuntu noble: nfstest 3.2-2
- ubuntu questing: nfstest 3.2-3
- ubuntu resolute: nfstest 3.2-3build1
- ubuntu stonking: nfstest 3.2-5
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms