All of lore.kernel.org
 help / color / mirror / Atom feed
* ifenslave recipe
@ 2016-06-16 13:40 Stath, Paul
  2016-06-16 14:00 ` Joe MacDonald
  0 siblings, 1 reply; 3+ messages in thread
From: Stath, Paul @ 2016-06-16 13:40 UTC (permalink / raw)
  To: yocto

[-- Attachment #1: Type: text/plain, Size: 1628 bytes --]

I'm looking at adding support for NIC bonding into our distribution.

Along with bonding support in the kernel, I would like to build the 'ifenslave' utility program.

In checking the OpenEmbedded Layer Index, I find recipes-support/ifenslave/ifenslave_1.1.0.bb in the meta-networking layer.

This recipe has a SRC_URI for a version of 'ifenslave.c' (ifenslace-2.6_1.1.0.org.tar.gz) which I hazard to guess is based on the ifenslave distributed with the 2.6 kernel sources.

The documentation for bonding (http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding) recommends using the 'ifenslave.c' distributed with the kernel sources.  It does indicate that sources from an earlier kernel should still work, but may not support new functionallity.

Ideally, I would like to add a .bbappend to the linux-yocto recipe in my layer that will compile and package the ifenslave program if "CONFIG_BONDING=[m|y]" is configured for the kernel build.

I'm unsure of the best way to determine if CONFIG_BONDING=[m|y].  Is is as simple as "grep '^CONFIG_BONDING=[m|y] .config"?

If bonding is enabled:

+ do_compile_append() to compile ifenslave.c sources from kernel source tree.
+ do_install_append() to stage ifenslave executable
+ Update the "PACKAGES" variable to add "ifenslave" as a package.
+ Add FILES_ifenslave variable to define the contents of the ifenslave package.

Please correct the above if I have missed something, made an invalid assumption, or am barking up the wrong tree.

--
Paul Stath
Senior Software Engineer
Axxcelera Broadband Wireless
Richmond, VA 23228







[-- Attachment #2: Type: text/html, Size: 2159 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: ifenslave recipe
  2016-06-16 13:40 ifenslave recipe Stath, Paul
@ 2016-06-16 14:00 ` Joe MacDonald
  2016-06-16 14:28   ` Stath, Paul
  0 siblings, 1 reply; 3+ messages in thread
From: Joe MacDonald @ 2016-06-16 14:00 UTC (permalink / raw)
  To: Stath, Paul; +Cc: yocto

[-- Attachment #1: Type: text/plain, Size: 3044 bytes --]

Hi Paul,

[[yocto] ifenslave recipe] On 16.06.16 (Thu 13:40) Stath, Paul wrote:

> I'm looking at adding support for NIC bonding into our distribution.
> 
> Along with bonding support in the kernel, I would like to build the 'ifenslave'
> utility program.
> 
> In checking the OpenEmbedded Layer Index, I find recipes-support/ifenslave/
> ifenslave_1.1.0.bb in the meta-networking layer.
> 
> This recipe has a SRC_URI for a version of 'ifenslave.c'
> (ifenslace-2.6_1.1.0.org.tar.gz) which I hazard to guess is based on the
> ifenslave distributed with the 2.6 kernel sources.
> 
> The documentation for bonding (http://www.linuxfoundation.org/collaborate/
> workgroups/networking/bonding) recommends using the 'ifenslave.c' distributed
> with the kernel sources.  It does indicate that sources from an earlier kernel
> should still work, but may not support new functionallity.


Actually, ifenslave has been gone from the kernel sources tree for some
time now:

commit b1098bbe1b24d5d90cff92fbd716d2ef4bed2cff
Author: Cong Wang <amwang@redhat.com>
Date:   Mon May 27 15:49:16 2013 +0000

    bonding: remove ifenslave.c from kernel source
    
    As Stephen proposed:
    Since bonding supports configuration via iproute (netlink) and sysfs, I think
    it is time to purge the old ifenslave code out of Documentation/networking
    and update the documentation.
    
    Suggested-by: Stephen Hemminger <stephen@networkplumber.org>
    Cc: Stephen Hemminger <stephen@networkplumber.org>
    Cc: Jay Vosburgh <fubar@us.ibm.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Signed-off-by: Cong Wang <amwang@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

so if anything that's probably an argument for us purging the recipe in
meta-networking too.

> Ideally, I would like to add a .bbappend to the linux-yocto recipe in my layer
> that will compile and package the ifenslave program if "CONFIG_BONDING=[m|y]"
> is configured for the kernel build.

Are you sure you need ifenslave at all?  If so, then either you can
submit and updated recipe that grabs the last ifenslave.c (~3.10) or
I'll see if I can put together a quick update to the recipe.  Otherwise
it's probably time to put ifenslave out to pasture.

-J.

> 
> I'm unsure of the best way to determine if CONFIG_BONDING=[m|y].  Is is as
> simple as "grep '^CONFIG_BONDING=[m|y] .config"?
> 
> If bonding is enabled:
> 
> + do_compile_append() to compile ifenslave.c sources from kernel source tree.
> + do_install_append() to stage ifenslave executable
> + Update the "PACKAGES" variable to add "ifenslave" as a package.
> + Add FILES_ifenslave variable to define the contents of the ifenslave package.
> 
> Please correct the above if I have missed something, made an invalid
> assumption, or am barking up the wrong tree.
> 
> --
> Paul Stath
> Senior Software Engineer
> Axxcelera Broadband Wireless
> Richmond, VA 23228
> 
> 
> 
> 
> 
> 

-- 
-Joe MacDonald.
:wq

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 484 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: ifenslave recipe
  2016-06-16 14:00 ` Joe MacDonald
@ 2016-06-16 14:28   ` Stath, Paul
  0 siblings, 0 replies; 3+ messages in thread
From: Stath, Paul @ 2016-06-16 14:28 UTC (permalink / raw)
  To: Joe MacDonald; +Cc: yocto

>> I'm looking at adding support for NIC bonding into our distribution.
>>
>> Along with bonding support in the kernel, I would like to build the 'ifenslave'
>> utility program.
>>
>> In checking the OpenEmbedded Layer Index, I find recipes-support/ifenslave/
>> ifenslave_1.1.0.bb in the meta-networking layer.
>>
>> This recipe has a SRC_URI for a version of 'ifenslave.c'
>> (ifenslace-2.6_1.1.0.org.tar.gz) which I hazard to guess is based on the
>> ifenslave distributed with the 2.6 kernel sources.
>>
>> The documentation for bonding (http://www.linuxfoundation.org/collaborate/
>> workgroups/networking/bonding) recommends using the 'ifenslave.c' distributed
>> with the kernel sources.  It does indicate that sources from an earlier kernel
>> should still work, but may not support new functionallity.
>
>
> Actually, ifenslave has been gone from the kernel sources tree for some
> time now:
>
> commit b1098bbe1b24d5d90cff92fbd716d2ef4bed2cff
> Author: Cong Wang <amwang@redhat.com>
> Date:   Mon May 27 15:49:16 2013 +0000
> 
>     bonding: remove ifenslave.c from kernel source
>
>     As Stephen proposed:
>     Since bonding supports configuration via iproute (netlink) and sysfs, I think
>     it is time to purge the old ifenslave code out of Documentation/networking
>     and update the documentation.
>
>     Suggested-by: Stephen Hemminger <stephen@networkplumber.org>
>     Cc: Stephen Hemminger <stephen@networkplumber.org>
>     Cc: Jay Vosburgh <fubar@us.ibm.com>
>     Cc: "David S. Miller" <davem@davemloft.net>
>     Signed-off-by: Cong Wang <amwang@redhat.com>
>     Signed-off-by: David S. Miller <davem@davemloft.net>
>
> so if anything that's probably an argument for us purging the recipe in
> meta-networking too.

So, barking up the wrong tree.   ;-)
The perils of supporting a product that is still using a 3.2 kernel.

I'll verify that the ifenslave functionality can be replaced by iproute2,
and forget about ifenslave, like I have forgotten about ifconfig.

Thanks for the updated references!

--
Paul Stath
Senior Software Engineer
Axxcelera Broadband Wireless
Richmond, VA 23228

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-06-16 14:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-16 13:40 ifenslave recipe Stath, Paul
2016-06-16 14:00 ` Joe MacDonald
2016-06-16 14:28   ` Stath, Paul

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.