3 [ -n "$INCLUDE_ONLY" ] ||
{
9 proto_cni_init_config
() {
13 teardown_on_l3_link_down
=1
15 proto_config_add_string
"device:device"
21 local device ipaddr netmask broadcast route routemask routesrc
23 json_get_var device device
25 ipaddr
=$
(ip
-4 -o a show
"$device" |
awk '{ print $4 }' | cut
-d '/' -f1)
26 netmask
=$
(ip
-4 -o a show
"$device" |
awk '{ print $4 }' | cut
-d '/' -f2)
27 broadcast
=$
(ip
-4 -o a show
"$device" |
awk '{ print $6 }')
28 route
=$
(ip
-4 -o r show dev
"$device" |
awk '{ print $1 }' | cut
-d '/' -f1)
29 routemask
=$
(ip
-4 -o r show dev
"$device" |
awk '{ print $1 }' | cut
-d '/' -f2)
30 routesrc
=$
(ip
-4 -o r show dev
"$device" |
awk '{ print $7 }')
33 echo "cni network $cfg does not have ip address"
34 proto_notify_error
"$cfg" NO_IPADDRESS
38 proto_init_update
"$device" 1
39 [ -n "$ipaddr" ] && proto_add_ipv4_address
"$ipaddr" "$netmask" "$broadcast" ""
40 [ -n "$route" ] && proto_add_ipv4_route
"$route" "$routemask" "" "$routesrc" ""
41 proto_send_update
"$cfg"
44 proto_cni_teardown
() {
46 #proto_set_available "$cfg" 0
50 [ -n "$INCLUDE_ONLY" ] ||
{