Bgp protection
Here, we define functions for bgp packet packet protection.
include byte_stream
include bgp_type
include collections
module bgp_messages = {
instance idx : unbounded_sequence
instance arr : array(idx,stream_data)
}
object bgp_prot_ser = {}
<<< member
class `bgp_prot_ser`;
>>>
<<< impl
class `bgp_prot_ser` : public ivy_binary_ser_128 {
public:
void open_list(int) {
}
virtual void set(int128_t res) {
setn(res,1);
}
};
>>>
object bgp_prot_deser = {}
<<< member
class `bgp_prot_deser`;
>>>
<<< impl
class `bgp_prot_deser` : public ivy_binary_deser_128 {
int data_remaining;
public:
bgp_prot_deser(const std::vector<char> &inp) : ivy_binary_deser_128(inp) {
data_remaining = inp.size();
std::cerr << "bgp_prot_deser data_remaining = " << data_remaining << "\n";
}
void get(int128_t &res) {
getn(res,1);
std::cerr << "bgp_prot_deser data_remaining = " << data_remaining << "\n";
}
unsigned char peek(unsigned p) {
return more(p-pos+1) ? inp[p] : 0;
}
void open_list() {
return;
}
bool open_list_elem() {
bool res = data_remaining--> = 0;
std::cerr << "bgp_prot_deser data_remaining = " << data_remaining << "\n";
return res;
}
void close_list_elem() {
}
};
>>>