while encoding the above route there was a buffer overrun.
(gdb) p sizeof(data_) $13 = 4096 (gdb) p datalen_ $3 = 4511 (gdb) (gdb) p data_ $2 = "<?xml version=\"1.0\"?>\n<iq type=\"set\" from=\"pop296b-compute0.snow.rennes.lab\" to=\"<email address hidden>/bgp-peer\" id=\"pubsub16728\">\n<pubsub xmlns=\"http://jabber.org/protocol/pubsub\">\n<publish node=\"1/1/default-domain:GEN-TNT-INTERNET:GEN-VRF-INTERNET:GEN-VRF-INTERNET/100.64.0.20/32\">\n<item>\n<entry>\n<nlri>\n<af>1</af>\n<safi>1</safi>\n<address>100.64.0.20/32</address>\n</nlri>\n<next-hops>\n<next-hop>\n<af>1</af>\n<address>198.19.56.212</address>\n<mac></mac>\n<label>78</label>\n<vni>0</vni>\n<tunnel-encapsulation-list>\n<tunnel-encapsulation>gre</tunnel-encapsulation>\n<tunnel-encapsulation>udp</tunnel-encapsulation>\n</tunnel-encapsulation-list>\n<virtual-network>default-domain:GEN-TNT-INTERNET:GEN-VRF-INTERNET</virtual-network>\n<tag-list />\n</next-hop>\n</next-hops>\n<version>1</version>\n<virtual-network></virtual-network>\n<mobility seqno=\"0\" sticky=\"false\" />\n<sequence-number>0</sequence-number>\n<security-group-list />\n<community-tag-list>\n<community-tag>no-reoriginate</community-tag>\n<community-tag>999:10001</community-tag>\n<community-tag>999:10002</community-tag>\n<community-tag>999:10003</community-tag>\n<community-tag>999:10004</community-tag>\n<community-tag>999:10005</community-tag>\n<community-tag>999:10006</community-tag>\n<community-tag>999:10007</community-tag>\n<community-tag>999:10008</community-tag>\n<community-tag>999:10009</community-tag>\n<community-tag>999:10010</community-tag>\n<community-tag>999:10011</community-tag>\n<community-tag>999:10012</community-tag>\n<community-tag>999:10013</community-tag>\n<community-tag>999:10014</community-tag>\n<community-tag>999:10015</community-tag>\n<community-tag>999:10016</community-tag>\n<community-tag>999:10017</community-tag>\n<community-tag>999:10018</community-tag>\n<community-tag>999:10019</community-tag>\n<community-tag>999:10020</community-tag>\n<community-tag>999:10021</community-tag>\n<community-tag>999:10022</community-tag>\n<community-tag>999:10023</community-tag>\n<community-tag>999:10024</community-tag>\n<community-tag>999:10025</community-tag>\n<community-tag>999:10026</community-tag>\n<community-tag>999:10027</community-tag>\n<community-tag>999:10028</community-tag>\n<community-tag>999:10029</community-tag>\n<community-tag>999:10030</community-tag>\n<community-tag>999:10031</community-tag>\n<community-tag>999:10032</community-tag>\n<community-tag>999:10033</community-tag>\n<community-tag>999:10034</community-tag>\n<community-tag>999:10035</community-tag>\n<community-tag>999:10036</community-tag>\n<community-tag>999:10037</community-tag>\n<community-tag>999:10038</community-tag>\n<community-tag>999:10039</community-tag>\n<community-tag>999:10040</community-tag>\n<community-tag>999:10041</community-tag>\n<community-tag>999:10042</community-tag>\n<community-tag>999:10043</community-tag>\n<community-tag>999:10044</community-tag>\n<community-tag>999:10045</community-tag>\n<community-tag>999:10046</community-tag>\n<community-tag>999:10047</community-tag>\n<community-tag>999:10048</community-tag>\n<community-tag>999:10049</community-tag>\n<community-tag>999:10050</community-tag>\n<community-tag>999:10051</community-tag>\n<community-tag>999:10052</community-tag>\n<community-tag>999:10053</community-tag>\n<community-tag>999:10054</community-tag>\n<community-tag>999:10055</community-tag>\n<community-tag>999:10056</community-tag>\n<community-tag>999:10057</community-tag>\n<community-tag>999:10058</community-tag>\n<community-tag>999:10059</community-tag>\n<community-tag>999:10060</community-tag>\n<community-tag>999:10061</community-tag>\n<community-tag>999:10062</community-tag>\n<community-tag>999:10063</community-tag>\n<community-tag>999:10064</community-tag>\n<community-tag>999:10065</community-tag>\n<community-tag>999:10066</community-tag>\n<community-tag>999:10067</community-tag>\n<community-tag>999:10068</community-tag>\n<community-tag>999:10069</community-tag>\n<community-tag>999:10070</community-tag>\n<community-tag>999:10071</community-tag>\n<community-tag>999:10072</community-tag>\n<community-tag>999:10073</community-tag>\n<community-tag>999:10074</community-tag>\n<community-tag>999:10075</community-tag>\n<community-tag>999:1007"
Each community tag takes about 44 bytes, this specific route could have handled around 70 CT, but it would be safe to assume around 60 CT.
while encoding the above route there was a buffer overrun.
(gdb) p sizeof(data_) \"1.0\" ?>\n<iq type=\"set\" from=\" pop296b- compute0. snow.rennes. lab\" to=\"<email address hidden>/bgp-peer\" id=\"pubsub1672 8\">\n< pubsub xmlns=\"http:// jabber. org/protocol/ pubsub\">\n<publish node=\" 1/1/default- domain: GEN-TNT- INTERNET: GEN-VRF- INTERNET: GEN-VRF- INTERNET/ 100.64. 0.20/32\ ">\n<item> \n<entry> \n<nlri> \n<af>1< /af>\n< safi>1< /safi>\ n<address> 100.64. 0.20/32< /address> \n</nlri> \n<next- hops>\n< next-hop> \n<af>1< /af>\n< address> 198.19. 56.212< /address> \n<mac> </mac>\ n<label> 78</label> \n<vni> 0</vni> \n<tunnel- encapsulation- list>\n< tunnel- encapsulation> gre</tunnel- encapsulation> \n<tunnel- encapsulation> udp</tunnel- encapsulation> \n</tunnel- encapsulation- list>\n< virtual- network> default- domain: GEN-TNT- INTERNET: GEN-VRF- INTERNET< /virtual- network> \n<tag- list />\n</next- hop>\n< /next-hops> \n<version> 1</version> \n<virtual- network> </virtual- network> \n<mobility seqno=\"0\" sticky=\"false\" />\n<sequence- number> 0</sequence- number> \n<security- group-list />\n<community- tag-list> \n<community- tag>no- reoriginate< /community- tag>\n< community- tag>999: 10001</ community- tag>\n< community- tag>999: 10002</ community- tag>\n< community- tag>999: 10003</ community- tag>\n< community- tag>999: 10004</ community- tag>\n< community- tag>999: 10005</ community- tag>\n< community- tag>999: 10006</ community- tag>\n< community- tag>999: 10007</ community- tag>\n< community- tag>999: 10008</ community- tag>\n< community- tag>999: 10009</ community- tag>\n< community- tag>999: 10010</ community- tag>\n< community- tag>999: 10011</ community- tag>\n< community- tag>999: 10012</ community- tag>\n< community- tag>999: 10013</ community- tag>\n< community- tag>999: 10014</ community- tag>\n< community- tag>999: 10015</ community- tag>\n< community- tag>999: 10016</ community- tag>\n< community- tag>999: 10017</ community- tag>\n< community- tag>999: 10018</ community- tag>\n< community- tag>999: 10019</ community- tag>\n< community- tag>999: 10020</ community- tag>\n< community- tag>999: 10021</ community- tag>\n< community- tag>999: 10022</ community- tag>\n< community- tag>999: 10023</ community- tag>\n< community- tag>999: 10024</ community- tag>\n< community- tag>999: 10025</ community- tag>\n< community- tag>999: 10026</ community- tag>\n< community- tag>999: 10027</ community- tag>\n< community- tag>999: 10028</ community- tag>\n< community- tag>999: 10029</ community- tag>\n< community- tag>999: 10030</ community- tag>\n< community- tag>999: 10031</ community- tag>\n< community- tag>999: 10032</ community- tag>\n< community- tag>999: 10033</ community- tag>\n< community- tag>999: 10034</ community- tag>\n< community- tag>999: 10035</ community- tag>\n< community- tag>999: 10036</ community- tag>\n< community- tag>999: 10037</ community- tag>\n< community- tag>999: 10038</ community- tag>\n< community- tag>999: 10039</ community- tag>\n< community- tag>999: 10040</ community- tag>\n< community- tag>999: 10041</ community- tag>\n< community- tag>999: 10042</ community- tag>\n< community- tag>999: 10043</ community- tag>\n< community- tag>999: 10044</ community- tag>\n< community- tag>999: 10045</ community- tag>\n< community- tag>999: 10046</ community- tag>\n< community- tag>999: 10047</ community- tag>\n< community- tag>999: 10048</ community- tag>\n< community- tag>999: 10049</ community- tag>\n< community- tag>999: 10050</ community- tag>\n< community- tag>999: 10051</ community- tag>\n< community- tag>999: 10052</ community- tag>\n< community- tag>999: 10053</ community- tag>\n< community- tag>999: 10054</ community- tag>\n< community- tag>999: 10055</ community- tag>\n< community- tag>999: 10056</ community- tag>\n< community- tag>999: 10057</ community- tag>\n< community- tag>999: 10058</ community- tag>\n< community- tag>999: 10059</ community- tag>\n< community- tag>999: 10060</ community- tag>\n< community- tag>999: 10061</ community- tag>\n< community- tag>999: 10062</ community- tag>\n< community- tag>999: 10063</ community- tag>\n< community- tag>999: 10064</ community- tag>\n< community- tag>999: 10065</ community- tag>\n< community- tag>999: 10066</ community- tag>\n< community- tag>999: 10067</ community- tag>\n< community- tag>999: 10068</ community- tag>\n< community- tag>999: 10069</ community- tag>\n< community- tag>999: 10070</ community- tag>\n< community- tag>999: 10071</ community- tag>\n< community- tag>999: 10072</ community- tag>\n< community- tag>999: 10073</ community- tag>\n< community- tag>999: 10074</ community- tag>\n< community- tag>999: 10075</ community- tag>\n< community- tag>999: 1007"
$13 = 4096
(gdb) p datalen_
$3 = 4511
(gdb)
(gdb) p data_
$2 = "<?xml version=
Each community tag takes about 44 bytes, this specific route could have handled around 70 CT, but it would be safe to assume around 60 CT.