Hi Qin, “Regarding bgp-max-prefix, I personal feel it is different from maximum-routes which is applicable to all protocols while bgp max prefix is bgp specific, threshold and action parameters only tie with bgp maximum prefix parameter.”
I agree with your comment. Additionally, maybe a more interesting question is if we want to set these parameters per neighbor, per PE-node or per VPN/VRF. I would think that we should have then generic per VRF/PE as part of the profiles but having the option to overwrite per neighbor. One example is a headquarter vs a branch…you may not want to set the same prefix-limits to them. Regards, Roque From: OPSAWG <[email protected]> on behalf of Qin Wu <[email protected]> Date: Friday, 24 July 2020 at 10:18 To: opsawg <[email protected]> Subject: [OPSAWG] L3VPN BGP Threshold and BGP Session parameters (https://github.com/IETF-OPSAWG-WG/l3nm/issues/34 and https://github.com/IETF-OPSAWG-WG/l3nm/issues/35) Hi, All: We have been discussion additional BGP parameters such as L3VPN BGP threshold and BGP session parameters, which is corresponding to issue ticket #34 and #35 on L3NM model, And would like to have the following proposed change to L3NM model to resolve pending issue tickets: OLD TEXT: “ container bgp { when "derived-from-or-self(../type, 'l3vpn-ntw:bgp')" { description "Only applies when protocol is BGP."; } if-feature "rtg-bgp"; leaf peer-autonomous-system { type inet:as-number; mandatory true; description "Customer AS number in case the customer requests BGP routing."; } leaf local-autonomous-system { type inet:as-number; description "Local-AS overwrite."; } leaf-list address-family { type vpn-common:address-family; min-elements 1; description "If BGP is used on this site, this node contains a configured value. This node contains at least one address family to be activated."; } leaf-list neighbor { type inet:ip-address; description "IP address(es) of the BGP neighbor. An IPv4 and IPv6 neighbors may be indicated if two sessions will be used for IPv4 and IPv6."; } leaf multihop { type uint8; description "Describes the number of hops allowed between a given BGP neighbor and the PE router."; } uses security-params; uses vpn-common:service-status; leaf description { type string; description "Includes a description of the BGP session. Such description is meant to be used for diagnosis purposes. The semantic of the description is local to an implementation."; } ” NEW TEXT: “ container bgp { when "derived-from-or-self(../type, 'l3vpn-ntw:bgp')" { description "Only applies when protocol is BGP."; } if-feature "rtg-bgp"; leaf peer-autonomous-system { type inet:as-number; mandatory true; description "Customer AS number in case the customer requests BGP routing."; } leaf local-autonomous-system { type inet:as-number; description "Local-AS overwrite."; } leaf-list address-family { type vpn-common:address-family; min-elements 1; description "If BGP is used on this site, this node contains a configured value. This node contains at least one address family to be activated."; } leaf-list neighbor { type inet:ip-address; description "IP address(es) of the BGP neighbor. An IPv4 and IPv6 neighbors may be indicated if two sessions will be used for IPv4 and IPv6."; } leaf multihop { type uint8; description "Describes the number of hops allowed between a given BGP neighbor and the PE router."; } uses security-params; uses vpn-common:service-status; leaf description { type string; description "Includes a description of the BGP session. Such description is meant to be used for diagnosis purposes. The semantic of the description is local to an implementation."; } leaf as-override { type boolean; default false; description "Define whether AS override is enabled, i.e., replace the AS number of the peer specified in the AS Path attribute with the local AS number."; } leaf default-route { type boolean; default false; description "Define whether default route can be advertised to its peer."; } container bgp-timer { description "BGP timer specific configuration."; leaf keep-alive { type uint16; units "seconds"; default 60; description "keep alive timer configured for specific peer."; } leaf hold-time { type uint16; units "seconds"; default 180; description "Expected BGP hold time in seconds configured for specific peer."; } } container bgp-max-prefix { description "BGP maximum prefix configuration"; leaf max-prefix { type uint32; default 5000; description "Define maximum BGP prefix."; } leaf warning-threshold{ type decimal64 { fraction-digits 5; range "0..100"; } units percent; default 75; description "Define warning threshold value in percentage."; } leaf violate-action { type enumeration { enum warning { description "Only give warning message when limit is exceeded"; } enum discard-extra-paths { description "Discard extra paths when limit is exceeded"; } enum restart { description "Restart time interval"; } } description "BGP neighbour max-prefix violate action"; } leaf restart-interval { type uint16; units "minutes"; description "Time interval (min) after which peering session will be re-established"; } } “ Regarding bgp-max-prefix, I personal feel it is different from maximum-routes which is applicable to all protocols while bgp max prefix is bgp specific, threshold and action parameters only tie with bgp maximum prefix parameter. -Qin
_______________________________________________ OPSAWG mailing list [email protected] https://www.ietf.org/mailman/listinfo/opsawg
