> Author: hrs
> Date: Wed Oct  1 21:37:32 2014
> New Revision: 272386
> URL: https://svnweb.freebsd.org/changeset/base/272386
> 
> Log:
>   Virtualize lagg(4) cloner.  This change fixes a panic when tearing down
>   if_lagg(4) interfaces which were cloned in a vnet jail.

Hi!

I believe this change needs at least an entry in UPDATING, because an
ifconfig(8) binary built before this commit fails to change laggproto on
a kernel including this commit.

The error is the following:
    # ifconfig lagg0 laggproto failover
    ifconfig: SIOCSLAGG: Invalid argument

By quickly looking at the code, I would say that the culprit is the
change in size of the "struct lag_reqall". The new "ra_opts" field in
"struct lagg_reqall" isn't initialized in the incompatible ifconfig(8)
binary. This could be considered invalid options, leading to "error =
EINVAL" in if_lagg.c:1301.

Another non-critical regression is that this ifconfig(8) binary doesn't
display the laggproto and laggport lines. I mean those lines:
    # ifconfig lagg0
    lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> (...)
        (...)
        laggproto failover lagghash l2,l3,l4
        laggport: wlan0 flags=0<>
        laggport: re0 flags=5<MASTER,ACTIVE>

Beside an UPDATING entry, how about a previously released world with
this new kernel? Isn't this configuration supposed to work?

-- 
Jean-Sébastien Pédron

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to