11 #include "../endian_conversion.h"
14 #include "../fframe.h"
15 #include "../cmemory.h"
36 MPLS_ETHER_UPSTREAM = 0x8848,
43 } __attribute__((packed));
53 uint8_t *data,
size_t datalen);
87 validate(uint16_t total_len = 0)
const;
120 set_mpls_label(uint32_t label);
125 get_mpls_label() const;
130 set_mpls_tc(uint8_t tc);
145 set_mpls_ttl(uint8_t ttl);
150 get_mpls_ttl() const;
160 get_mpls_bos() const;
171 operator<< (std::ostream& os,
fmplsframe const& frame) {
172 os << dynamic_cast<fframe const&>( frame ) << std::endl;
173 os <<
indent(2) <<
"<fmlpsframe ";
174 os <<
"label:" << (int)frame.get_mpls_label() <<
" ";
175 os <<
"tc:" << (int)frame.get_mpls_tc() <<
" ";
176 os <<
"bos:" << (int)frame.get_mpls_bos() <<
" ";
177 os <<
"ttl:" << (int)frame.get_mpls_ttl() <<
" ";
178 os <<
">" << std::endl;
virtual ~fmplsframe()
Definition: fmplsframe.cc:20
virtual size_t need_bytes() const
Definition: fmplsframe.cc:58
virtual void reset(uint8_t *data, size_t datalen)
Definition: fmplsframe.cc:28
virtual bool complete() const
Definition: fmplsframe.cc:46
Definition: fmplsframe.h:22
Definition: fmplsframe.h:28
virtual size_t payloadlen() const
Definition: fmplsframe.cc:97
Definition: fmplsframe.h:21
virtual void payload_insert(uint8_t *data, size_t datalen)
Definition: fmplsframe.cc:72
Definition: fmplsframe.h:20
fmplsframe(uint8_t *data, size_t datalen)
Definition: fmplsframe.cc:9
virtual void validate(uint16_t total_len=0) const
Definition: fmplsframe.cc:107
Definition: fmplsframe.h:40
void set_mpls_bos(bool flag=true)
Definition: fmplsframe.cc:176
virtual uint8_t * payload() const
Definition: fmplsframe.cc:85
virtual void initialize()
Definition: fmplsframe.cc:38