/* * Copyright (c) 2016 Brocade Communications Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ module neutron-sfc-flow-classifier { yang-version 1; namespace "urn:opendaylight:neutron-sfc-flow-classifier"; prefix neutron-sfc-flow-classifier; import ietf-yang-types { prefix "yang"; } import ietf-inet-types { prefix "inet"; revision-date 2010-09-24; } import neutron-attrs { prefix "attrs"; } import neutron-constants { prefix "constants"; } organization "OpenDaylight Neutron Northbound Project"; contact "Anil Vishnoi "; description "This YANG module defines Openstack Neutron SFC Flow Classfier Models.These models are based on the API's exposed by the OpenStack Neutron Networking SFC (networking-sfc) project. List of classifier APIs are listed at following URL (http://docs.openstack.org/developer/networking-sfc/api.html)"; revision "2016-05-11" { description "OpenStack Neutron SFC Flow Classfier Models - Version 1."; } grouping flow-classifier-match-attributes { leaf ethertype { description " Classify flows based on the provided ethertype.Currently OpenStack SFC only supports IPv4 and IPv6."; type identityref { base "constants:ethertype-base"; } } leaf protocol { description " Classify flows based on the provided protocol.Currently OpenStack SFC only supports TCP,UDP and ICMP"; type identityref { base "constants:protocol-base"; } } leaf source-port-range-min { description "Minimum source protocol port"; type uint16 { range "0 .. 65535"; } } leaf source-port-range-max { description "Maximum source protocol port."; type uint16 { range "0 .. 65535"; } } leaf destination-port-range-min { description "Minimum destination protocol port."; type uint16 { range "0 .. 65535"; } } leaf destination-port-range-max { description "Maximum destination protocol port."; type uint16 { range "0 .. 65535"; } } leaf source-ip-prefix { description "Source IPv4 or IPv6 prefix."; type inet:ip-prefix; } leaf destination-ip-prefix { description "Destination IPv4 or IPv6 prefix."; type inet:ip-prefix; } leaf logical-source-port { description "Neutron source port."; type yang:uuid; } leaf logical-destination-port { description "Neutron destination port."; type yang:uuid; } list l7-parameter { description "List of Key-Value pair of L7 matching attributes"; key "match-parameter"; leaf match-parameter { description "Name of the L7 parameter"; type string; } leaf match-parameter-value { description "Value of the L7 parameter"; type string; } } } grouping sfc-flow-classifiers-attributes { container sfc-flow-classifiers { description "Contains list of Service Function Chaining flow classifiers"; list sfc-flow-classifier { description " Defines high level model of SFC Flow Classifier. This models is based on the flow classifier APIs defined by OpenStack Neutron networking-sfc project."; key "uuid"; uses attrs:base-attributes; uses flow-classifier-match-attributes; } } } }