MCPcopy Create free account
hub / github.com/secdev/scapy / RAPS

Class RAPS

scapy/contrib/oam.py:378–422  ·  view source on GitHub ↗

Ring protective switching R-APS data packet

Source from the content-addressed store, hash-verified

376
377
378class RAPS(Packet):
379 """
380 Ring protective switching R-APS data packet
381 """
382
383 name = "R-APS"
384
385 fields_desc = [
386 BitEnumField(
387 "req_st",
388 0,
389 4,
390 {
391 0b0000: "No request (NR)",
392 0b0111: "Manual switch (MS)",
393 0b1011: "Signal fail(SF)",
394 0b1101: "Forced switch (FS)",
395 0b1110: "Event",
396 },
397 ),
398 MultipleTypeField(
399 [
400 (
401 BitEnumField("sub_code", 0, 4, {0b0000: "Flush"}),
402 lambda p: p.req_st == 0b1110,
403 )
404 ],
405 BitField("sub_code", 0, 4),
406 ),
407 FlagsField(
408 "status",
409 0,
410 8,
411 {
412 (1 << 7): "RB",
413 (1 << 6): "DNF",
414 (1 << 5): "BPR",
415 },
416 ),
417 MACField("node_id", None),
418 NBytesField("resv", 0, 24),
419 ]
420
421 def extract_padding(self, s):
422 return b"", s
423
424
425class OAM(Packet):

Callers 1

OAMClass · 0.85

Calls 6

BitEnumFieldClass · 0.90
MultipleTypeFieldClass · 0.90
BitFieldClass · 0.90
FlagsFieldClass · 0.90
MACFieldClass · 0.90
NBytesFieldClass · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…