-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DAN-49 - Route map add match by local-preference, (DAN-25 DAN-48 DAN-52) - IPv4 BGP Prefix List Broken #2
base: master
Are you sure you want to change the base?
Changes from all commits
c29fa4e
0f9de04
08e21bc
f15b071
d80971d
2cd4e7e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,17 @@ | ||
{ | ||
"/policy/route/route-map/@enter": "!", | ||
"/policy/route/route-map/@element/rule/@element":"route-map {/../../tagnode/@text} {/action/@text} {/tagnode/@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/as-path":"match as-path {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/as-path":"match as-path {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/interface":"match interface {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/ip/address/standard-acl":"match ip address {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/ip/address/extended-acl":"match ip address {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/ip/address/prefix-lists":"match ip address prefix-list {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/ip/nexthop/standard-acl":"match ip next-hop {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/ip/nexthop/extended-acl":"match ip next-hop {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/ip/nexthop/prefix-lists":"match ip next-hop prefix-list {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/ip/address/access-list":"match ip address {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/ip/address/prefix-list":"match ip address prefix-list {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/ip/nexthop/access-list":"match ip next-hop {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/ip/nexthop/prefix-list":"match ip next-hop prefix-list {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/ip/source-protocol":"match source-protocol {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/ipv6/address/access-list":"match ipv6 address {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/ipv6/address/prefix-list":"match ipv6 address prefix-list {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/ipv6/source-protocol":"match source-protocol $if|ospf6,{@text}|{@text}==ospfv3$", | ||
"/policy/route/route-map/@element/rule/@element/match/local-preference":"match local-preference {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/metric":"match metric {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/origin":"match origin {@text}", | ||
"/policy/route/route-map/@element/rule/@element/match/tag":"match tag {@text}", | ||
|
@@ -37,6 +36,7 @@ | |
"/policy/route/route-map/@element/rule/@element/set/ip-next-hop":"set ip next-hop {/@text}", | ||
"/policy/route/route-map/@element/rule/@element/set/weight":"set weight {/@text}", | ||
"/policy/route/route-map/@element/rule/@element/set/metric":"set metric {/@text}", | ||
"/policy/route/route-map/@element/rule/@element/set/src":"set src {/@text}", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please could you explain the reason for this change, I don't see a There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nevermind, I see your danos/vyatta-protocols-common#1 PR now! :-) |
||
"/policy/route/prefix-list/@element/rule/@element":"ip prefix-list {/../../tagnode/@text} seq {/tagnode/@text} {/action/@text} {/prefix/@text} [ge {/ge/@text},] [le {/le/@text},]", | ||
"/policy/route/prefix-list/@element/description":"ip prefix-list {/../tagnode/@text} description {/@text}", | ||
"/policy/route/prefix-list6/@element/rule/@element":"ipv6 prefix-list {/../../tagnode/@text} seq {/tagnode/@text} {/action/@text} {/prefix/@text} [ge {/ge/@text},] [le {/le/@text},]", | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -216,6 +216,25 @@ module vyatta-protocols-frr-bgp-v1 { | |
} | ||
} | ||
|
||
grouping parameters-multiple-paths { | ||
container multiple-paths { | ||
description "Forward packets over multiple paths"; | ||
configd:help "Forward packets over multiple paths"; | ||
leaf ebgp { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Where possible we try to expose default values in the data model. In this case you could expand the range and add a default statement on both of these leaves, for example:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You certainly can't have a default outside the range. So, even if you don't specify the default here, you need to expand the range to include the default. |
||
type uint32 { | ||
range 2..256; | ||
} | ||
configd:help "Maximum number of parallel eBGP paths to consider, default is 1."; | ||
} | ||
leaf ibgp { | ||
type uint32 { | ||
range 2..256; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same as above - model default and extend range to include it. |
||
} | ||
configd:help "Maximum number of parallel iBGP paths to consider, default is 1."; | ||
} | ||
} | ||
} | ||
|
||
grouping network-ipv4 { | ||
list network { | ||
description "BGP network"; | ||
|
@@ -1045,7 +1064,9 @@ module vyatta-protocols-frr-bgp-v1 { | |
- unsuppress-map | ||
- capability orf prefix-list (both|receive|send)) | ||
- route-server-client | ||
- nexthop-self*/ | ||
- nexthop-self | ||
- addpath-tx-all-paths | ||
- addpath-tx-bestpath-per-AS*/ | ||
/* | ||
This grouping contains relative path to nodes outside the group scope. | ||
It can only be used at a specific config level matching the relative path. | ||
|
@@ -1207,6 +1228,18 @@ module vyatta-protocols-frr-bgp-v1 { | |
type empty; | ||
configd:help "Peer-group as route server client"; | ||
} | ||
|
||
leaf addpath-tx-all-paths { | ||
description "Advertise all paths to this peer-group"; | ||
type empty; | ||
configd:help "Advertise all paths to this peer-group"; | ||
} | ||
|
||
leaf addpath-tx-bestpath-per-AS { | ||
description "Advertise the bestpath per each neighboring AS"; | ||
type empty; | ||
configd:help "Advertise the bestpath per each neighboring AS"; | ||
} | ||
} | ||
|
||
/* BGP Global parameters supported under default VRF */ | ||
|
@@ -1625,6 +1658,7 @@ module vyatta-protocols-frr-bgp-v1 { | |
configd:help "BGP parameters for the ipv4-unicast address family"; | ||
uses parameters-distance; | ||
uses parameters-dampening; | ||
uses parameters-multiple-paths; | ||
} | ||
uses ipv4-aggregate-address; | ||
uses network-ipv4; | ||
|
@@ -1640,6 +1674,7 @@ module vyatta-protocols-frr-bgp-v1 { | |
configd:help "BGP parameters for the ipv6-unicast address family"; | ||
uses parameters-distance; | ||
uses parameters-dampening; | ||
uses parameters-multiple-paths; | ||
} | ||
uses ipv6-aggregate-address; | ||
uses network-ipv6; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes are based on the work by 'gbe0' and 'dewi-morgan' in the following pull request which is missing the DCO signed-off-by statement.
Reference: DAN-25