X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=3rdparty%2Fmodules%2Fneutron%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fvalidate_vxlan_udp_port.rb;fp=3rdparty%2Fmodules%2Fneutron%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fvalidate_vxlan_udp_port.rb;h=25b711032d91bb1c7f45aba12770940bcacf10a6;hb=4631045ebb77ee8622f6fa09277a50c372bcc02e;hp=0000000000000000000000000000000000000000;hpb=3d4dc4fd9e59bd0e07646c99f6b356c7d9d859aa;p=dsa-puppet.git diff --git a/3rdparty/modules/neutron/lib/puppet/parser/functions/validate_vxlan_udp_port.rb b/3rdparty/modules/neutron/lib/puppet/parser/functions/validate_vxlan_udp_port.rb new file mode 100644 index 00000000..25b71103 --- /dev/null +++ b/3rdparty/modules/neutron/lib/puppet/parser/functions/validate_vxlan_udp_port.rb @@ -0,0 +1,32 @@ +# +# Copyright (C) 2013 eNovance SAS +# +# Author: Emilien Macchi +# Martin Magr +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# Advanced validation for VXLAN UDP port configuration +# + +module Puppet::Parser::Functions + newfunction(:validate_vxlan_udp_port) do |args| + value = Integer(args[0]) + + # check if port is either default value or one of the private ports + # according to http://tools.ietf.org/html/rfc6056 + if value != 4789 or (49151 >= value and value > 65535) + raise Puppet::Error, "vxlan udp port is invalid." + end + end +end