allowed-ips.ksh revision e03914f9208eb53e6c8a6d5a436953ad983642b0
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi# This file and its contents are supplied under the terms of the
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi# Common Development and Distribution License ("CDDL"), version 1.0.
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi# You may only use this file in accordance with the terms of version
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi# 1.0 of the CDDL.
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi# A full copy of the text of the CDDL should have accompanied this
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi# source. A copy of the CDDL is also available via the Internet at
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi# Copyright (c) 2014, Joyent, Inc.
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi dladm create-etherstub $ai_stub || fatal "failed to create etherstub"
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi dladm create-vnic -l $ai_stub $ai_vnic || fatal "failed to create vnic"
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi dladm delete-vnic $ai_vnic || fatal "failed to remove vnic"
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi dladm delete-etherstub $ai_stub || fatal "failed to remove etherstub"
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi dladm set-linkprop -p allowed-ips="$@" $ai_vnic 2>/dev/null
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi runtest $* || fatal "allowed-ips=$* failed, expected success\n"
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi runtest $* && fatal "allowed-ips=$* succeeded, expected failure\n"
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi# Run through all IPv6 prefixes for validity with a token prefix
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi# Run through all of the v6 prefixes except /128 and ensure that they fail for
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi# a given IPv6 address because the other bits are set.
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi# Basic IPv4 single and multiple IPs
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchiepass 10.167.169.23,11.167.169.23,12.167.169.23
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi# Basic IPv4 prefixes
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchiepass 10.99.99.0/24,10.88.88.0/24,10.77.7.0/24
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi# Basic IPv6 Addresss
e03914f9208eb53e6c8a6d5a436953ad983642b0Robert Mustacchi# IPv6 Prefixes