Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
Bugzilla Migration
-
None
-
Operating System: All
Platform: All
-
4634
Description
An update message contains 3 prefixes in nlri list (8.0.1.0, 8.0.1.16, 8.0.1.32) and one of them (8.0.1.0) in withdrawn list (should be ignored). BGP does not ignore the prefix in the withdrawn list (found in Lithium)
actual vs. expected topology:
=============================
{
"topology": [
{
"node": [
{
"l3-unicast-igp-topology:igp-node-attributes": {
"prefix": [
,
{ "prefix": "8.0.1.32/28" } ]
},
"node-id": "192.0.2.1"
}
],
"server-provided": true,
"topology-id": "example-ipv4-topology",
"topology-types": {}
}
]
}
!=
{
"topology": [
{
"node": [
{
"l3-unicast-igp-topology:igp-node-attributes": {
"prefix": [
,
,
{ "prefix": "8.0.1.32/28" } ]
},
"node-id": "192.0.2.1"
}
],
"server-provided": true,
"topology-id": "example-ipv4-topology",
"topology-types": {}
}
]
}
BGP Speaker log
===============
2015-11-13 14:34:03,193 INFO: Connecting in the listening mode.
2015-11-13 14:34:03,193 DEBUG: Local IP address: 10.30.32.9
2015-11-13 14:34:03,193 DEBUG: Local port: 17900
2015-11-13 14:34:03,882 INFO: Connected to ODL.
2015-11-13 14:34:03,883 INFO: Open message received.
2015-11-13 14:34:03,883 INFO: Generator initialisation
2015-11-13 14:34:03,883 INFO: Target total number of prefixes to be introduced: 2
2015-11-13 14:34:03,883 INFO: Prefix base: 8.0.1.0/28
2015-11-13 14:34:03,883 INFO: My Autonomous System number: 64496
2015-11-13 14:34:03,883 INFO: My Hold Time: 180
2015-11-13 14:34:03,883 INFO: My BGP Identifier: 169746441
2015-11-13 14:34:03,883 INFO: Next Hop: 192.0.2.1
2015-11-13 14:34:03,883 INFO: Prefix count to be inserted at once: 3
2015-11-13 14:34:03,883 INFO: Prefix count to be withdrawn at once: 1
2015-11-13 14:34:03,883 INFO: Fast pre-fill up to 0 prefixes
2015-11-13 14:34:03,883 INFO: Remaining number of prefixes to be processed in parallel with withdrawals: 2
2015-11-13 14:34:03,884 DE Prefix index range used after pre-fill procedure [0, 1]
2015-11-13 14:34:03,884 INFO: Common single UPDATE will be generated for both NLRI & WITHDRAWN lists
2015-11-13 14:34:03,884 INFO: Let"s go ...
2015-11-13 14:34:03,884 DEBUG: OPEN Message encoding
2015-11-13 14:34:03,884 DE Marker=0xffffffffffffffffffffffffffffffff
2015-11-13 14:34:03,884 DE Length=45 (0x002d)
2015-11-13 14:34:03,884 DE Type=1 (0x01)
2015-11-13 14:34:03,884 DE Version=4 (0x04)
2015-11-13 14:34:03,884 DE My Autonomous System=64496 (0xfbf0)
2015-11-13 14:34:03,884 DE Hold Time=180 (0x00b4)
2015-11-13 14:34:03,884 DE BGP Identifier=169746441 (0x0a1e2009)
2015-11-13 14:34:03,884 DE Optional Parameters Length=16 (0x10)
2015-11-13 14:34:03,884 DE Optional Parameters=0x0206010400010001020641040000fbf0
2015-11-13 14:34:03,884 DE OPEN Message encoded: 0xffffffffffffffffffffffffffffffff002d0104fbf000b40a1e2009100206010400010001020641040000fbf0
2015-11-13 14:34:03,885 DEBUG: Sending the OPEN message: ffffffffffffffffffffffffffffffff002d0104fbf000b40a1e2009100206010400010001020641040000fbf0
2015-11-13 14:34:03,886 DEBUG: KEEP ALIVE Message encoding
2015-11-13 14:34:03,886 DE Marker=0xffffffffffffffffffffffffffffffff
2015-11-13 14:34:03,886 DE Length=19 (0x0013)
2015-11-13 14:34:03,886 DE Type=4 (0x04)
2015-11-13 14:34:03,886 DE KEEP ALIVE Message encoded: 0xffffffffffffffffffffffffffffffff001304
2015-11-13 14:34:03,886 DEBUG: KEEP ALIVE Message encoding
2015-11-13 14:34:03,886 DE Marker=0xffffffffffffffffffffffffffffffff
2015-11-13 14:34:03,886 DE Length=19 (0x0013)
2015-11-13 14:34:03,887 DE Type=4 (0x04)
2015-11-13 14:34:03,887 DE KEEP ALIVE Message encoded: 0xffffffffffffffffffffffffffffffff001304
2015-11-13 14:34:03,887 DEBUG: Sending a KEEP ALIVE message: ffffffffffffffffffffffffffffffff001304
2015-11-13 14:34:03,887 INFO: Iteration: 0 - total remaining prefixes: 2
2015-11-13 14:34:03,887 DEBUG: ########## Iteration: 0 ##########
2015-11-13 14:34:03,887 DEBUG: Remaining prefixes: 2
2015-11-13 14:34:03,887 DEBUG: — COMBINED SCENARIO —
2015-11-13 14:34:03,887 DEBUG: Prefixes to be inserted in this iteration:
2015-11-13 14:34:03,887 DE Prefix slot index: 0
2015-11-13 14:34:03,887 DE Prefix slot size: 3
2015-11-13 14:34:03,887 DE Prefix count: 3
2015-11-13 14:34:03,887 DE Prefix indexes: [0, 1, 2]
2015-11-13 14:34:03,887 DE Prefix list: [IPv4Address('8.0.1.0'), IPv4Address('8.0.1.16'), IPv4Address('8.0.1.32')]
2015-11-13 14:34:03,888 DEBUG: Prefixes to be withdrawn in this iteration:
2015-11-13 14:34:03,888 DE Prefix slot index: 0
2015-11-13 14:34:03,888 DE Prefix slot size: 3
2015-11-13 14:34:03,888 DE Prefix count: 1
2015-11-13 14:34:03,888 DE Prefix indexes: [0]
2015-11-13 14:34:03,888 DE Prefix list: [IPv4Address('8.0.1.0')]
2015-11-13 14:34:03,888 DEBUG: UPDATE Message encoding
2015-11-13 14:34:03,888 DE Marker=0xffffffffffffffffffffffffffffffff
2015-11-13 14:34:03,888 DE Length=63 (0x003f)
2015-11-13 14:34:03,888 DE Type=2 (0x02)
2015-11-13 14:34:03,888 DE withdrawn_routes_length=5 (0x0005)
2015-11-13 14:34:03,888 DE Withdrawn_Routes=[IPv4Address('8.0.1.0')]/28 (0x1c08000100)
2015-11-13 14:34:03,888 DE Total Path Attributes Length=20 (0x0014)
2015-11-13 14:34:03,889 DE Path Attributes=(0x4001010040020602010000fbf0400304c0000201)
2015-11-13 14:34:03,889 DE Network Layer Reachability Information=[IPv4Address('8.0.1.0'), IPv4Address('8.0.1.16'), IPv4Address('8.0.1.32')]/28 (0x1c080001001c080001101c08000120)
2015-11-13 14:34:03,889 DE UPDATE Message encoded: 0xffffffffffffffffffffffffffffffff003f0200051c0800010000144001010040020602010000fbf0400304c00002011c080001001c080001101c08000120
2015-11-13 14:34:03,889 INFO: All update messages generated.
2015-11-13 14:34:03,889 INFO: Storing performance results.
2015-11-13 14:34:03,889 INFO: ########## Final results ##########
2015-11-13 14:34:03,889 INFO: Number of iterations: 1
2015-11-13 14:34:03,889 INFO: Number of UPDATE messages sent in the pre-fill phase: 0
2015-11-13 14:34:03,889 INFO: The pre-fill phase duration: 0s
2015-11-13 14:34:03,889 INFO: Number of UPDATE messages sent in the 2nd test phase: 1
2015-11-13 14:34:03,889 INFO: The 2nd test phase duration: 0.00166296958923s
2015-11-13 14:34:03,889 INFO: Threshold for performance reporting: 1000
2015-11-13 14:34:03,889 INFO: Message generator performance results stored in totals-bgp.csv:
2015-11-13 14:34:03,889 INFO:
2015-11-13 14:34:03,890 INFO:
2015-11-13 14:34:03,890 INFO: Message generator performance results stored in performance-bgp.csv:
2015-11-13 14:34:03,890 INFO:
2015-11-13 14:34:03,890 INFO:
2015-11-13 14:34:03,890 INFO: Finally an END-OF-RIB is going to be sent.
2015-11-13 14:34:03,890 DEBUG: UPDATE Message encoding
2015-11-13 14:34:03,890 DE Marker=0xffffffffffffffffffffffffffffffff
2015-11-13 14:34:03,890 DE Length=23 (0x0017)
2015-11-13 14:34:03,890 DE Type=2 (0x02)
2015-11-13 14:34:03,890 DE withdrawn_routes_length=0 (0x0000)
2015-11-13 14:34:03,890 DE Withdrawn_Routes=[]/28 (0x)
2015-11-13 14:34:03,890 DE Total Path Attributes Length=0 (0x0000)
2015-11-13 14:34:03,890 DE Path Attributes=(0x)
2015-11-13 14:34:03,891 DE Network Layer Reachability Information=[]/28 (0x)
2015-11-13 14:34:03,891 DE UPDATE Message encoded: 0xffffffffffffffffffffffffffffffff00170200000000
2015-11-13 14:34:03,891 INFO: Everything has been done.Now just waiting for possible incomming message.
https://tools.ietf.org/html/rfc4271 section 4.3
===============================================
An UPDATE message SHOULD NOT include the same address prefix in the
WITHDRAWN ROUTES and Network Layer Reachability Information fields.
However, a BGP speaker MUST be able to process UPDATE messages in
this form. A BGP speaker SHOULD treat an UPDATE message of this form
as though the WITHDRAWN ROUTES do not contain the address prefix.