augment /acl:access-lists/acl:acl/acl:access-list-entries/acl:ace/acl:actions/acl:packet-handling {
ext:augment-identifier "stateful-acl-action-augmentation";
+ when "../acl:matches/acl:ace-type = 'vpp-acl:vpp-acl'";
case stateful {
leaf permit {
type empty;
}
}
+ grouping acl-other-protocol-fields {
+ description "Used for any other protocol than TCP/UDP/ICMP/ICMPv6";
+ leaf protocol {
+ must "protocol != 1 and protocol != 6 and protocol != 17 and protocol != 58";
+ type uint8;
+ description "Internet Protocol number.";
+ }
+ }
+
grouping acl-ip-protocol-header-fields {
description
"Defines header fields for TCP/UDP or ICMP protocols";
case icmp {
uses acl-icmp-header-fields;
}
+ case icmp-v6 {
+ uses acl-icmp-header-fields;
+ }
case udp {
uses packet-fields:acl-transport-header-fields;
}
uses packet-fields:acl-transport-header-fields;
uses acl-tcp-header-fields;
}
+ case other {
+ uses acl-other-protocol-fields;
+ }
}
}
uses packet-fields:acl-ipv6-header-fields;
}
}
- leaf protocol {
- type uint8;
- description
- "Internet Protocol number.";
- }
uses acl-ip-protocol-header-fields;
}
}