
{#
Copyright 2017-present Open Networking Foundation

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.
#}


#!/bin/sh -e

# Set up VLAN tagging interface ("simulated OLT")
ip link add link {{ olt_if }} name {{ olt_if }}.{{ s_tag }} type vlan id {{ s_tag }}
ip link add link {{ olt_if }}.{{ s_tag }} name {{ olt_if }}.{{ s_tag }}.{{ c_tag }} type vlan id {{ c_tag }}
ifconfig {{ olt_if }} up
ifconfig {{ olt_if }}.{{ s_tag }} up
ifconfig {{ olt_if }}.{{ s_tag }}.{{ c_tag }} up

# Get IP address from vSG
dhclient {{ olt_if }}.{{ s_tag }}.{{ c_tag }}

exit 0
