mirror of
https://github.com/xcat2/xcat-core.git
synced 2025-08-25 12:40:21 +00:00
implementation interface create_vlan_interface_nmcli
This commit is contained in:
@@ -1142,6 +1142,7 @@ function create_vlan_interface {
|
||||
local _netmask=""
|
||||
local _mtu=""
|
||||
local _bridge=""
|
||||
local use_nmcli=""
|
||||
# in case it's on top of bond, we need to migrate ip from its
|
||||
# member vlan ports.
|
||||
local slave_ports=""
|
||||
@@ -1156,7 +1157,8 @@ function create_vlan_interface {
|
||||
[ "$key" = "_netmask" ] || \
|
||||
[ "$key" = "_mtu" ] || \
|
||||
[ "$key" = "_bridge" ] || \
|
||||
[ "$key" = "vlanid" ]; then
|
||||
[ "$key" = "vlanid" ] || \
|
||||
[ "$key" = "use_nmcli" ]; then
|
||||
eval "$1"
|
||||
fi
|
||||
shift
|
||||
@@ -1192,8 +1194,13 @@ function create_vlan_interface {
|
||||
do
|
||||
if [ $i -eq 0 ]; then
|
||||
# alternative cmd to "vconfig add $ifname $vlanid"
|
||||
$ip link add link $ifname name $ifname.$vlanid type vlan id $(( 10#$vlanid ))
|
||||
log_info "$ip link add link $ifname name $ifname.$vlanid type vlan id $(( 10#$vlanid ))"
|
||||
if [ ! -z "$use_nmcli" ]; then
|
||||
cmd="nmcli con add type vlan con-name $ifname.$vlanid dev $ifname id $(( 10#$vlanid ))"
|
||||
else
|
||||
cmd="$ip link add link $ifname name $ifname.$vlanid type vlan id $(( 10#$vlanid ))"
|
||||
fi
|
||||
$cmd
|
||||
log_info "$cmd"
|
||||
fi
|
||||
$sleep 0.5
|
||||
((i+=1))
|
||||
@@ -1205,6 +1212,10 @@ function create_vlan_interface {
|
||||
fi
|
||||
|
||||
# setup interface
|
||||
if [ ! -z "$use_nmcli" ]; then
|
||||
[ -n "$_mtu" ] && nmcli connection modify $ifname.$vlanid 802.mtu $_mtu
|
||||
return 0
|
||||
fi
|
||||
[ -n "$_mtu" ] && $ip link set $ifname.$vlanid mtu $_mtu
|
||||
$ip link set $ifname.$vlanid up
|
||||
log_info "$ip link set $ifname.$vlanid up"
|
||||
@@ -1678,12 +1689,13 @@ function get_first_addr_ipv4 {
|
||||
#
|
||||
# create vlan using nmcli
|
||||
#
|
||||
# input : ifname=<ifname> slave_ports=<ports> xcatnet=<xcatnetwork> _ipaddr=<ip> _netmask=<netmask> _mtu=<mtu> _bridge=<bridge_name> vlanid=<vlanid>
|
||||
# input : ifname=<ifname> vlanid=<vlanid>
|
||||
# return : 0 success
|
||||
#
|
||||
###############################################################################
|
||||
function create_vlan_interface_nmcli {
|
||||
log_info "create_vlan_interface_nmcli $@"
|
||||
create_vlan_interface $@ use_nmcli=1
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
|
Reference in New Issue
Block a user