Uploaded image for project: 'bgpcep'
  1. bgpcep
  2. BGPCEP-748

BGP does not sent UPDATE message if IPv4 MP capability was not advertised

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: High High
    • Oxygen
    • None
    • BGP
    • None

      I was trying to check if BGP is able to send old style BGP Update messages (without

      Multi-Protocol Reach NLRI).

      If peer advertises just IPv4 MP capability, then ODL uses Multi-Protocol Reach NLRI.

      In case IPv4 MP is not advertised, ODL BGP does not sent update at all.

       

      Including pcap showing OPEN messages and karaf.log.

       

      Protocol configuration:

      <protocol xmlns="http://openconfig.net/yang/network-instance">
          <name>bgp-example</name>
          <identifier xmlns:x="http://openconfig.net/yang/policy-types">x:BGP</identifier>
          <bgp xmlns="urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions">
              <global>
                  <config>
                      <router-id>172.17.0.3</router-id>
                      <as>65000</as>
                  </config>
              </global>
          </bgp>
      </protocol>

       

      Server configuration:

      <bgp-peer-acceptor-config xmlns="urn:opendaylight:params:xml:ns:yang:odl-bgp-peer-acceptor-config">
          <config-name>default</config-name>
          <binding-address>172.17.0.3</binding-address>
          <binding-port>179</binding-port>
      </bgp-peer-acceptor-config>

       

      Peer config (tried to skip afi-safis, but got NPE at org.opendaylight.protocol.bgp.rib.impl.config.BgpPeer$BgpPeerSingletonService.<init>(BgpPeer.java:241)[202:org.opendaylight.bgpcep.bgp-rib-impl:0.8.1):

      {
        "neighbor": {
          "neighbor-address": "172.17.0.4",
          "timers": {
            "config":

      {         "hold-time": 90,         "connect-retry": 10       }

          },
          "config":

      {       "peer-type": "INTERNAL"     }

      ,
          "transport": {
            "config":

      {         "remote-port": 179,         "passive-mode": false       }

          },
          "afi-safis": {
            "afi-safi": [
             

      {           "afi-safi-name": "openconfig-bgp-types:IPV4-UNICAST"         }

            ]
          }
        }
      }

       

      Route is writen to speaker's loc-rib

      GET http://172.17.0.3:8181/restconf/operational/bgp-rib:bgp-rib/rib/bgp-example/loc-rib

      {
        "loc-rib": {
          "tables": [
            {
              "afi": "bgp-types:ipv4-address-family",
              "safi": "bgp-types:unicast-subsequent-address-family",
              "bgp-inet:ipv4-routes": {
                "ipv4-route": [
                  {
                    "prefix": "10.0.0.12/32",
                    "path-id": 0,
                    "attributes": {
                      "origin":

      {                   "value": "igp"                 }

      ,
                      "as-path": {},
                      "local-pref":

      {                   "pref": 100                 }

      ,
                      "ipv4-next-hop":

      {                   "global": "10.11.1.2"                 }

                    }
                  }
                ]
              }
            }
          ]
        }
      }

       

      But not to adj-rib-out:

      GET http://172.17.0.3:8181/restconf/operational/bgp-rib:bgp-rib/rib/bgp-example/peer/bgp:%2F%2F198.51.100.1/adj-rib-out

      {
        "adj-rib-out": {
          "tables": [
            {
              "afi": "bgp-types:ipv4-address-family",
              "safi": "bgp-types:unicast-subsequent-address-family",
              "bgp-inet:ipv4-routes": {},
              "attributes": {}
            }
          ]
        }
      }

       

       

       

       

       

            cdgasparini Claudio David Gasparini
            mgradzki Marek Gradzki
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: