From: Lu Feng Date: Thu, 8 Jan 2015 01:39:18 +0000 (+0000) Subject: ospfd: set O-bit in the option of all DD packets X-Git-Tag: frr-2.0-rc1~771 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=ec0ae370a68fa18aff8b338285ebceb97630d8e9;p=mirror%2Ffrr.git ospfd: set O-bit in the option of all DD packets If opaque-capability is enabled, we must set the O-bit in the option field of all DD packets. Changing the option field of DD packets may cause the peer to reset the state back to ExStart. Signed-off-by: Feng Lu Signed-off-by: David Lamparter (cherry picked from commit 86ce951e349fd08d1ba2c66f5f6d07756689422a) --- diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c index e4c74d705e..4ec4509056 100644 --- a/ospfd/ospf_packet.c +++ b/ospfd/ospf_packet.c @@ -3179,22 +3179,7 @@ ospf_make_db_desc (struct ospf_interface *oi, struct ospf_neighbor *nbr, options = OPTIONS (oi); #ifdef HAVE_OPAQUE_LSA if (CHECK_FLAG (oi->ospf->config, OSPF_OPAQUE_CAPABLE)) - { - if (IS_SET_DD_I (nbr->dd_flags) - || CHECK_FLAG (nbr->options, OSPF_OPTION_O)) - /* - * Set O-bit in the outgoing DD packet for capablity negotiation, - * if one of following case is applicable. - * - * 1) WaitTimer expiration event triggered the neighbor state to - * change to Exstart, but no (valid) DD packet has received - * from the neighbor yet. - * - * 2) At least one DD packet with O-bit on has received from the - * neighbor. - */ - SET_FLAG (options, OSPF_OPTION_O); - } + SET_FLAG (options, OSPF_OPTION_O); #endif /* HAVE_OPAQUE_LSA */ stream_putc (s, options);