-
Notifications
You must be signed in to change notification settings - Fork 0
/
classlibbgp_1_1BgpPathAttribAsPath.html
616 lines (571 loc) · 52.3 KB
/
classlibbgp_1_1BgpPathAttribAsPath.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libbgp: libbgp::BgpPathAttribAsPath Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libbgp
 <span id="projectnumber">0.6</span>
</div>
<div id="projectbrief">A C++ BGP Library.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>libbgp</b></li><li class="navelem"><a class="el" href="classlibbgp_1_1BgpPathAttribAsPath.html">BgpPathAttribAsPath</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> |
<a href="#pub-attribs">Public Attributes</a> |
<a href="classlibbgp_1_1BgpPathAttribAsPath-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">libbgp::BgpPathAttribAsPath Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>AS Path attribute.
<a href="classlibbgp_1_1BgpPathAttribAsPath.html#details">More...</a></p>
<p><code>#include <<a class="el" href="bgp-path-attrib_8h_source.html">bgp-path-attrib.h</a>></code></p>
<div class="dynheader">
Inheritance diagram for libbgp::BgpPathAttribAsPath:</div>
<div class="dyncontent">
<div class="center"><img src="classlibbgp_1_1BgpPathAttribAsPath__inherit__graph.png" border="0" usemap="#libbgp_1_1BgpPathAttribAsPath_inherit__map" alt="Inheritance graph"/></div>
<map name="libbgp_1_1BgpPathAttribAsPath_inherit__map" id="libbgp_1_1BgpPathAttribAsPath_inherit__map">
<area shape="rect" id="node2" href="classlibbgp_1_1BgpPathAttrib.html" title="The BgpPathAttrib class. " alt="" coords="27,80,183,107"/>
<area shape="rect" id="node3" href="classlibbgp_1_1Serializable.html" title="The serializable base class. " alt="" coords="35,5,176,32"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for libbgp::BgpPathAttribAsPath:</div>
<div class="dyncontent">
<div class="center"><img src="classlibbgp_1_1BgpPathAttribAsPath__coll__graph.png" border="0" usemap="#libbgp_1_1BgpPathAttribAsPath_coll__map" alt="Collaboration graph"/></div>
<map name="libbgp_1_1BgpPathAttribAsPath_coll__map" id="libbgp_1_1BgpPathAttribAsPath_coll__map">
<area shape="rect" id="node2" href="classlibbgp_1_1BgpPathAttrib.html" title="The BgpPathAttrib class. " alt="" coords="27,171,183,197"/>
<area shape="rect" id="node3" href="classlibbgp_1_1Serializable.html" title="The serializable base class. " alt="" coords="35,95,176,121"/>
<area shape="rect" id="node4" href="classlibbgp_1_1BgpLogHandler.html" title="The BgpLogHandler class. " alt="" coords="22,5,189,32"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0382a6774920027d05d31f0a408954cf"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttribAsPath.html#a0382a6774920027d05d31f0a408954cf">BgpPathAttribAsPath</a> (<a class="el" href="classlibbgp_1_1BgpLogHandler.html">BgpLogHandler</a> *logger, bool <a class="el" href="classlibbgp_1_1BgpPathAttribAsPath.html#a9bda66d4283a4e3f537a4e91841dc145">is_4b</a>)</td></tr>
<tr class="memdesc:a0382a6774920027d05d31f0a408954cf"><td class="mdescLeft"> </td><td class="mdescRight">Construct a new Bgp Path Attrib As Path:: Bgp Path Attrib As Path object. <a href="#a0382a6774920027d05d31f0a408954cf">More...</a><br /></td></tr>
<tr class="separator:a0382a6774920027d05d31f0a408954cf"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3a1701fed2e678ad4a48e84f2f4d7510"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html">BgpPathAttrib</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttribAsPath.html#a3a1701fed2e678ad4a48e84f2f4d7510">clone</a> () const</td></tr>
<tr class="memdesc:a3a1701fed2e678ad4a48e84f2f4d7510"><td class="mdescLeft"> </td><td class="mdescRight">Clone the attribute. <a href="#a3a1701fed2e678ad4a48e84f2f4d7510">More...</a><br /></td></tr>
<tr class="separator:a3a1701fed2e678ad4a48e84f2f4d7510"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a44a58a07230aa85a79aff0c532a37da8"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttribAsPath.html#a44a58a07230aa85a79aff0c532a37da8">prepend</a> (uint32_t asn)</td></tr>
<tr class="memdesc:a44a58a07230aa85a79aff0c532a37da8"><td class="mdescLeft"> </td><td class="mdescRight">Prepend an ASN into AS path. <a href="#a44a58a07230aa85a79aff0c532a37da8">More...</a><br /></td></tr>
<tr class="separator:a44a58a07230aa85a79aff0c532a37da8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a64a49f844e20e44ce1f452832ebf0960"><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttribAsPath.html#a64a49f844e20e44ce1f452832ebf0960">parse</a> (const uint8_t *buffer, size_t <a class="el" href="classlibbgp_1_1BgpPathAttribAsPath.html#ad6c71f4cc9e072f4f40caf242d351542">length</a>)</td></tr>
<tr class="memdesc:a64a49f844e20e44ce1f452832ebf0960"><td class="mdescLeft"> </td><td class="mdescRight">Deserialize a BGP update message path attribute. <a href="#a64a49f844e20e44ce1f452832ebf0960">More...</a><br /></td></tr>
<tr class="separator:a64a49f844e20e44ce1f452832ebf0960"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a293171dbe7d5fdf298d9573553e850fb"><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttribAsPath.html#a293171dbe7d5fdf298d9573553e850fb">write</a> (uint8_t *buffer, size_t buffer_sz) const</td></tr>
<tr class="memdesc:a293171dbe7d5fdf298d9573553e850fb"><td class="mdescLeft"> </td><td class="mdescRight">Serialize a BGP update message path attribute. <a href="#a293171dbe7d5fdf298d9573553e850fb">More...</a><br /></td></tr>
<tr class="separator:a293171dbe7d5fdf298d9573553e850fb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a549ac2aebac2c94ec2c6d64bb87ffe4d"><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttribAsPath.html#a549ac2aebac2c94ec2c6d64bb87ffe4d">doPrint</a> (size_t indent, uint8_t **to, size_t *buf_sz) const</td></tr>
<tr class="memdesc:a549ac2aebac2c94ec2c6d64bb87ffe4d"><td class="mdescLeft"> </td><td class="mdescRight">Print implementation. <a href="#a549ac2aebac2c94ec2c6d64bb87ffe4d">More...</a><br /></td></tr>
<tr class="separator:a549ac2aebac2c94ec2c6d64bb87ffe4d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad6c71f4cc9e072f4f40caf242d351542"><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttribAsPath.html#ad6c71f4cc9e072f4f40caf242d351542">length</a> () const</td></tr>
<tr class="memdesc:ad6c71f4cc9e072f4f40caf242d351542"><td class="mdescLeft"> </td><td class="mdescRight">Get size in bytes required to serialize the object. <a href="#ad6c71f4cc9e072f4f40caf242d351542">More...</a><br /></td></tr>
<tr class="separator:ad6c71f4cc9e072f4f40caf242d351542"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_methods_classlibbgp_1_1BgpPathAttrib"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classlibbgp_1_1BgpPathAttrib')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classlibbgp_1_1BgpPathAttrib.html">libbgp::BgpPathAttrib</a></td></tr>
<tr class="memitem:ad05435fbea1b1436b48ffca77d626442 inherit pub_methods_classlibbgp_1_1BgpPathAttrib"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html#ad05435fbea1b1436b48ffca77d626442">BgpPathAttrib</a> (<a class="el" href="classlibbgp_1_1BgpLogHandler.html">BgpLogHandler</a> *logger)</td></tr>
<tr class="memdesc:ad05435fbea1b1436b48ffca77d626442 inherit pub_methods_classlibbgp_1_1BgpPathAttrib"><td class="mdescLeft"> </td><td class="mdescRight">Construct a new Bgp Path Attrib:: Bgp Path Attrib object. <a href="classlibbgp_1_1BgpPathAttrib.html#ad05435fbea1b1436b48ffca77d626442">More...</a><br /></td></tr>
<tr class="separator:ad05435fbea1b1436b48ffca77d626442 inherit pub_methods_classlibbgp_1_1BgpPathAttrib"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad8d6bb43ee5cd9712ee1283a5dc625bb inherit pub_methods_classlibbgp_1_1BgpPathAttrib"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html#ad8d6bb43ee5cd9712ee1283a5dc625bb">BgpPathAttrib</a> (<a class="el" href="classlibbgp_1_1BgpLogHandler.html">BgpLogHandler</a> *logger, const uint8_t *value, uint16_t val_len)</td></tr>
<tr class="memdesc:ad8d6bb43ee5cd9712ee1283a5dc625bb inherit pub_methods_classlibbgp_1_1BgpPathAttrib"><td class="mdescLeft"> </td><td class="mdescRight">Construct a new Bgp Path Attrib:: Bgp Path Attrib object. <a href="classlibbgp_1_1BgpPathAttrib.html#ad8d6bb43ee5cd9712ee1283a5dc625bb">More...</a><br /></td></tr>
<tr class="separator:ad8d6bb43ee5cd9712ee1283a5dc625bb inherit pub_methods_classlibbgp_1_1BgpPathAttrib"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4a504e86678c06d27a54fe5ae0e7ddf6 inherit pub_methods_classlibbgp_1_1BgpPathAttrib"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html">BgpPathAttrib</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html#a4a504e86678c06d27a54fe5ae0e7ddf6">clone</a> (<a class="el" href="classlibbgp_1_1BgpLogHandler.html">BgpLogHandler</a> *new_logger) const</td></tr>
<tr class="memdesc:a4a504e86678c06d27a54fe5ae0e7ddf6 inherit pub_methods_classlibbgp_1_1BgpPathAttrib"><td class="mdescLeft"> </td><td class="mdescRight">Clone the attribute and replace logger. <a href="classlibbgp_1_1BgpPathAttrib.html#a4a504e86678c06d27a54fe5ae0e7ddf6">More...</a><br /></td></tr>
<tr class="separator:a4a504e86678c06d27a54fe5ae0e7ddf6 inherit pub_methods_classlibbgp_1_1BgpPathAttrib"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa4b3d56a51bc4352a2fcd82cc5fd6de9 inherit pub_methods_classlibbgp_1_1BgpPathAttrib"><td class="memItemLeft" align="right" valign="top"><a id="aa4b3d56a51bc4352a2fcd82cc5fd6de9"></a>
virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html#aa4b3d56a51bc4352a2fcd82cc5fd6de9">~BgpPathAttrib</a> ()</td></tr>
<tr class="memdesc:aa4b3d56a51bc4352a2fcd82cc5fd6de9 inherit pub_methods_classlibbgp_1_1BgpPathAttrib"><td class="mdescLeft"> </td><td class="mdescRight">Destroy the Bgp Path Attrib:: Bgp Path Attrib object. <br /></td></tr>
<tr class="separator:aa4b3d56a51bc4352a2fcd82cc5fd6de9 inherit pub_methods_classlibbgp_1_1BgpPathAttrib"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_methods_classlibbgp_1_1Serializable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classlibbgp_1_1Serializable')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classlibbgp_1_1Serializable.html">libbgp::Serializable</a></td></tr>
<tr class="memitem:adff26a0a2481c35d40bc4c905a2d9550 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1Serializable.html#adff26a0a2481c35d40bc4c905a2d9550">Serializable</a> (<a class="el" href="classlibbgp_1_1BgpLogHandler.html">BgpLogHandler</a> *logger)</td></tr>
<tr class="memdesc:adff26a0a2481c35d40bc4c905a2d9550 inherit pub_methods_classlibbgp_1_1Serializable"><td class="mdescLeft"> </td><td class="mdescRight">Construct a new <a class="el" href="classlibbgp_1_1Serializable.html" title="The serializable base class. ">Serializable</a>:: <a class="el" href="classlibbgp_1_1Serializable.html" title="The serializable base class. ">Serializable</a> object. <a href="classlibbgp_1_1Serializable.html#adff26a0a2481c35d40bc4c905a2d9550">More...</a><br /></td></tr>
<tr class="separator:adff26a0a2481c35d40bc4c905a2d9550 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a749db1ceb56b9ebe213e00b0e58ec9ad inherit pub_methods_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top"><a id="a749db1ceb56b9ebe213e00b0e58ec9ad"></a>
 </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1Serializable.html#a749db1ceb56b9ebe213e00b0e58ec9ad">~Serializable</a> ()</td></tr>
<tr class="memdesc:a749db1ceb56b9ebe213e00b0e58ec9ad inherit pub_methods_classlibbgp_1_1Serializable"><td class="mdescLeft"> </td><td class="mdescRight">Destroy the <a class="el" href="classlibbgp_1_1Serializable.html" title="The serializable base class. ">Serializable</a>:: <a class="el" href="classlibbgp_1_1Serializable.html" title="The serializable base class. ">Serializable</a> object. <br /></td></tr>
<tr class="separator:a749db1ceb56b9ebe213e00b0e58ec9ad inherit pub_methods_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a804fb732b7089ac0a98a6e926f1551d6 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1Serializable.html#a804fb732b7089ac0a98a6e926f1551d6">print</a> (uint8_t *to, size_t buf_sz) const</td></tr>
<tr class="memdesc:a804fb732b7089ac0a98a6e926f1551d6 inherit pub_methods_classlibbgp_1_1Serializable"><td class="mdescLeft"> </td><td class="mdescRight">Print the <a class="el" href="classlibbgp_1_1Serializable.html" title="The serializable base class. ">Serializable</a> object as human readable string. <a href="classlibbgp_1_1Serializable.html#a804fb732b7089ac0a98a6e926f1551d6">More...</a><br /></td></tr>
<tr class="separator:a804fb732b7089ac0a98a6e926f1551d6 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a490c037d263896afc7776e339741eb33 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1Serializable.html#a490c037d263896afc7776e339741eb33">print</a> (size_t indent, uint8_t *to, size_t buf_sz) const</td></tr>
<tr class="memdesc:a490c037d263896afc7776e339741eb33 inherit pub_methods_classlibbgp_1_1Serializable"><td class="mdescLeft"> </td><td class="mdescRight">Print the <a class="el" href="classlibbgp_1_1Serializable.html" title="The serializable base class. ">Serializable</a> object as human readable string, with indentation. <a href="classlibbgp_1_1Serializable.html#a490c037d263896afc7776e339741eb33">More...</a><br /></td></tr>
<tr class="separator:a490c037d263896afc7776e339741eb33 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a71cbd82595e9145b0f7bd0664d190e87 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1Serializable.html#a71cbd82595e9145b0f7bd0664d190e87">hasError</a> () const</td></tr>
<tr class="memdesc:a71cbd82595e9145b0f7bd0664d190e87 inherit pub_methods_classlibbgp_1_1Serializable"><td class="mdescLeft"> </td><td class="mdescRight">Check if error information available. <a href="classlibbgp_1_1Serializable.html#a71cbd82595e9145b0f7bd0664d190e87">More...</a><br /></td></tr>
<tr class="separator:a71cbd82595e9145b0f7bd0664d190e87 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9bcb8fde805cea8019e41b04870fd17b inherit pub_methods_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top"><a id="a9bcb8fde805cea8019e41b04870fd17b"></a>
uint8_t </td><td class="memItemRight" valign="bottom"><b>getErrorCode</b> () const</td></tr>
<tr class="separator:a9bcb8fde805cea8019e41b04870fd17b inherit pub_methods_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a979acbac79e625ef07d668a82f620934 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top"><a id="a979acbac79e625ef07d668a82f620934"></a>
uint8_t </td><td class="memItemRight" valign="bottom"><b>getErrorSubCode</b> () const</td></tr>
<tr class="separator:a979acbac79e625ef07d668a82f620934 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:acd0b0fddafc4edbd4b76feed545bcec7 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top"><a id="acd0b0fddafc4edbd4b76feed545bcec7"></a>
const uint8_t * </td><td class="memItemRight" valign="bottom"><b>getError</b> () const</td></tr>
<tr class="separator:acd0b0fddafc4edbd4b76feed545bcec7 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a71c8aa38318bea75bc7ece28248c8913 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top"><a id="a71c8aa38318bea75bc7ece28248c8913"></a>
size_t </td><td class="memItemRight" valign="bottom"><b>getErrorLength</b> () const</td></tr>
<tr class="separator:a71c8aa38318bea75bc7ece28248c8913 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ade6ecd8173f40f0b5fa6021468632b16 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1Serializable.html#ade6ecd8173f40f0b5fa6021468632b16">setLogger</a> (<a class="el" href="classlibbgp_1_1BgpLogHandler.html">BgpLogHandler</a> *logger)</td></tr>
<tr class="memdesc:ade6ecd8173f40f0b5fa6021468632b16 inherit pub_methods_classlibbgp_1_1Serializable"><td class="mdescLeft"> </td><td class="mdescRight">Replace logger for this object. <a href="classlibbgp_1_1Serializable.html#ade6ecd8173f40f0b5fa6021468632b16">More...</a><br /></td></tr>
<tr class="separator:ade6ecd8173f40f0b5fa6021468632b16 inherit pub_methods_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a9ad756364bcf221fc86e1784c3258edb"><td class="memItemLeft" align="right" valign="top"><a id="a9ad756364bcf221fc86e1784c3258edb"></a>
std::vector< <a class="el" href="classlibbgp_1_1BgpAsPathSegment.html">BgpAsPathSegment</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttribAsPath.html#a9ad756364bcf221fc86e1784c3258edb">as_paths</a></td></tr>
<tr class="memdesc:a9ad756364bcf221fc86e1784c3258edb"><td class="mdescLeft"> </td><td class="mdescRight">The AS Path segments. <br /></td></tr>
<tr class="separator:a9ad756364bcf221fc86e1784c3258edb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9bda66d4283a4e3f537a4e91841dc145"><td class="memItemLeft" align="right" valign="top"><a id="a9bda66d4283a4e3f537a4e91841dc145"></a>
bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttribAsPath.html#a9bda66d4283a4e3f537a4e91841dc145">is_4b</a></td></tr>
<tr class="memdesc:a9bda66d4283a4e3f537a4e91841dc145"><td class="mdescLeft"> </td><td class="mdescRight">Is ASNs in the attribute four octets? <br /></td></tr>
<tr class="separator:a9bda66d4283a4e3f537a4e91841dc145"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_attribs_classlibbgp_1_1BgpPathAttrib"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classlibbgp_1_1BgpPathAttrib')"><img src="closed.png" alt="-"/> Public Attributes inherited from <a class="el" href="classlibbgp_1_1BgpPathAttrib.html">libbgp::BgpPathAttrib</a></td></tr>
<tr class="memitem:ab963f11e11379118b0ee6436f0dd0d9c inherit pub_attribs_classlibbgp_1_1BgpPathAttrib"><td class="memItemLeft" align="right" valign="top"><a id="ab963f11e11379118b0ee6436f0dd0d9c"></a>
bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html#ab963f11e11379118b0ee6436f0dd0d9c">optional</a></td></tr>
<tr class="memdesc:ab963f11e11379118b0ee6436f0dd0d9c inherit pub_attribs_classlibbgp_1_1BgpPathAttrib"><td class="mdescLeft"> </td><td class="mdescRight">Attribute flag: Optional. <br /></td></tr>
<tr class="separator:ab963f11e11379118b0ee6436f0dd0d9c inherit pub_attribs_classlibbgp_1_1BgpPathAttrib"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a19047d331d45f03e5914532271a868ed inherit pub_attribs_classlibbgp_1_1BgpPathAttrib"><td class="memItemLeft" align="right" valign="top"><a id="a19047d331d45f03e5914532271a868ed"></a>
bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html#a19047d331d45f03e5914532271a868ed">transitive</a></td></tr>
<tr class="memdesc:a19047d331d45f03e5914532271a868ed inherit pub_attribs_classlibbgp_1_1BgpPathAttrib"><td class="mdescLeft"> </td><td class="mdescRight">Attribute flag: Transitive. <br /></td></tr>
<tr class="separator:a19047d331d45f03e5914532271a868ed inherit pub_attribs_classlibbgp_1_1BgpPathAttrib"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7a10a2ddd20169c07860bff8b624f700 inherit pub_attribs_classlibbgp_1_1BgpPathAttrib"><td class="memItemLeft" align="right" valign="top"><a id="a7a10a2ddd20169c07860bff8b624f700"></a>
bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html#a7a10a2ddd20169c07860bff8b624f700">partial</a></td></tr>
<tr class="memdesc:a7a10a2ddd20169c07860bff8b624f700 inherit pub_attribs_classlibbgp_1_1BgpPathAttrib"><td class="mdescLeft"> </td><td class="mdescRight">Attribute flag: partial. <br /></td></tr>
<tr class="separator:a7a10a2ddd20169c07860bff8b624f700 inherit pub_attribs_classlibbgp_1_1BgpPathAttrib"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa81430305612a6212dd8fd2df5c349ee inherit pub_attribs_classlibbgp_1_1BgpPathAttrib"><td class="memItemLeft" align="right" valign="top"><a id="aa81430305612a6212dd8fd2df5c349ee"></a>
bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html#aa81430305612a6212dd8fd2df5c349ee">extended</a></td></tr>
<tr class="memdesc:aa81430305612a6212dd8fd2df5c349ee inherit pub_attribs_classlibbgp_1_1BgpPathAttrib"><td class="mdescLeft"> </td><td class="mdescRight">Attribute flag: extended. <br /></td></tr>
<tr class="separator:aa81430305612a6212dd8fd2df5c349ee inherit pub_attribs_classlibbgp_1_1BgpPathAttrib"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac5b83faa3305a28d78d7dbdb83a472da inherit pub_attribs_classlibbgp_1_1BgpPathAttrib"><td class="memItemLeft" align="right" valign="top"><a id="ac5b83faa3305a28d78d7dbdb83a472da"></a>
uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html#ac5b83faa3305a28d78d7dbdb83a472da">type_code</a></td></tr>
<tr class="memdesc:ac5b83faa3305a28d78d7dbdb83a472da inherit pub_attribs_classlibbgp_1_1BgpPathAttrib"><td class="mdescLeft"> </td><td class="mdescRight">Attribute type code. <br /></td></tr>
<tr class="separator:ac5b83faa3305a28d78d7dbdb83a472da inherit pub_attribs_classlibbgp_1_1BgpPathAttrib"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_classlibbgp_1_1BgpPathAttrib"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classlibbgp_1_1BgpPathAttrib')"><img src="closed.png" alt="-"/> Static Public Member Functions inherited from <a class="el" href="classlibbgp_1_1BgpPathAttrib.html">libbgp::BgpPathAttrib</a></td></tr>
<tr class="memitem:a4cc071cd3066463cba1070b0f17216c3 inherit pub_static_methods_classlibbgp_1_1BgpPathAttrib"><td class="memItemLeft" align="right" valign="top">static uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html#a4cc071cd3066463cba1070b0f17216c3">GetTypeFromBuffer</a> (const uint8_t *buffer, size_t buffer_sz)</td></tr>
<tr class="memdesc:a4cc071cd3066463cba1070b0f17216c3 inherit pub_static_methods_classlibbgp_1_1BgpPathAttrib"><td class="mdescLeft"> </td><td class="mdescRight">Get type of attribute from buffer. <a href="classlibbgp_1_1BgpPathAttrib.html#a4cc071cd3066463cba1070b0f17216c3">More...</a><br /></td></tr>
<tr class="separator:a4cc071cd3066463cba1070b0f17216c3 inherit pub_static_methods_classlibbgp_1_1BgpPathAttrib"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pro_methods_classlibbgp_1_1BgpPathAttrib"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classlibbgp_1_1BgpPathAttrib')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classlibbgp_1_1BgpPathAttrib.html">libbgp::BgpPathAttrib</a></td></tr>
<tr class="memitem:a4d59e1a1caa49bffcfc967ac5e8f970d inherit pro_methods_classlibbgp_1_1BgpPathAttrib"><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html#a4d59e1a1caa49bffcfc967ac5e8f970d">parseHeader</a> (const uint8_t *buffer, size_t <a class="el" href="classlibbgp_1_1BgpPathAttrib.html#a9f726edd332787d4fb8dca86f3888cda">length</a>)</td></tr>
<tr class="memdesc:a4d59e1a1caa49bffcfc967ac5e8f970d inherit pro_methods_classlibbgp_1_1BgpPathAttrib"><td class="mdescLeft"> </td><td class="mdescRight">Utility function to parse attribute header. (Flag, type, length) <a href="classlibbgp_1_1BgpPathAttrib.html#a4d59e1a1caa49bffcfc967ac5e8f970d">More...</a><br /></td></tr>
<tr class="separator:a4d59e1a1caa49bffcfc967ac5e8f970d inherit pro_methods_classlibbgp_1_1BgpPathAttrib"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7b6ecfdbc146ff551ff08fb1b548e80c inherit pro_methods_classlibbgp_1_1BgpPathAttrib"><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html#a7b6ecfdbc146ff551ff08fb1b548e80c">printFlags</a> (size_t indent, uint8_t **to, size_t *buf_sz) const</td></tr>
<tr class="memdesc:a7b6ecfdbc146ff551ff08fb1b548e80c inherit pro_methods_classlibbgp_1_1BgpPathAttrib"><td class="mdescLeft"> </td><td class="mdescRight">Utility function to print flags for attribute. <a href="classlibbgp_1_1BgpPathAttrib.html#a7b6ecfdbc146ff551ff08fb1b548e80c">More...</a><br /></td></tr>
<tr class="separator:a7b6ecfdbc146ff551ff08fb1b548e80c inherit pro_methods_classlibbgp_1_1BgpPathAttrib"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5b1d5291b91644610b39623ad27efad2 inherit pro_methods_classlibbgp_1_1BgpPathAttrib"><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html#a5b1d5291b91644610b39623ad27efad2">writeHeader</a> (uint8_t *buffer, size_t buffer_sz) const</td></tr>
<tr class="memdesc:a5b1d5291b91644610b39623ad27efad2 inherit pro_methods_classlibbgp_1_1BgpPathAttrib"><td class="mdescLeft"> </td><td class="mdescRight">Write attribute header to buffer. (Flag, Type) <a href="classlibbgp_1_1BgpPathAttrib.html#a5b1d5291b91644610b39623ad27efad2">More...</a><br /></td></tr>
<tr class="separator:a5b1d5291b91644610b39623ad27efad2 inherit pro_methods_classlibbgp_1_1BgpPathAttrib"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pro_methods_classlibbgp_1_1Serializable"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classlibbgp_1_1Serializable')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classlibbgp_1_1Serializable.html">libbgp::Serializable</a></td></tr>
<tr class="memitem:a7fe3ec9c2494bb2bf6799d287ebe9dd2 inherit pro_methods_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1Serializable.html#a7fe3ec9c2494bb2bf6799d287ebe9dd2">setError</a> (uint8_t err, uint8_t suberr, const uint8_t *data, size_t data_len)</td></tr>
<tr class="memdesc:a7fe3ec9c2494bb2bf6799d287ebe9dd2 inherit pro_methods_classlibbgp_1_1Serializable"><td class="mdescLeft"> </td><td class="mdescRight">Set the error information. <a href="classlibbgp_1_1Serializable.html#a7fe3ec9c2494bb2bf6799d287ebe9dd2">More...</a><br /></td></tr>
<tr class="separator:a7fe3ec9c2494bb2bf6799d287ebe9dd2 inherit pro_methods_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aad7471024f07b225d9c61dd338de28a5 inherit pro_methods_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1Serializable.html#aad7471024f07b225d9c61dd338de28a5">forwardParseError</a> (const <a class="el" href="classlibbgp_1_1Serializable.html">Serializable</a> &other)</td></tr>
<tr class="memdesc:aad7471024f07b225d9c61dd338de28a5 inherit pro_methods_classlibbgp_1_1Serializable"><td class="mdescLeft"> </td><td class="mdescRight">Forward error information from other <a class="el" href="classlibbgp_1_1Serializable.html" title="The serializable base class. ">Serializable</a> object. <a href="classlibbgp_1_1Serializable.html#aad7471024f07b225d9c61dd338de28a5">More...</a><br /></td></tr>
<tr class="separator:aad7471024f07b225d9c61dd338de28a5 inherit pro_methods_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pro_static_methods_classlibbgp_1_1Serializable"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classlibbgp_1_1Serializable')"><img src="closed.png" alt="-"/> Static Protected Member Functions inherited from <a class="el" href="classlibbgp_1_1Serializable.html">libbgp::Serializable</a></td></tr>
<tr class="memitem:a439ea41e411d9695a0c49ac5563350d1 inherit pro_static_methods_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top">static ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1Serializable.html#a439ea41e411d9695a0c49ac5563350d1">_print</a> (size_t indent, uint8_t **to, size_t *buf_left, const char *format,...)</td></tr>
<tr class="memdesc:a439ea41e411d9695a0c49ac5563350d1 inherit pro_static_methods_classlibbgp_1_1Serializable"><td class="mdescLeft"> </td><td class="mdescRight">Print helper. <a href="classlibbgp_1_1Serializable.html#a439ea41e411d9695a0c49ac5563350d1">More...</a><br /></td></tr>
<tr class="separator:a439ea41e411d9695a0c49ac5563350d1 inherit pro_static_methods_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pro_attribs_classlibbgp_1_1BgpPathAttrib"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classlibbgp_1_1BgpPathAttrib')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="classlibbgp_1_1BgpPathAttrib.html">libbgp::BgpPathAttrib</a></td></tr>
<tr class="memitem:ae83520b0f64374b6347920f0e3359e38 inherit pro_attribs_classlibbgp_1_1BgpPathAttrib"><td class="memItemLeft" align="right" valign="top"><a id="ae83520b0f64374b6347920f0e3359e38"></a>
uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html#ae83520b0f64374b6347920f0e3359e38">value_len</a></td></tr>
<tr class="memdesc:ae83520b0f64374b6347920f0e3359e38 inherit pro_attribs_classlibbgp_1_1BgpPathAttrib"><td class="mdescLeft"> </td><td class="mdescRight">Attribute length. Length field is only used in deserialization for <a class="el" href="classlibbgp_1_1BgpPathAttrib.html#a4d59e1a1caa49bffcfc967ac5e8f970d" title="Utility function to parse attribute header. (Flag, type, length) ">parseHeader()</a> to pass length field in header to the underlying deserializers. The length field is ignored when serialize. <br /></td></tr>
<tr class="separator:ae83520b0f64374b6347920f0e3359e38 inherit pro_attribs_classlibbgp_1_1BgpPathAttrib"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pro_attribs_classlibbgp_1_1Serializable"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classlibbgp_1_1Serializable')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="classlibbgp_1_1Serializable.html">libbgp::Serializable</a></td></tr>
<tr class="memitem:a62d5de63528950159267530674abd388 inherit pro_attribs_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top"><a id="a62d5de63528950159267530674abd388"></a>
uint8_t </td><td class="memItemRight" valign="bottom"><b>err_code</b></td></tr>
<tr class="separator:a62d5de63528950159267530674abd388 inherit pro_attribs_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aba7229dc9bd0fbe6892ad2e6e653469e inherit pro_attribs_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top"><a id="aba7229dc9bd0fbe6892ad2e6e653469e"></a>
uint8_t </td><td class="memItemRight" valign="bottom"><b>err_subcode</b></td></tr>
<tr class="separator:aba7229dc9bd0fbe6892ad2e6e653469e inherit pro_attribs_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad6c67ad8c596235212a20649f4d161e2 inherit pro_attribs_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top"><a id="ad6c67ad8c596235212a20649f4d161e2"></a>
size_t </td><td class="memItemRight" valign="bottom"><b>err_len</b></td></tr>
<tr class="separator:ad6c67ad8c596235212a20649f4d161e2 inherit pro_attribs_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abad0eee1cc8a31ca8d9f607432d2a7d2 inherit pro_attribs_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top"><a id="abad0eee1cc8a31ca8d9f607432d2a7d2"></a>
uint8_t * </td><td class="memItemRight" valign="bottom"><b>err_data</b></td></tr>
<tr class="separator:abad0eee1cc8a31ca8d9f607432d2a7d2 inherit pro_attribs_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a24451786d21a5c021166049b6806763b inherit pro_attribs_classlibbgp_1_1Serializable"><td class="memItemLeft" align="right" valign="top"><a id="a24451786d21a5c021166049b6806763b"></a>
<a class="el" href="classlibbgp_1_1BgpLogHandler.html">BgpLogHandler</a> * </td><td class="memItemRight" valign="bottom"><b>logger</b></td></tr>
<tr class="separator:a24451786d21a5c021166049b6806763b inherit pro_attribs_classlibbgp_1_1Serializable"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>AS Path attribute. </p>
<p class="definition">Definition at line <a class="el" href="bgp-path-attrib_8h_source.html#l00229">229</a> of file <a class="el" href="bgp-path-attrib_8h_source.html">bgp-path-attrib.h</a>.</p>
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
<a id="a0382a6774920027d05d31f0a408954cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0382a6774920027d05d31f0a408954cf">◆ </a></span>BgpPathAttribAsPath()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">libbgp::BgpPathAttribAsPath::BgpPathAttribAsPath </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlibbgp_1_1BgpLogHandler.html">BgpLogHandler</a> * </td>
<td class="paramname"><em>logger</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"><em>is_4b</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct a new Bgp Path Attrib As Path:: Bgp Path Attrib As Path object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>Pointer to logger object for error logging. </td></tr>
<tr><td class="paramname">is_4b</td><td>Enable four octets ASN support. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="bgp-path-attrib_8cc_source.html#l00367">367</a> of file <a class="el" href="bgp-path-attrib_8cc_source.html">bgp-path-attrib.cc</a>.</p>
<p class="reference">References <a class="el" href="bgp-path-attrib_8h_source.html#l00246">is_4b</a>, <a class="el" href="bgp-path-attrib_8h_source.html#l00060">libbgp::BgpPathAttrib::transitive</a>, and <a class="el" href="bgp-path-attrib_8h_source.html#l00078">libbgp::BgpPathAttrib::type_code</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a3a1701fed2e678ad4a48e84f2f4d7510"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a1701fed2e678ad4a48e84f2f4d7510">◆ </a></span>clone()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlibbgp_1_1BgpPathAttrib.html">BgpPathAttrib</a> * libbgp::BgpPathAttribAsPath::clone </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Clone the attribute. </p>
<dl class="section return"><dt>Returns</dt><dd>BgpPathAttrib* Pointer to the cloned attribute. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">has_error</td><td>There's error in the attribute and the attribute can not be clone. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classlibbgp_1_1BgpPathAttrib.html#a0a5623cfcc8cb8830ffbb43ad1cf436b">libbgp::BgpPathAttrib</a>.</p>
<p class="definition">Definition at line <a class="el" href="bgp-path-attrib_8cc_source.html#l00408">408</a> of file <a class="el" href="bgp-path-attrib_8cc_source.html">bgp-path-attrib.cc</a>.</p>
<p class="reference">References <a class="el" href="serializable_8cc_source.html#l00045">libbgp::Serializable::hasError()</a>, and <a class="el" href="bgp-log-handler_8cc_source.html#l00056">libbgp::BgpLogHandler::log()</a>.</p>
</div>
</div>
<a id="a549ac2aebac2c94ec2c6d64bb87ffe4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a549ac2aebac2c94ec2c6d64bb87ffe4d">◆ </a></span>doPrint()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ssize_t libbgp::BgpPathAttribAsPath::doPrint </td>
<td>(</td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>indent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t ** </td>
<td class="paramname"><em>to</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t * </td>
<td class="paramname"><em>buf_sz</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Print implementation. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">indent</td><td>indent level. </td></tr>
<tr><td class="paramname">to</td><td>The pointer to the pointer to the string buffer. </td></tr>
<tr><td class="paramname">buf_sz</td><td>The pointer to the counter of avaliable buffer space. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ssize_t ssize_t Bytes written. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">-1</td><td>Failed to print. </td></tr>
<tr><td class="paramname">>=</td><td>0 Bytes written. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classlibbgp_1_1BgpPathAttrib.html#a5e7991f4aaae52ee36c90e566441b4b5">libbgp::BgpPathAttrib</a>.</p>
<p class="definition">Definition at line <a class="el" href="bgp-path-attrib_8cc_source.html#l00416">416</a> of file <a class="el" href="bgp-path-attrib_8cc_source.html">bgp-path-attrib.cc</a>.</p>
<p class="reference">References <a class="el" href="serializable_8cc_source.html#l00144">libbgp::Serializable::_print()</a>, <a class="el" href="bgp-path-attrib_8h_source.html#l00240">as_paths</a>, <a class="el" href="bgp-path-attrib_8h_source.html#l00246">is_4b</a>, and <a class="el" href="bgp-path-attrib_8cc_source.html#l00096">libbgp::BgpPathAttrib::printFlags()</a>.</p>
</div>
</div>
<a id="ad6c71f4cc9e072f4f40caf242d351542"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6c71f4cc9e072f4f40caf242d351542">◆ </a></span>length()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ssize_t libbgp::BgpPathAttribAsPath::length </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get size in bytes required to serialize the object. </p>
<dl class="section return"><dt>Returns</dt><dd>ssize_t Size in btyes. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">-1</td><td>Failed to get size. </td></tr>
<tr><td class="paramname">>=0</td><td>Size in btyes. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classlibbgp_1_1BgpPathAttrib.html#a9f726edd332787d4fb8dca86f3888cda">libbgp::BgpPathAttrib</a>.</p>
<p class="definition">Definition at line <a class="el" href="bgp-path-attrib_8cc_source.html#l00510">510</a> of file <a class="el" href="bgp-path-attrib_8cc_source.html">bgp-path-attrib.cc</a>.</p>
<p class="reference">References <a class="el" href="bgp-path-attrib_8h_source.html#l00240">as_paths</a>, and <a class="el" href="bgp-path-attrib_8h_source.html#l00246">is_4b</a>.</p>
</div>
</div>
<a id="a64a49f844e20e44ce1f452832ebf0960"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64a49f844e20e44ce1f452832ebf0960">◆ </a></span>parse()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ssize_t libbgp::BgpPathAttribAsPath::parse </td>
<td>(</td>
<td class="paramtype">const uint8_t * </td>
<td class="paramname"><em>from</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>msg_sz</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Deserialize a BGP update message path attribute. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">from</td><td>Pointer to message body buffer. </td></tr>
<tr><td class="paramname">msg_sz</td><td>Size of message. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ssize_t Bytes read. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">-1</td><td>Deserialization error. Error may be logged. </td></tr>
<tr><td class="paramname">>=0</td><td>Bytes read. </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">bad_parse</td><td>Internal deserialization error. </td></tr>
<tr><td class="paramname">bad_type</td><td>The type of message/field member in buffer does not match the attribute type of container. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classlibbgp_1_1BgpPathAttrib.html#a89ba651f148d1ac46b00a658011b3267">libbgp::BgpPathAttrib</a>.</p>
<p class="definition">Definition at line <a class="el" href="bgp-path-attrib_8cc_source.html#l00448">448</a> of file <a class="el" href="bgp-path-attrib_8cc_source.html">bgp-path-attrib.cc</a>.</p>
<p class="reference">References <a class="el" href="bgp-path-attrib_8cc_source.html#l00200">libbgp::BgpPathAttrib::parseHeader()</a>, and <a class="el" href="bgp-path-attrib_8h_source.html#l00078">libbgp::BgpPathAttrib::type_code</a>.</p>
</div>
</div>
<a id="a44a58a07230aa85a79aff0c532a37da8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44a58a07230aa85a79aff0c532a37da8">◆ </a></span>prepend()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool libbgp::BgpPathAttribAsPath::prepend </td>
<td>(</td>
<td class="paramtype">uint32_t </td>
<td class="paramname"><em>asn</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Prepend an ASN into AS path. </p>
<p>This method will prepend an ASN to AS_SEQUENCE segment if the segment is the first in path. A new AS_SEQUENCE will be create and append to AS_PATH otherwise. A new AS_SEQUENCE will also be create if the current one is full.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">asn</td><td>The ASN to append. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true ASN prepended. </dd>
<dd>
false Failed to append ASN. error may be written to stderr with log handler. </dd></dl>
<p class="definition">Definition at line <a class="el" href="bgp-path-attrib_8cc_source.html#l00543">543</a> of file <a class="el" href="bgp-path-attrib_8cc_source.html">bgp-path-attrib.cc</a>.</p>
<p class="reference">References <a class="el" href="bgp-path-attrib_8h_source.html#l00240">as_paths</a>, and <a class="el" href="bgp-path-attrib_8h_source.html#l00214">libbgp::BgpAsPathSegment::type</a>.</p>
</div>
</div>
<a id="a293171dbe7d5fdf298d9573553e850fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a293171dbe7d5fdf298d9573553e850fb">◆ </a></span>write()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ssize_t libbgp::BgpPathAttribAsPath::write </td>
<td>(</td>
<td class="paramtype">uint8_t * </td>
<td class="paramname"><em>to</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>buf_sz</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Serialize a BGP update message path attribute. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">to</td><td>Pointer to destination buffer. </td></tr>
<tr><td class="paramname">buf_sz</td><td>Max write size. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ssize_t Bytes written. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">-1</td><td>Serialization error. Error may be logged. </td></tr>
<tr><td class="paramname">>=0</td><td>Bytes written. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classlibbgp_1_1BgpPathAttrib.html#ae5ab33a4395adc10109e97d3dcf962c2">libbgp::BgpPathAttrib</a>.</p>
<p class="definition">Definition at line <a class="el" href="bgp-path-attrib_8cc_source.html#l00573">573</a> of file <a class="el" href="bgp-path-attrib_8cc_source.html">bgp-path-attrib.cc</a>.</p>
<p class="reference">References <a class="el" href="bgp-log-handler_8cc_source.html#l00056">libbgp::BgpLogHandler::log()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/<a class="el" href="bgp-path-attrib_8h_source.html">bgp-path-attrib.h</a></li>
<li>src/<a class="el" href="bgp-path-attrib_8cc_source.html">bgp-path-attrib.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>