You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replace routing policy 'set.community.delete' with 'delete.community' (#2842)
The 'set.community.delete: True' is a ridiculous way to say 'delete the
community'. This commit resolves#2244 and implement the more logical way
of deleting communities in routing policies:
* It defines the new 'delete.community' dictionary that can contain
lists of community or community list name
* It automatically converts old-style routing policies into the new
format (while generating a warning)
* All device definitions and configuration templates have been updated
to use the new attributes
* Add missing features for the "netlab show module" printout
Bonus:
* 'delete.community.list' is now implemented for Junos
Copy file name to clipboardExpand all lines: docs/module/routing.md
+8-5Lines changed: 8 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,6 +57,7 @@ Routing policies are lists of instructions that can **match** route parameters a
57
57
***sequence**: Statement sequence number. When not specified, *netlab* sets a routing policy entry's **sequence** number to ten times its list position.
58
58
***match**: Conditions that must match for the routing policy entry to take effect. Entries without a **match** parameter match all routes
59
59
***set**: Parameters that are set on matched routes.
60
+
***delete**: Parameters that are deleted on matched routes.
60
61
61
62
You can match these route parameters in a _netlab_ routing policy:
62
63
@@ -70,16 +71,18 @@ You can set these route parameters in a _netlab_ routing policy:
***community**: A dictionary that can be used to set, add, or remove standard, large, or extended communities.
74
+
***community**: A dictionary that can be used to setor add standard, large, or extended communities.
74
75
75
76
The **set.community** dictionary has these parameters:
76
77
77
78
***standard**: Standard BGP communities to set
78
79
***large**: Large BGP communities to set
79
80
***extended**: Extended BGP communities to set. The value is passed to the network device as-is (the same value might not work on all devices).
80
81
***append**: Add communities to existing BGP communities
81
-
***delete**: Remove specified communities from the BGP route
82
-
***delete_list**: Remove communities matching the specified community list from the BGP route. Cannot be used with any other **set.community** parameters.
82
+
83
+
You can delete these route parameters:
84
+
85
+
***community**: A dictionary that can be used to delete standard, large, or extended communities. The dictionary can also contain **list** element to delete all communities matching a BGP [community filter](generic-routing-community).
83
86
84
87
Routing policies are specified in the global- or node-level **routing.policy** dictionary (see [](routing-object-import) and [](routing-object-merge) for more details).
85
88
@@ -156,12 +159,12 @@ Apart from setting BGP communities on BGP routes, these devices can execute addi
156
159
| Cisco IOS/XE[^18v]| ✅ | ✅❗️| ✅ |
157
160
| Cumulus Linux | ✅ | ❌ | ❌ |
158
161
| Dell OS10 | ✅ | ❌ | ❌ |
159
-
| Junos | ✅ | ✅ |❌ |
162
+
| Junos | ✅ | ✅ |✅|
160
163
| FRR | ✅ | ✅❗️ | ✅ |
161
164
| VyOS | ✅ | ❌ | ❌ |
162
165
163
166
**Notes:**
164
-
*_netlab_ is creating an internal BGP community list on FRR and Cisco IOS/XE to delete BGP communities specified with the **set.community.delete** routing policy parameter. This approach is currently limited to standard BGP communities.
167
+
*_netlab_ is creating an internal BGP community list on FRR and Cisco IOS/XE to delete BGP communities specified with the **delete.community** routing policy parameter. This approach is currently limited to standard BGP communities.
0 commit comments