[OpenIndiana-discuss] Same networking with varied NICs

Jim Klimov jimklimov at cos.ru
Sat Oct 20 11:38:12 UTC 2012

As I wrote earlier, I am trying to match-and-use varied
drivers for my computer's NIC, one at a time, transparently
to other users of the system (including vnics over this link).

FWIW, I tried to solve the problem differently than discussed
before: now I tried to make an aggregation from instances of
the different drivers. VNICs over the aggregation do seem to
work, as well as "normal" communications from the GZ to internet,
though the intermittent hangs do still appear with both stock
rge and gani drivers for the builtin Realtek 8168/8111 GbE NIC.

The problem is that the aggregation can only be defined over
existing interfaces (also if directly hacking into the config
file /etc/dladm/datalink.conf), so basically I can't predefine
an "aggr0" over "rge0 + gani0 + e1000g0" and have it work with
whatever driver I currently have loaded. If I mention a driver
which is not present at the moment (i.e. "rge0" while "gani" is
loaded, or "e1000g0" while in physical hardware boot) the aggr0
link is not spawned at all.

I looked at IPMP, but it seems too unwieldy for the laptop case
(each component of an ipmp group needs its own IP and a known
external node to test against).

Can the aggregations be forced to accept missing devices and
work with those currently available? If that's not currently
possible, does it seem like a good RFE (i.e. hardware can break
so upon a reboot a server's NIC really can go missing - would
be bad to lose a whole aggr because of that)?

Also, config changes made with dladm program take their place
immediately, however hacks into its config file require a reboot.
How can I make the system re-read the /etc/dladm/datalink.conf
file and apply manually changed settings? I tried to run
"svcadm restart datalink-management" - did not help...

2012-10-01 14:02, Jim Klimov wrote:
> Hello all,
>    I wondered what is a Crossbow+VanityNaming way of
> doing some things I've done some time ago with static
> config files:
>    I have an installed OS image which can be booted on
> different hardware (say, a pass-through partition with
> OI that can be booted from hardware BIOS as a dual-boot
> option, as well as in a VM from another host OS on the
> box). In these different hardware environments this box
> sees varied networking gear - an rge0 in one case and
> an e1000g0 in another. I want the logical networking
> to be the same in these cases.
>    So, previously for a singular global zone I made two
> files (/etc/hostname.e1000g0 and /etc/hostname.rge0)
> with identical contents, and the system plumbed the
> one "present" NIC with the needed addressing setup.
>    Now I want to make some VNICs and configure some
> local zones with attachment to the external NIC (can
> play with both exclusive and shared IP stacks).
>    I expected that "vanity naming" can help me in this
> case by naming "the present NIC" for example "eth0",
> and my zone and VNIC attachments would go over eth0.
> Should this work?
>    Alternately, can I create an etherstub with several
> attached VNICs, including one with IP configuration
> for the global zone, and bridge it to external LAN
> via "the one present NIC" (i.e. by attaching both
> e1000g0 and rge0 instances to the etherstub)?
>    Disclaimer: I did not yet try either variant, and
> am in the process of setting up the boot of physical
> OI from a VM in another OS, but wanted to know in
> advance what to expect ;)
> Thanks,
> //Jim

More information about the OpenIndiana-discuss mailing list