[OmniOS-discuss] ipadm hangs on interface creation
Stephan Budach
stephan.budach at JVM.DE
Wed Dec 10 19:07:47 UTC 2014
Am 10.12.14 um 17:38 schrieb Stephan Budach:
> Am 10.12.14 um 17:20 schrieb Dan McDonald:
>>> On Dec 10, 2014, at 11:12 AM, Stephan Budach <stephan.budach at jvm.de>
>>> wrote:
>>>
>>> Hi Dan,
>>>
>>> I actually don't know the term "incantation" yet, but I assume, that
>>> you wanted to know the release of OmniOS I am running?
>> I meant what exact command-line arguments you typed for ipadm(1M).
>> But that's okay, because it's good to know the other things you're
>> about to show me.
>>
>>> What is really funny, is that running pstack against the ipadm
>>> process, somehow brought things back in line:
>>>
>>> root at nfsvmpool01:~# pkg info entire
>>> Name: entire
>>> Summary: Incorporation to constrain core system packages to
>>> same build
>>> Description: This package constrains core system package versions
>>> to the same
>>> build and provides a minimal set of additional
>>> packages.
>>> State: Installed
>>> Publisher: omnios
>>> Version: 11
>>> Build Release: 5.11
>>> Branch: 0.151006
>>> Packaging Date: Mon Oct 27 19:15:00 2014
>>> Size: 0.00 B
>>> FMRI: pkg://omnios/entire@11,5.11-0.151006:20141027T191500Z
>>>
>>> I was running ipadm create-if ixgbe3 in another session when I ran
>>> pstack as suggested:
>>>
>>> root at nfsvmpool01:~# pstack `pgrep ipadm`
>>> 12397: ipadm create-if ixgbe3
>>> fef07723 open (8047190, 2, fec9404c)
>>> feef24f8 open (8047190, 2, fec9404c, 8068db8, 11, feffb0a4) + 105
>>> fec935f8 i_dlpi_open (8068db8, 80475dc, 10, 1, 8047f00, 5) + ed
>>> fec93768 i_dlpi_style1_open (8068db0, 804761c, 20, fec9386d, 3, 3) + 2a
>>> fec939a8 dlpi_open (8047f00, 8047cd4, 10, fedf1541) + 149
>>> fedf17fb i_ipadm_plumb_if (8068968, 8047f00, 2, 3) + 2cb
>>> fedf0ed4 i_ipadm_create_if (8068968, 8047f00, 2, 3, 0, 3) + 9a
>>> fedf0fc2 ipadm_create_if (8068968, 8047f00, 0, 3) + e3
>>> 0805553e do_create_if (2) + 8f
>>> 08052e72 main (80555ca, feffb0a4, 8047e30, 80525c7, 3, 8047e3c)
>>> + df
>>> 080525c7 _start (3, 8047ef0, 8047ef6, 8047f00, 0, 8047f07) + 83
>>>
>>> ipadm returned and created the interface, just as if nothing ever
>>> happened. Afterwards I was able to create and delete interfaces
>>> without any issue on the ixgbe adaptors.
>> That's VERY odd, albeit with pleasant results. I wouldn't think
>> pstack would unblock something like what you showed me. You're
>> running 006 (long-term support), but I'm not seeing any major changes
>> in the plumbing of interfaces between then and now.
> Yes, it is… ;)
>>
>> You mentioned a desire to not reboot your system. Did you plug in
>> these ixgbes while booted (i.e. hotplugging)? Or were they always
>> there, and you just hadn't configured them until now?
> The two cards had been in the system right from the start and I
> already configured one port (ixgbe0) to connect to a 10GbE port on our
> 6509, which went without issues. I wanted to resolve this issue
> without rebooting, since rebooting would have killed 53 VMs that are
> residing on my NFS export that is running over ixgbe0.
>> It seems like you tickled a race condition or some other odd
>> combination of circumstances that inspecting the ipadm(1M) process
>> jostled free. I don't have any ixgbe handy at the moment, but had I,
>> I'd like to know if this is a reproducible problem. The only theory
>> I can think of is that something weird happened while ipadm was
>> communicating with ipmgmtd, and inspecting the process with pstack
>> allowed a context switch to occur.
> I can maybe help with that as well… I tried to set the MTU to the
> maximum, that the driver would accept and I ended up with a mtu of
> 15500 (what a odd number anyway) which I set using dladm on ixgbe3.
> When i tried to create the interface using ipadm, that was the moment,
> when things went quirky. Although I trimmed the mtu down to a
> reasonable 9216 ipadm wouldn't create any longer and would hang at
> creating interfaces on any of the remaining 3 ports of my T540-X2's.
>>
>> Thank you, and while it's nice to see things working, I'm sorry I
>> don't have a better explanation about what happened, or the ability
>> to immediately reproduce this bug.
>>
>> Dan
>>
> Ha ha, no prob - you already provided a great deal of help!
>
> Thanks a lot,
> budy
Ahh… here we go again…
root at nfsvmpool01:~# dladm show-linkprop -p mtu
LINK PROPERTY PERM VALUE DEFAULT POSSIBLE
igb0 mtu rw 1500 1500 60-9000
igb1 mtu rw 1500 1500 60-9000
igb2 mtu rw 1500 1500 60-9000
igb3 mtu rw 1500 1500 60-9000
ixgbe2 mtu rw 1500 1500 1500-15500
ixgbe0 mtu rw 1500 1500 1500-15500
root at nfsvmpool01:~# pstack `pgrep dladm`
23948: dladm show-linkprop -p mtu
What I did was to remove the ixgbe3 interface and try to set the mtu to
9216 like this:
dladm set-linkprop -p mtu=9216 ixgbe3
I seem only to be able to kill dladm by killing it using kill -9 <PID>
Cheers,
budy
More information about the OmniOS-discuss
mailing list