diff mbox

[net-next] mpls: Allow mpls_gso and mpls_router to be built as modules

Message ID 1426005479-21806-1-git-send-email-rshearma@brocade.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Robert Shearman March 10, 2015, 4:37 p.m. UTC
CONFIG_MPLS=m doesn't result in a kernel module being built because it
applies to the net/mpls directory, rather than to .o files.

So revert the MPLS menuitem to being a boolean and make MPLS_GSO and
MPLS_ROUTING tristates to allow mpls_gso and mpls_router modules to be
produced as desired.

Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Robert Shearman <rshearma@brocade.com>
---
 net/mpls/Kconfig  | 6 +++---
 net/mpls/Makefile | 4 +++-
 2 files changed, 6 insertions(+), 4 deletions(-)

Comments

Eric W. Biederman March 10, 2015, 5:17 p.m. UTC | #1
Robert Shearman <rshearma@brocade.com> writes:

> CONFIG_MPLS=m doesn't result in a kernel module being built because it
> applies to the net/mpls directory, rather than to .o files.
>
> So revert the MPLS menuitem to being a boolean and make MPLS_GSO and
> MPLS_ROUTING tristates to allow mpls_gso and mpls_router modules to be
> produced as desired.

Good catch.  But I am pretty certain this does not result in the mpls
routing code in af_mpls being built as a module either.

Eric
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Robert Shearman March 10, 2015, 6:05 p.m. UTC | #2
On 10/03/15 17:17, Eric W. Biederman wrote:
> Robert Shearman <rshearma@brocade.com> writes:
>
>> CONFIG_MPLS=m doesn't result in a kernel module being built because it
>> applies to the net/mpls directory, rather than to .o files.
>>
>> So revert the MPLS menuitem to being a boolean and make MPLS_GSO and
>> MPLS_ROUTING tristates to allow mpls_gso and mpls_router modules to be
>> produced as desired.
>
> Good catch.  But I am pretty certain this does not result in the mpls
> routing code in af_mpls being built as a module either.

I'm pretty sure it does ;-)

   CC [M]  net/mpls/af_mpls.o
   LD [M]  net/mpls/mpls_router.o
   Building modules, stage 2.
   MODPOST 3010 modules
   LD [M]  net/mpls/mpls_router.ko

I deliberately split out the makefile rules so that the would be named 
mpls_router, rather than af_mpls to avoid any potential confusion with 
the mpls_gso module.

Thanks,
Rob
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eric W. Biederman March 10, 2015, 6:07 p.m. UTC | #3
Robert Shearman <rshearma@brocade.com> writes:

> On 10/03/15 17:17, Eric W. Biederman wrote:
>> Robert Shearman <rshearma@brocade.com> writes:
>>
>>> CONFIG_MPLS=m doesn't result in a kernel module being built because it
>>> applies to the net/mpls directory, rather than to .o files.
>>>
>>> So revert the MPLS menuitem to being a boolean and make MPLS_GSO and
>>> MPLS_ROUTING tristates to allow mpls_gso and mpls_router modules to be
>>> produced as desired.
>>
>> Good catch.  But I am pretty certain this does not result in the mpls
>> routing code in af_mpls being built as a module either.
>
> I'm pretty sure it does ;-)
>
>   CC [M]  net/mpls/af_mpls.o
>   LD [M]  net/mpls/mpls_router.o
>   Building modules, stage 2.
>   MODPOST 3010 modules
>   LD [M]  net/mpls/mpls_router.ko
>
> I deliberately split out the makefile rules so that the would be named
> mpls_router, rather than af_mpls to avoid any potential confusion with
> the mpls_gso module.

Where do the files that go into mpls_router.o come from.

Ah.  I missed the mpls_route := af_mpls.o line.


Eric

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller March 11, 2015, 8:39 p.m. UTC | #4
From: Robert Shearman <rshearma@brocade.com>
Date: Tue, 10 Mar 2015 16:37:59 +0000

> CONFIG_MPLS=m doesn't result in a kernel module being built because it
> applies to the net/mpls directory, rather than to .o files.
> 
> So revert the MPLS menuitem to being a boolean and make MPLS_GSO and
> MPLS_ROUTING tristates to allow mpls_gso and mpls_router modules to be
> produced as desired.
> 
> Cc: "Eric W. Biederman" <ebiederm@xmission.com>
> Signed-off-by: Robert Shearman <rshearma@brocade.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/net/mpls/Kconfig b/net/mpls/Kconfig
index f4286ee..060976d 100644
--- a/net/mpls/Kconfig
+++ b/net/mpls/Kconfig
@@ -3,7 +3,7 @@ 
 #
 
 menuconfig MPLS
-	tristate "MultiProtocol Label Switching"
+	bool "MultiProtocol Label Switching"
 	default n
 	---help---
 	  MultiProtocol Label Switching routes packets through logical
@@ -16,14 +16,14 @@  menuconfig MPLS
 if MPLS
 
 config NET_MPLS_GSO
-	bool "MPLS: GSO support"
+	tristate "MPLS: GSO support"
 	help
 	 This is helper module to allow segmentation of non-MPLS GSO packets
 	 that have had MPLS stack entries pushed onto them and thus
 	 become MPLS GSO packets.
 
 config MPLS_ROUTING
-	bool "MPLS: routing support"
+	tristate "MPLS: routing support"
 	help
 	 Add support for forwarding of mpls packets.
 
diff --git a/net/mpls/Makefile b/net/mpls/Makefile
index 60af15f1..65bbe68 100644
--- a/net/mpls/Makefile
+++ b/net/mpls/Makefile
@@ -2,4 +2,6 @@ 
 # Makefile for MPLS.
 #
 obj-$(CONFIG_NET_MPLS_GSO) += mpls_gso.o
-obj-$(CONFIG_MPLS_ROUTING) += af_mpls.o
+obj-$(CONFIG_MPLS_ROUTING) += mpls_router.o
+
+mpls_router-y := af_mpls.o