bab3cbf0c8
Fix the logic in validate_vxlan_udp_port. According to RFC6056 [1]: * The Well-Known Ports, 0 through 1023. * The Registered Ports, 1024 through 49151 * The Dynamic and/or Private Ports, 49152 through 65535 And RFC7348 [2]: A well-known UDP port (4789) has been assigned by the IANA in the Service Name and Transport Protocol Port Number Registry for VXLAN. So this patch makes sure we either use 4789 or a dynamic port. [1] http://tools.ietf.org/html/rfc6056 [2] https://tools.ietf.org/html/rfc7348 Change-Id: Id96e675f9cb58bb50ae29147c5b470224b15b4d2
33 lines
1.1 KiB
Ruby
33 lines
1.1 KiB
Ruby
#
|
|
# Copyright (C) 2013 eNovance SAS <licensing@enovance.com>
|
|
#
|
|
# Author: Emilien Macchi <emilien.macchi@enovance.com>
|
|
# Martin Magr <mmagr@redhat.com>
|
|
#
|
|
# 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 and (49151 >= value or value > 65535)
|
|
raise Puppet::Error, "vxlan udp port is invalid."
|
|
end
|
|
end
|
|
end
|