@@ -25,7 +25,13 @@ module openconfig-defined-sets {
2525 for example, in network access control lists (i.e., filters,
2626 rules, etc.) in the matching fields." ;
2727
28- oc-ext:openconfig-version "1.0.0" ;
28+ oc-ext:openconfig-version "1.1.0" ;
29+
30+ revision "2025-05-30" {
31+ description
32+ "Add support for exclude-prefix and exclude-port" ;
33+ reference "1.1.0" ;
34+ }
2935
3036 revision "2022-12-14" {
3137 description
@@ -55,7 +61,20 @@ module openconfig-defined-sets {
5561 type oc-inet:ipv4-prefix;
5662 description
5763 "A user defined list of IPv4 prefixes to be used in match
58- conditions. Each entry is a IPv4 + mask combination." ;
64+ conditions. Each entry is an IPv4 + mask combination. Addresses
65+ within these prefixes will be considered for matching,
66+ unless they also fall within any of the 'exclude-prefix' entries." ;
67+ }
68+
69+ leaf-list exclude-prefix {
70+ type oc-inet:ipv4-prefix;
71+ description
72+ "A user-defined list of IPv4 prefixes to be excluded from the
73+ 'prefix' list. Each entry is an IPv4 address with a mask.
74+ Let P be the union of all addresses in the 'prefix' list,
75+ and E be the union of all addresses in the 'exclude-prefix' list.
76+ The effective match set is ( P - E ), i.e., addresses in 'prefix'
77+ that are not in 'exclude-prefix'." ;
5978 }
6079 }
6180
@@ -78,7 +97,20 @@ module openconfig-defined-sets {
7897 type oc-inet:ipv6-prefix;
7998 description
8099 "A user defined list of IPv6 prefixes to be used in match
81- conditions. Each entry is a IPv6 + mask combination." ;
100+ conditions. Each entry is an IPv6 + mask combination. Addresses
101+ within these prefixes will be considered for matching,
102+ unless they also fall within any of the 'exclude-prefix' entries." ;
103+ }
104+
105+ leaf-list exclude-prefix {
106+ type oc-inet:ipv6-prefix;
107+ description
108+ "A user-defined list of IPv6 prefixes to be excluded from the
109+ 'prefix' list. Each entry is an IPv6 address with a mask.
110+ Let P be the union of all addresses in the 'prefix' list,
111+ and E be the union of all addresses in the 'exclude-prefix' list.
112+ The effective match set is ( P - E ), i.e., addresses in 'prefix'
113+ that are not in 'exclude-prefix'." ;
82114 }
83115 }
84116
@@ -101,8 +133,19 @@ module openconfig-defined-sets {
101133 leaf-list port {
102134 type oc-pkt-match-types:port-num-range;
103135 description
104- "A user defined set of ports to be
105- used in the match conditions." ;
136+ "A user defined set of ports to be used in the match conditions.
137+ Ports listed here will be considered for matching, unless they
138+ are also included in 'exclude-port'." ;
139+ }
140+
141+ leaf-list exclude-port {
142+ type oc-pkt-match-types:port-num-range;
143+ description
144+ "A user-defined list of ports to be excluded from the 'port'
145+ list. Let P be the union of the ports in the 'port' list,
146+ and E be the union of ports in the 'exclude-port' list.
147+ The effective match set is ( P - E ) i.e., ports in 'port'
148+ that are not in 'exclude-port'." ;
106149 }
107150 }
108151
0 commit comments