example-newco-acl.yang | example-newco-acl-formatted.yang | |||
---|---|---|---|---|
module example-newco-acl { | module example-newco-acl { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "http://example.com/ns/example-newco-acl"; | namespace "http://example.com/ns/example-newco-acl"; | |||
prefix example-newco-acl; | prefix example-newco-acl; | |||
import ietf-access-control-list { | import ietf-access-control-list { | |||
prefix "acl"; | prefix acl; | |||
} | } | |||
organization | organization | |||
"Newco model group."; | "Newco model group."; | |||
contact | contact | |||
"abc@newco.com"; | "abc@newco.com"; | |||
description | description | |||
"This YANG module augments the IETF ACL YANG module."; | "This YANG module augments the IETF ACL YANG module."; | |||
revision 2019-01-28 { | revision 2019-01-28 { | |||
description | description | |||
"Creating NewCo proprietary extensions to the ietf-acl | "Creating NewCo proprietary extensions to the ietf-acl | |||
model."; | model."; | |||
reference | reference | |||
"RFC 8519: YANG Data Model for Network Access Control | "RFC 8519: YANG Data Model for Network Access Control | |||
Lists (ACLs)."; | Lists (ACLs)."; | |||
} | } | |||
augment "/acl:acls/acl:acl/" + | augment "/acl:acls/acl:acl/" | |||
"acl:aces/acl:ace/" + | + "acl:aces/acl:ace/" | |||
"acl:matches" { | + "acl:matches" { | |||
description "Newco proprietary simple filter matches."; | description | |||
"Newco proprietary simple filter matches."; | ||||
choice protocol-payload-choice { | choice protocol-payload-choice { | |||
description "Newco proprietary payload match condition."; | description | |||
"Newco proprietary payload match condition."; | ||||
list protocol-payload { | list protocol-payload { | |||
key value-keyword; | key "value-keyword"; | |||
ordered-by user; | ordered-by user; | |||
description "Match protocol payload."; | description | |||
"Match protocol payload."; | ||||
uses match-simple-payload-protocol-value; | uses match-simple-payload-protocol-value; | |||
} | } | |||
} | } | |||
choice metadata { | choice metadata { | |||
description "Newco proprietary interface match condition."; | description | |||
"Newco proprietary interface match condition."; | ||||
leaf packet-length { | leaf packet-length { | |||
type uint16; | type uint16; | |||
description "Match on packet length."; | description | |||
"Match on packet length."; | ||||
} | } | |||
} | } | |||
} | } | |||
augment "/acl:acls/acl:acl/" + | augment "/acl:acls/acl:acl/" | |||
"acl:aces/acl:ace/" + | + "acl:aces/acl:ace/" | |||
"acl:actions" { | + "acl:actions" { | |||
description "Newco proprietary simple filter actions."; | description | |||
"Newco proprietary simple filter actions."; | ||||
choice action { | choice action { | |||
description "Newco proprietary action choices."; | description | |||
"Newco proprietary action choices."; | ||||
case count { | case count { | |||
description "Count the packet in the named counter."; | description | |||
"Count the packet in the named counter."; | ||||
leaf count { | leaf count { | |||
type uint32; | type uint32; | |||
description "Count."; | description | |||
"Count."; | ||||
} | } | |||
} | } | |||
case policer { | case policer { | |||
description "Name of policer used to rate-limit traffic."; | description | |||
"Name of policer used to rate-limit traffic."; | ||||
leaf policer { | leaf policer { | |||
type string; | type string; | |||
description "Name of the policer."; | description | |||
"Name of the policer."; | ||||
} | } | |||
} | } | |||
case hierarchical-policer { | case hierarchical-policer { | |||
leaf hierarchical-policer { | leaf hierarchical-policer { | |||
type string; | type string; | |||
description | description | |||
"Name of the hierarchical policer."; | "Name of the hierarchical policer."; | |||
} | } | |||
description | description | |||
"Name of the hierarchical policer used to | "Name of the hierarchical policer used to | |||
rate-limit traffic."; | rate-limit traffic."; | |||
} | } | |||
} | } | |||
} | } | |||
augment "/acl:acls/acl:acl" + | augment "/acl:acls/acl:acl" | |||
"/acl:aces/acl:ace/" + | + "/acl:aces/acl:ace/" | |||
"acl:actions" { | + "acl:actions" { | |||
leaf default-action { | leaf default-action { | |||
type identityref { | type identityref { | |||
base acl:forwarding-action; | base acl:forwarding-action; | |||
} | } | |||
default acl:drop; | default "acl:drop"; | |||
description | description | |||
"Actions that occur if no ACE is matched."; | "Actions that occur if no ACE is matched."; | |||
} | } | |||
description | description | |||
"Newco proprietary default action."; | "Newco proprietary default action."; | |||
} | } | |||
grouping match-simple-payload-protocol-value { | grouping match-simple-payload-protocol-value { | |||
description "Newco proprietary payload"; | description | |||
"Newco proprietary payload"; | ||||
leaf value-keyword { | leaf value-keyword { | |||
type enumeration { | type enumeration { | |||
enum icmp { | enum icmp { | |||
description "Internet Control Message Protocol."; | description | |||
"Internet Control Message Protocol."; | ||||
} | } | |||
enum icmp6 { | enum icmp6 { | |||
description | description | |||
"Internet Control Message Protocol | "Internet Control Message Protocol | |||
Version 6."; | Version 6."; | |||
} | } | |||
enum range { | enum range { | |||
description "Range of values."; | description | |||
"Range of values."; | ||||
} | } | |||
} | } | |||
description "(null)."; | description | |||
"(null)."; | ||||
} | } | |||
} | } | |||
} | } | |||
End of changes. 25 change blocks. | ||||
33 lines changed or deleted | 42 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |