1 #ifndef PACKETPP_PPPOE_LAYER 2 #define PACKETPP_PPPOE_LAYER 23 #if (BYTE_ORDER == LITTLE_ENDIAN) 106 PPPoELayer(uint8_t version, uint8_t type,
PPPoELayer::PPPoECode code, uint16_t sessionId,
size_t additionalBytesToAllocate = 0);
246 memcpy(&result, tagData+tagDataOffset,
sizeof(T));
261 memcpy(tagData+tagDataOffset, &value,
sizeof(T));
382 PPPoETag* addTagAt(
PPPoETagTypes tagType, uint16_t tagLength,
const uint8_t* tagData,
int offset);
384 PPPoETag* castPtrToPPPoETag(uint8_t* ptr);
386 std::string codeToString(
PPPoECode code);
393 #define PCPP_PPP_PADDING 0x1 395 #define PCPP_PPP_ROHC_SCID 0x3 397 #define PCPP_PPP_ROHC_LCID 0x5 399 #define PCPP_PPP_IP 0x21 401 #define PCPP_PPP_OSI 0x23 403 #define PCPP_PPP_XNSIDP 0x25 405 #define PCPP_PPP_DEC4 0x27 407 #define PCPP_PPP_AT 0x29 409 #define PCPP_PPP_IPX 0x2b 411 #define PCPP_PPP_VJC_COMP 0x2d 413 #define PCPP_PPP_VJC_UNCOMP 0x2f 415 #define PCPP_PPP_BCP 0x31 417 #define PCPP_PPP_ST 0x33 419 #define PCPP_PPP_VINES 0x35 421 #define PCPP_PPP_AT_EDDP 0x39 423 #define PCPP_PPP_AT_SB 0x3b 425 #define PCPP_PPP_MP 0x3d 427 #define PCPP_PPP_NB 0x3f 429 #define PCPP_PPP_CISCO 0x41 431 #define PCPP_PPP_ASCOM 0x43 433 #define PCPP_PPP_LBLB 0x45 435 #define PCPP_PPP_RL 0x47 437 #define PCPP_PPP_SDTP 0x49 439 #define PCPP_PPP_LLC 0x4b 441 #define PCPP_PPP_SNA 0x4d 443 #define PCPP_PPP_IPV6HC 0x4f 445 #define PCPP_PPP_KNX 0x51 447 #define PCPP_PPP_ENCRYPT 0x53 449 #define PCPP_PPP_ILE 0x55 451 #define PCPP_PPP_IPV6 0x57 453 #define PCPP_PPP_MUX 0x59 455 #define PCPP_PPP_VSNP 0x5b 457 #define PCPP_PPP_TNP 0x5d 459 #define PCPP_PPP_RTP_FH 0x61 461 #define PCPP_PPP_RTP_CTCP 0x63 463 #define PCPP_PPP_RTP_CNTCP 0x65 465 #define PCPP_PPP_RTP_CUDP8 0x67 467 #define PCPP_PPP_RTP_CRTP8 0x69 469 #define PCPP_PPP_STAMPEDE 0x6f 471 #define PCPP_PPP_MPPLUS 0x73 473 #define PCPP_PPP_NTCITS_IPI 0xc1 475 #define PCPP_PPP_ML_SLCOMP 0xfb 477 #define PCPP_PPP_COMP 0xfd 479 #define PCPP_PPP_STP_HELLO 0x0201 481 #define PCPP_PPP_IBM_SR 0x0203 483 #define PCPP_PPP_DEC_LB 0x0205 485 #define PCPP_PPP_CDP 0x0207 487 #define PCPP_PPP_NETCS 0x0209 489 #define PCPP_PPP_STP 0x020b 491 #define PCPP_PPP_EDP 0x020d 493 #define PCPP_PPP_OSCP 0x0211 495 #define PCPP_PPP_OSCP2 0x0213 497 #define PCPP_PPP_LUXCOM 0x0231 499 #define PCPP_PPP_SIGMA 0x0233 501 #define PCPP_PPP_ACSP 0x0235 503 #define PCPP_PPP_MPLS_UNI 0x0281 505 #define PCPP_PPP_MPLS_MULTI 0x0283 507 #define PCPP_PPP_P12844 0x0285 509 #define PCPP_PPP_TETRA 0x0287 511 #define PCPP_PPP_MFTP 0x0289 513 #define PCPP_PPP_RTP_CTCPND 0x2063 515 #define PCPP_PPP_RTP_CS 0x2065 517 #define PCPP_PPP_RTP_CUDP16 0x2067 519 #define PCPP_PPP_RTP_CRDP16 0x2069 521 #define PCPP_PPP_CCCP 0x4001 523 #define PCPP_PPP_CDPD_MNRP 0x4003 525 #define PCPP_PPP_EXPANDAP 0x4005 527 #define PCPP_PPP_ODSICP 0x4007 529 #define PCPP_PPP_DOCSIS 0x4009 531 #define PCPP_PPP_CETACEANNDP 0x400b 533 #define PCPP_PPP_LZS 0x4021 535 #define PCPP_PPP_REFTEK 0x4023 537 #define PCPP_PPP_FC 0x4025 539 #define PCPP_PPP_EMIT 0x4027 541 #define PCPP_PPP_VSP 0x405b 543 #define PCPP_PPP_TLSP 0x405d 545 #define PCPP_PPP_IPCP 0x8021 547 #define PCPP_PPP_OSINLCP 0x8023 549 #define PCPP_PPP_XNSIDPCP 0x8025 551 #define PCPP_PPP_DECNETCP 0x8027 553 #define PCPP_PPP_ATCP 0x8029 555 #define PCPP_PPP_IPXCP 0x802b 557 #define PCPP_PPP_BRIDGENCP 0x8031 559 #define PCPP_PPP_SPCP 0x8033 561 #define PCPP_PPP_BVCP 0x8035 563 #define PCPP_PPP_MLCP 0x803d 565 #define PCPP_PPP_NBCP 0x803f 567 #define PCPP_PPP_CISCOCP 0x8041 569 #define PCPP_PPP_ASCOMCP 0x8043 571 #define PCPP_PPP_LBLBCP 0x8045 573 #define PCPP_PPP_RLNCP 0x8047 575 #define PCPP_PPP_SDCP 0x8049 577 #define PCPP_PPP_LLCCP 0x804b 579 #define PCPP_PPP_SNACP 0x804d 581 #define PCPP_PPP_IP6HCCP 0x804f 583 #define PCPP_PPP_KNXCP 0x8051 585 #define PCPP_PPP_ECP 0x8053 587 #define PCPP_PPP_ILECP 0x8055 589 #define PCPP_PPP_IPV6CP 0x8057 591 #define PCPP_PPP_MUXCP 0x8059 593 #define PCPP_PPP_VSNCP 0x805b 595 #define PCPP_PPP_TNCP 0x805d 597 #define PCPP_PPP_STAMPEDECP 0x806f 599 #define PCPP_PPP_MPPCP 0x8073 601 #define PCPP_PPP_IPICP 0x80c1 603 #define PCPP_PPP_SLCC 0x80fb 605 #define PCPP_PPP_CCP 0x80fd 607 #define PCPP_PPP_CDPCP 0x8207 609 #define PCPP_PPP_NETCSCP 0x8209 611 #define PCPP_PPP_STPCP 0x820b 613 #define PCPP_PPP_EDPCP 0x820d 615 #define PCPP_PPP_ACSPC 0x8235 617 #define PCPP_PPP_MPLSCP 0x8281 619 #define PCPP_PPP_P12844CP 0x8285 621 #define PCPP_PPP_TETRACP 0x8287 623 #define PCPP_PPP_MFTPCP 0x8289 625 #define PCPP_PPP_LCP 0xc021 627 #define PCPP_PPP_PAP 0xc023 629 #define PCPP_PPP_LQR 0xc025 631 #define PCPP_PPP_SPAP 0xc027 633 #define PCPP_PPP_CBCP 0xc029 635 #define PCPP_PPP_BACP 0xc02b 637 #define PCPP_PPP_BAP 0xc02d 639 #define PCPP_PPP_VSAP 0xc05b 641 #define PCPP_PPP_CONTCP 0xc081 643 #define PCPP_PPP_CHAP 0xc223 645 #define PCPP_PPP_RSAAP 0xc225 647 #define PCPP_PPP_EAP 0xc227 649 #define PCPP_PPP_SIEP 0xc229 651 #define PCPP_PPP_SBAP 0xc26f 653 #define PCPP_PPP_PRPAP 0xc281 655 #define PCPP_PPP_PRPAP2 0xc283 657 #define PCPP_PPP_PRPNIAP 0xc481 Definition: PPPoELayer.h:189
Definition: PPPoELayer.h:207
void setTagData(T value, int tagDataOffset=0)
Definition: PPPoELayer.h:259
Definition: PPPoELayer.h:211
virtual void parseNextLayer()
Definition: PPPoELayer.h:209
uint8_t type
Definition: PPPoELayer.h:25
pppoe_header * getPPPoEHeader()
Definition: PPPoELayer.h:89
Definition: PPPoELayer.h:22
virtual size_t getHeaderLen()
Definition: PPPoELayer.h:161
Definition: PPPoELayer.h:74
Definition: ProtocolType.h:86
Definition: PPPoELayer.h:78
uint16_t getPPPNextProtocol()
uint8_t version
Definition: PPPoELayer.h:25
Definition: PPPoELayer.h:195
Definition: PPPoELayer.h:213
Definition: PPPoELayer.h:185
uint8_t tagData[]
Definition: PPPoELayer.h:231
The main namespace for the PcapPlusPlus lib.
Definition: PPPoELayer.h:183
uint16_t payloadLength
Definition: PPPoELayer.h:41
uint16_t tagType
Definition: PPPoELayer.h:227
Definition: PPPoELayer.h:68
PPPoEDiscoveryLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: PPPoELayer.h:285
Definition: ProtocolType.h:213
Definition: PPPoELayer.h:215
OsiModelLayer
Definition: ProtocolType.h:208
void setPPPNextProtocol(uint16_t nextProtocol)
PPPoETagTypes
Definition: PPPoELayer.h:178
Definition: PPPoELayer.h:115
Definition: PPPoELayer.h:76
Definition: PPPoELayer.h:64
Definition: ProtocolType.h:91
uint16_t tagDataLength
Definition: PPPoELayer.h:229
Definition: PPPoELayer.h:203
Definition: PPPoELayer.h:181
Definition: PPPoELayer.h:60
Definition: PPPoELayer.h:222
PPPoEDiscoveryLayer(const PPPoEDiscoveryLayer &other)
Definition: PPPoELayer.h:299
PPPoETag * addTagAfter(PPPoETagTypes tagType, uint16_t tagLength, const uint8_t *tagData, PPPoETag *prevTag)
Definition: PPPoELayer.h:51
bool removeTag(PPPoEDiscoveryLayer::PPPoETagTypes tagType)
PPPoESessionLayer(uint8_t version, uint8_t type, uint16_t sessionId, uint16_t pppNextProtocol)
Definition: PPPoELayer.h:135
virtual size_t getHeaderLen()
Definition: PPPoELayer.h:187
uint16_t sessionId
Definition: PPPoELayer.h:39
Definition: PPPoELayer.h:72
virtual void computeCalculateFields()
Definition: PPPoELayer.h:70
PPPoECode
Definition: PPPoELayer.h:57
Definition: PPPoELayer.h:199
uint8_t code
Definition: PPPoELayer.h:29
Definition: PPPoELayer.h:201
virtual void parseNextLayer()
Definition: PPPoELayer.h:370
PPPoEDiscoveryLayer::PPPoETagTypes getType()
PPPoETag * getNextTag(PPPoETag *tag)
Definition: PPPoELayer.h:172
Definition: PPPoELayer.h:193
T getTagDataAs(int tagDataOffset=0)
Definition: PPPoELayer.h:243
Definition: PPPoELayer.h:197
Definition: PPPoELayer.h:191
virtual std::string toString()
OsiModelLayer getOsiModelLayer()
Definition: PPPoELayer.h:98
Definition: PPPoELayer.h:66
Definition: PPPoELayer.h:62
PPPoETag * getTag(PPPoEDiscoveryLayer::PPPoETagTypes tagType)
Definition: PPPoELayer.h:80
PPPoETag * addTag(PPPoETagTypes tagType, uint16_t tagLength, const uint8_t *tagData)
size_t getTagTotalSize() const
PPPoESessionLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: PPPoELayer.h:126
PPPoEDiscoveryLayer(uint8_t version, uint8_t type, PPPoELayer::PPPoECode code, uint16_t sessionId)
Definition: PPPoELayer.h:294
Definition: PPPoELayer.h:205
virtual std::string toString()
Definition: PPPoELayer.h:377