Project

General

Profile

Actions

Bug #14477

open

ipadm cannot remove an address for a missing interface

Added by Joshua M. Clulow 5 months ago. Updated 5 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
cmd - userland programs
Start date:
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

I recently switched an OmniOS virtual machine from KVM to bhyve. In the process, this changed the apparent PCI slot of the virtual NIC, so vioif0 is no longer present and vioif1 now is.

Unfortunately I can't seem to clean up the detritus:

root@omnios0:~# dladm show-ether
LINK            PTYPE    STATE    AUTO  SPEED-DUPLEX                    PAUSE
vioif1          current  up       no    1G-f                            none
root@omnios0:~# ipadm show-if
IFNAME     STATE    CURRENT      PERSISTENT
lo0        ok       -m-v------46 ---
vioif0     disabled ------------ -46
root@omnios0:~# ipadm show-addr
ADDROBJ           TYPE     STATE        ADDR
lo0/v4            static   ok           127.0.0.1/8
lo0/v6            static   ok           ::1/128
vioif0/dhcp       dhcp     disabled     ?
root@omnios0:~# ipadm delete-addr vioif0/dhcp
ipadm: could not delete address: Object not found

Related issues

Related to illumos gate - Bug #14478: no pid provider return probe for ipadm_errno2status()New

Actions
Actions #1

Updated by Joshua M. Clulow 5 months ago

root@omnios0:~# dtrace -qFn 'pid$target::*ipadm*:entry { printf("\n"); } pid$target::*ipadm*:return { printf("%d\n", arg1); }' -c 'ipadm delete-addr vioif0/dhcp'
ipadm: could not delete address: Object not found
CPU FUNCTION
  2  -> ipadm_open
  2  <- ipadm_open                            0

  2  -> ipadm_delete_addr
  2    -> ipadm_check_auth
  2    <- ipadm_check_auth                    1
  2    -> i_ipadm_get_addrobj
  2      -> ipadm_door_call
  2      <- ipadm_door_call                   2
  2      -> ipadm_errno2status
  2    <- i_ipadm_get_addrobj               23
  2  <- ipadm_delete_addr                   23

  2  -> ipadm_status2str
  2  <- ipadm_status2str                    4277172927

  2  -> ipadm_destroy_addrobj
  2  <- ipadm_destroy_addrobj               0

  2  -> ipadm_close
  2  <- ipadm_close                         134762368

(NOTE: Because of #14478 we're missing the return from i_ipadm_get_addrobj(), so I've edited the indentation to reflect the correct structure)

Actions #2

Updated by Joshua M. Clulow 5 months ago

  • Related to Bug #14478: no pid provider return probe for ipadm_errno2status() added
Actions

Also available in: Atom PDF