diff options
Diffstat (limited to 'contrib')
| -rw-r--r-- | contrib/edi/EDIConfig.h | 1 | ||||
| -rw-r--r-- | contrib/edi/PFT.cpp | 10 | ||||
| -rw-r--r-- | contrib/edi/PFT.h | 5 | 
3 files changed, 9 insertions, 7 deletions
| diff --git a/contrib/edi/EDIConfig.h b/contrib/edi/EDIConfig.h index ca76322..4f1df97 100644 --- a/contrib/edi/EDIConfig.h +++ b/contrib/edi/EDIConfig.h @@ -68,6 +68,7 @@ struct configuration_t {      bool dump          = false;      // dump a file with the EDI packets      bool verbose       = false;      bool enable_pft    = false;      // Enable protection and fragmentation +    bool enable_transport_header = true; // Sets Addr, Source and Dest in PFT      unsigned int tagpacket_alignment = 0;      std::vector<std::shared_ptr<destination_t> > destinations;      unsigned int dest_port = 0;      // common destination port, because it's encoded in the transport layer diff --git a/contrib/edi/PFT.cpp b/contrib/edi/PFT.cpp index 371d36f..1e3d4da 100644 --- a/contrib/edi/PFT.cpp +++ b/contrib/edi/PFT.cpp @@ -233,7 +233,6 @@ std::vector< PFTFragment > PFT::Assemble(AFPacket af_packet)      vector< vector<uint8_t> > pft_fragments; // These contain PF headers      const bool enable_RS = (m_m > 0); -    const bool enable_transport = true;      unsigned int findex = 0; @@ -276,7 +275,7 @@ std::vector< PFTFragment > PFT::Assemble(AFPacket af_packet)              plen |= 0x8000; // Set FEC bit          } -        if (enable_transport) { +        if (m_transport_header) {              plen |= 0x4000; // Set ADDR bit          } @@ -288,11 +287,10 @@ std::vector< PFTFragment > PFT::Assemble(AFPacket af_packet)              packet.push_back(zero_pad);    // RSz          } -        if (enable_transport) { +        if (m_transport_header) {              // Source (16 bits) -            uint16_t addr_source = 0; -            packet.push_back(addr_source >> 8); -            packet.push_back(addr_source & 0xFF); +            packet.push_back(m_addr_source >> 8); +            packet.push_back(m_addr_source & 0xFF);              // Dest (16 bits)              packet.push_back(m_dest_port >> 8); diff --git a/contrib/edi/PFT.h b/contrib/edi/PFT.h index 502aa39..1019915 100644 --- a/contrib/edi/PFT.h +++ b/contrib/edi/PFT.h @@ -71,7 +71,10 @@ class PFT          unsigned int m_dest_port = 12000; // Destination port for transport header          uint16_t m_pseq = 0;          size_t m_num_chunks = 0; -        bool m_verbose = 0; +        bool m_verbose = false; + +        bool m_transport_header = false; +        const uint16_t m_addr_source = 0;  };  } | 
