Re: [Idr] Clarification on RFC4271 section 5.1.5 - is LOCAL-PREF mandatory or discretionary

Robert Raszuk <raszuk@cisco.com> Wed, 12 July 2006 04:22 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1G0WEn-0005G0-8A; Wed, 12 Jul 2006 00:22:13 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1G0WEl-0005Fs-UA for idr@ietf.org; Wed, 12 Jul 2006 00:22:11 -0400
Received: from sj-iport-4.cisco.com ([171.68.10.86]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1G0WEj-0006TR-8K for idr@ietf.org; Wed, 12 Jul 2006 00:22:11 -0400
Received: from sj-dkim-7.cisco.com ([171.68.10.88]) by sj-iport-4.cisco.com with ESMTP; 11 Jul 2006 21:22:09 -0700
X-IronPort-AV: i="4.06,230,1149490800"; d="scan'208"; a="1837598230:sNHT35214372"
Received: from sj-core-3.cisco.com (sj-core-3.cisco.com [171.68.223.137]) by sj-dkim-7.cisco.com (8.12.11.20060308/8.12.11) with ESMTP id k6C4M84p029437; Tue, 11 Jul 2006 21:22:08 -0700
Received: from xbh-sjc-231.amer.cisco.com (xbh-sjc-231.cisco.com [128.107.191.100]) by sj-core-3.cisco.com (8.12.10/8.12.6) with ESMTP id k6C4M8nc025980; Tue, 11 Jul 2006 21:22:08 -0700 (PDT)
Received: from xfe-sjc-211.amer.cisco.com ([171.70.151.174]) by xbh-sjc-231.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.211); Tue, 11 Jul 2006 21:22:08 -0700
Received: from [10.21.96.203] ([10.21.96.203]) by xfe-sjc-211.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.211); Tue, 11 Jul 2006 21:22:05 -0700
Message-ID: <44B478E6.2080201@cisco.com>
Date: Tue, 11 Jul 2006 21:21:58 -0700
From: Robert Raszuk <raszuk@cisco.com>
Organization: http://raszuk.net/
User-Agent: Thunderbird 1.5.0.4 (Windows/20060516)
MIME-Version: 1.0
To: gregory hoggarth <gregory.hoggarth@alliedtelesyn.co.nz>
Subject: Re: [Idr] Clarification on RFC4271 section 5.1.5 - is LOCAL-PREF mandatory or discretionary
References: <44B4D861.E0D5.005D.0@alliedtelesyn.co.nz>
In-Reply-To: <44B4D861.E0D5.005D.0@alliedtelesyn.co.nz>
X-Enigmail-Version: 0.94.0.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 12 Jul 2006 04:22:05.0979 (UTC) FILETIME=[BBA336B0:01C6A56A]
DKIM-Signature: a=rsa-sha1; q=dns; l=4004; t=1152678128; x=1153542128; c=relaxed/simple; s=sjdkim7002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=raszuk@cisco.com; z=From:Robert=20Raszuk=20<raszuk@cisco.com> |Subject:Re=3A=20[Idr]=20Clarification=20on=20RFC4271=20section=205.1.5=20-=20is= 20LOCAL-PREF=0A=20mandatory=20or=20discretionary; X=v=3Dcisco.com=3B=20h=3DFpDo/XzCEaNjELDBEAZKXrJyt88=3D; b=ccLw6lGD39lvvIfW673OSjkcKq8fxAOgmirCt+QYwFXU3ejFYNdFYAw3RefXJ2zxcEc8M/0M Lz6EEJe7FgorCFSQLRm7A/07VMfrdsOCJatpr78dOwDMGYCP3KbBylbi;
Authentication-Results: sj-dkim-7.cisco.com; header.From=raszuk@cisco.com; dkim=pass ( sig from cisco.com verified; );
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 10d3e4e3c32e363f129e380e644649be
Cc: idr@ietf.org
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: raszuk@cisco.com
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/idr>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
Errors-To: idr-bounces@ietf.org

Hi Gregory,

It all depends what you goal here is ...

* If you are deep into finding semantical and syntactical specification
wording traps resulting in reasons to not implement Local_Pref as a
mandatory attribute you may find all possible mismatches between BGP
specs and perhaps get away with it.

* If on the other hand your goal is to come up with to some extend at
least interoperable BGP implementation I would highly recommend to look
at section 3.14 of BGP-4 implementation report
http://www.ietf.org/rfc/rfc4276.txt where the answer to your question is
clear. Local_Pref is send to all IBGP peers and is a mandatory bgp
attribute. It is part of best path so while one could assume missing
local_pref is equal to def value it is not the case in well known bgp
implementations I am aware of.

Cheers,
R.

> Hello everyone,
> 
> I've been working on a BGP implementation which is currently failing a
> third-party test that is assuming that the LOCAL-PREF attribute is a
> well-known mandatory attribute while the implementation is assuming that
> it is discretionary. RFC4271 does not make the definition 100% clear,
> especially because in RFC1771 this attribute is described as being
> well-known discretionary.
> 
> Section 5.1.5 from RFC4271 states:
> 
>    LOCAL_PREF is a well-known attribute that SHALL be included in all
>    UPDATE messages that a given BGP speaker sends to other internal
>    peers.  A BGP speaker SHALL calculate the degree of preference for
>    each external route based on the locally-configured policy, and
>    include the degree of preference when advertising a route to its
>    internal peers.
> 
> The SHALLs seem to make this fairly clear, however note that it merely
> says "well-known attribute". Other attributes, such as ORIGIN say
> "well-known mandatory attribute". Also, in the table at the top of page
> 25, LOCAL_PREF is listed as being "required" for IBGP, but this is never
> actually defined anywhere as to what this means. Again in section 4.3 e)
> on page 19, it only says "well-known attribute", whereas on the same
> page NEXT_HOP is described as "well-known mandatory" and
> ATOMIC_AGGREGATE is described as "well-known discretionary".
> 
> In RFC1771 LOCAL_PREF is defined on pages 15 and 23 as being
> "well-known discretionary".
> 
> The current way the implementation works is based on RFC1771, but as
> RFC4271 is ambiguous as to how LOCAL_PREF should be handled, I am unsure
> as to whether the implementation needs to be changed.
> 
> Currently, if an update message that does not include the LOCAL_PREF
> attribute arrives from an iBGP neighbour, the default or
> administratively-defined LOCAL_PREF value for the receiving router is
> assigned to the advertised route. This seems like a good compromise in
> my opinion. The third-party test suite is expecting that in this
> situation, the device will return a notification message that incidates
> the attribute was not included in the update.
> 
> So, according to RFC4271, is LOCAL_PREF a mandatory attribute, at least
> for iBGP peer communication? Is my current approach to the lack of this
> attribute in an update sensible and acceptable?
> 
> 
> Thanks,
> Greg
> 
> NOTICE: This message contains privileged and confidential
> information intended only for the use of the addressee
> named above. If you are not the intended recipient of
> this message you are hereby notified that you must not
> disseminate, copy or take any action in reliance on it.
> If you have received this message in error please
> notify Allied Telesis Labs Ltd immediately.
> Any views expressed in this message are those of the
> individual sender, except where the sender has the
> authority to issue and specifically states them to
> be the views of Allied Telesis Labs.
> 
> _______________________________________________
> Idr mailing list
> Idr@ietf.org
> https://www1.ietf.org/mailman/listinfo/idr
> 

_______________________________________________
Idr mailing list
Idr@ietf.org
https://www1.ietf.org/mailman/listinfo/idr