MPA(3)

πŸ’– MPA(3) β€” the mpa 1.1 era, bestie πŸ’–

okay so like. hi. welcome to the MPA manual page, version 1.1, and I promise it's less scary than it looks 🫢


✨ NAME ✨

packet.transport.mpa β€” it's the MPA module, that's it, that's the name πŸ’…


🌸 DESCRIPTION 🌸

It decodes the MPA layer. that's the whole vibe. you feed it stuff, it unwraps the MPA goodness for you ✨

and if you're the kind of girl who reads the source material (respect, honestly), this is all coming from:

RFC 5044 Marker PDU Aligned Framing for TCP Specification

like. she's canon. she's cited. periodt πŸ“œ


πŸŽ€ CLASSES πŸŽ€

🌈 class FrameType(packet.utils.Enum)

enum OpCode

(yes that's the whole thing, it's a little enum, let her live πŸ™ˆ)


πŸ’œ class MPA(baseobj.BaseObj)

the MPA object herself. main character energy fr fr πŸ‘‘

Usage:

from packet.transport.mpa import MPA

x = MPA(pktt)

Object definition:

MPA(
    [
        # MPA Full Operation Phase
        psize = int,  # Length of ULPDU
        pad   = int,  # Length of Padding bytes
        crc   = int,  # CRC 32 check value
    ] | [
        # Connection Setup
        ftype    = int,   # Frame type
        marker   = int,   # Marker usage required
        use_crc  = int,   # CRC usage
        reject   = int,   # Rejected connection
        revision = int,   # Revision of MPA
        psize    = int,   # Size of private data
        data     = bytes, # Private data
    ]
)

so there's two modes she can be in, and the object picks based on what you're doing: the MPA Full Operation Phase one (psize, pad, crc) or the Connection Setup one (ftype, marker, use_crc, reject, revision, psize, data). not me thinking that's actually kinda elegant 😭✨

πŸ¦‹ Methods defined here:


  • __init__(self, pktt) β€” Constructor πŸ’–

Initializes the object's private data. that's her job. she's doing it.

  • pktt: the Packet trace object (packet.pktt.Pktt), so this layer can reach up and grab its parent layers. iykyk β€” she needs the context, she's nosy in a productive way 🫢

🌟 SEE ALSO 🌟

go read her friends, they're all iconic:


πŸ’€ BUGS πŸ’€

No known bugs.

not a single one. she's flawless. she ate and left no crumbs πŸ‘‘βœ¨ (lowkey terrifying but okay we love a clean record)


🌸 AUTHOR 🌸

Jorge Mora (mora@netapp.com) β€” the legend, the moment, the whole reason we're here πŸ’–


and that's the page!! this was NFStest 3.2, dated 21 March 2023, brought to you by the mpa 1.1 girlies πŸŽ€ tysm for reading, go decode some MPA, slay πŸ’…βœ¨πŸ¦‹