All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] shadowsocks-libev: add connmarktos build option
@ 2018-11-15 16:43 DUPONCHEEL Sébastien
  2018-11-15 18:24 ` Baruch Siach
  0 siblings, 1 reply; 10+ messages in thread
From: DUPONCHEEL Sébastien @ 2018-11-15 16:43 UTC (permalink / raw)
  To: buildroot

Signed-off-by: DUPONCHEEL S?bastien <sebastien.duponcheel@corp.ovh.com>
---
 package/shadowsocks-libev/Config.in            | 7 +++++++
 package/shadowsocks-libev/shadowsocks-libev.mk | 4 ++++
 2 files changed, 11 insertions(+)

diff --git a/package/shadowsocks-libev/Config.in b/package/shadowsocks-libev/Config.in
index f58abdb..acd9a67 100644
--- a/package/shadowsocks-libev/Config.in
+++ b/package/shadowsocks-libev/Config.in
@@ -15,6 +15,13 @@ config BR2_PACKAGE_SHADOWSOCKS_LIBEV
 
 	  https://github.com/shadowsocks/shadowsocks-libev
 
+config BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS
+	bool "enable connmarktos feature"
+	depends on BR2_PACKAGE_SHADOWSOCKS_LIBEV
+	select BR2_PACKAGE_LIBNETFILTER_CONNTRACK
+	help
+	  Build with the connmark to TOS feature
+
 comment "shadowsocks-libev needs a toolchain w/ threads"
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4
 	depends on BR2_TOOLCHAIN_HAS_SYNC_8 || !BR2_ARCH_IS_64
diff --git a/package/shadowsocks-libev/shadowsocks-libev.mk b/package/shadowsocks-libev/shadowsocks-libev.mk
index 7fdcd3f..34d95ca 100644
--- a/package/shadowsocks-libev/shadowsocks-libev.mk
+++ b/package/shadowsocks-libev/shadowsocks-libev.mk
@@ -21,4 +21,8 @@ ifeq ($(BR2_riscv),y)
 SHADOWSOCKS_LIBEV_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D_REENTRANT"
 endif
 
+ifeq ($(BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS),y)
+SHADOWSOCKS_LIBEV_CONF_OPTS += --enable-connmarktos
+endif
+
 $(eval $(autotools-package))
-- 
2.7.4

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

* [Buildroot] [PATCH 1/1] shadowsocks-libev: add connmarktos build option
  2018-11-15 16:43 [Buildroot] [PATCH 1/1] shadowsocks-libev: add connmarktos build option DUPONCHEEL Sébastien
@ 2018-11-15 18:24 ` Baruch Siach
       [not found]   ` <25f6955b-c3f1-28a1-2a51-6ad90f391c9c@corp.ovh.com>
  0 siblings, 1 reply; 10+ messages in thread
From: Baruch Siach @ 2018-11-15 18:24 UTC (permalink / raw)
  To: buildroot

Hi S?bastien,

Thanks for your contribution. A few comments below.

DUPONCHEEL S?bastien writes:

> Signed-off-by: DUPONCHEEL S?bastien <sebastien.duponcheel@corp.ovh.com>
> ---
>  package/shadowsocks-libev/Config.in            | 7 +++++++
>  package/shadowsocks-libev/shadowsocks-libev.mk | 4 ++++
>  2 files changed, 11 insertions(+)
>
> diff --git a/package/shadowsocks-libev/Config.in b/package/shadowsocks-libev/Config.in
> index f58abdb..acd9a67 100644
> --- a/package/shadowsocks-libev/Config.in
> +++ b/package/shadowsocks-libev/Config.in
> @@ -15,6 +15,13 @@ config BR2_PACKAGE_SHADOWSOCKS_LIBEV
>
>  	  https://github.com/shadowsocks/shadowsocks-libev
>
> +config BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS
> +	bool "enable connmarktos feature"
> +	depends on BR2_PACKAGE_SHADOWSOCKS_LIBEV
> +	select BR2_PACKAGE_LIBNETFILTER_CONNTRACK
> +	help
> +	  Build with the connmark to TOS feature

If the size increase of enabling this feature is not huge we usually
just enable it unconditionally when the required dependencies are
enabled. This reduced the number of config options that the user has to
go through.

>  comment "shadowsocks-libev needs a toolchain w/ threads"
>  	depends on BR2_TOOLCHAIN_HAS_SYNC_4
>  	depends on BR2_TOOLCHAIN_HAS_SYNC_8 || !BR2_ARCH_IS_64
> diff --git a/package/shadowsocks-libev/shadowsocks-libev.mk b/package/shadowsocks-libev/shadowsocks-libev.mk
> index 7fdcd3f..34d95ca 100644
> --- a/package/shadowsocks-libev/shadowsocks-libev.mk
> +++ b/package/shadowsocks-libev/shadowsocks-libev.mk
> @@ -21,4 +21,8 @@ ifeq ($(BR2_riscv),y)
>  SHADOWSOCKS_LIBEV_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D_REENTRANT"
>  endif
>
> +ifeq ($(BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS),y)

So instead of that do

ifeq ($(BR2_PACKAGE_LIBNETFILTER_CONNTRACK),y)

> +SHADOWSOCKS_LIBEV_CONF_OPTS += --enable-connmarktos

If libnetfilter_conntrack is a build time dependency you also need to
add it to SHADOWSOCKS_LIBEV_DEPENDENCIES here to make sure it build
before shadowsocks-libev.

> +endif

You should also add --disable-connmarktos (or the equivalent option) in
the 'else' part of this condition.

>  $(eval $(autotools-package))

baruch

--
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

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

* [Buildroot] [PATCH 1/1] shadowsocks-libev: add connmarktos build option
       [not found]   ` <25f6955b-c3f1-28a1-2a51-6ad90f391c9c@corp.ovh.com>
@ 2018-11-17 20:49     ` Baruch Siach
  2018-11-20  8:00       ` Thomas Petazzoni
  2018-11-20 13:56       ` DUPONCHEEL Sébastien
  0 siblings, 2 replies; 10+ messages in thread
From: Baruch Siach @ 2018-11-17 20:49 UTC (permalink / raw)
  To: buildroot

Hi S?bastien,

Please keep the list on Cc.

DUPONCHEEL S?bastien writes:
> it's nice to see you here :)
> Thank you for your review and comments.
>
> See my proposal below :
>
> Le 15/11/2018 ? 19:24, Baruch Siach a ?crit:
>> Thanks for your contribution. A few comments below.
>>
>> DUPONCHEEL S?bastien writes:
>>
>>> Signed-off-by: DUPONCHEEL S?bastien <sebastien.duponcheel@corp.ovh.com>
>>> ---
>>>   package/shadowsocks-libev/Config.in            | 7 +++++++
>>>   package/shadowsocks-libev/shadowsocks-libev.mk | 4 ++++
>>>   2 files changed, 11 insertions(+)
>>>
>>> diff --git a/package/shadowsocks-libev/Config.in b/package/shadowsocks-libev/Config.in
>>> index f58abdb..acd9a67 100644
>>> --- a/package/shadowsocks-libev/Config.in
>>> +++ b/package/shadowsocks-libev/Config.in
>>> @@ -15,6 +15,13 @@ config BR2_PACKAGE_SHADOWSOCKS_LIBEV
>>>
>>>   	  https://github.com/shadowsocks/shadowsocks-libev
>>>
>>> +config BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS
>>> +	bool "enable connmarktos feature"
>>> +	depends on BR2_PACKAGE_SHADOWSOCKS_LIBEV
>>> +	select BR2_PACKAGE_LIBNETFILTER_CONNTRACK
>>> +	help
>>> +	  Build with the connmark to TOS feature
>> If the size increase of enabling this feature is not huge we usually
>> just enable it unconditionally when the required dependencies are
>> enabled. This reduced the number of config options that the user has to
>> go through.
>
> For now, this feature only concerns ss-server and requires the operation of
> advanced iptables and tc rules. This is a very specific feature that will not
> be widely used, I think it is better to disable it by default
>
> So, i propose to be more verbose on what this feature implies :
>
> config BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS
> - bool "enable connmarktos feature"
> + bool "ss-server: enable connmarktos feature"
>  depends on BR2_PACKAGE_SHADOWSOCKS_LIBEV
>  select BR2_PACKAGE_LIBNETFILTER_CONNTRACK
>  help
> - Build with the connmark to TOS feature
> + Build ss-server with the connmark to TOS feature.
> + This feature require advanced tc, iptables and conntrac
> + rules to perform QoS on the server side.
> + if unsure say N.

Sounds reasonable to me. Let's see what others think.

>>>   comment "shadowsocks-libev needs a toolchain w/ threads"
>>>   	depends on BR2_TOOLCHAIN_HAS_SYNC_4
>>>   	depends on BR2_TOOLCHAIN_HAS_SYNC_8 || !BR2_ARCH_IS_64
>>> diff --git a/package/shadowsocks-libev/shadowsocks-libev.mk b/package/shadowsocks-libev/shadowsocks-libev.mk
>>> index 7fdcd3f..34d95ca 100644
>>> --- a/package/shadowsocks-libev/shadowsocks-libev.mk
>>> +++ b/package/shadowsocks-libev/shadowsocks-libev.mk
>>> @@ -21,4 +21,8 @@ ifeq ($(BR2_riscv),y)
>>>   SHADOWSOCKS_LIBEV_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D_REENTRANT"
>>>   endif
>>>
>>> +ifeq ($(BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS),y)
>> So instead of that do
>>
>> ifeq ($(BR2_PACKAGE_LIBNETFILTER_CONNTRACK),y)
>>
>>> +SHADOWSOCKS_LIBEV_CONF_OPTS += --enable-connmarktos
>> If libnetfilter_conntrack is a build time dependency you also need to
>> add it to SHADOWSOCKS_LIBEV_DEPENDENCIES here to make sure it build
>> before shadowsocks-libev.
>
> As seen in "squid.mk", i propose to do something like this :
>
> -SHADOWSOCKS_LIBEV_DEPENDENCIES = host-pkgconf c-ares libev libsodium mbedtls pcre
> +SHADOWSOCKS_LIBEV_DEPENDENCIES = host-pkgconf c-ares libev libsodium mbedtls pcre \
> + $(if $(BR2_PACKAGE_LIBNETFILTER_CONNTRACK),libnetfilter_conntrack)

The _OPTS and _DEPENDENCIES additions are usually grouped together. The
squid case is spacial because there is no _OPTS change there.

>>> +endif
>> You should also add --disable-connmarktos (or the equivalent option) in
>> the 'else' part of this condition.
>
> Unfortunately there is no such option.

The AC_ARG_ENABLE macro in configure.ac automatically provides
--enable-foo and --disable-foo.

baruch

--
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

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

* [Buildroot] [PATCH 1/1] shadowsocks-libev: add connmarktos build option
  2018-11-17 20:49     ` Baruch Siach
@ 2018-11-20  8:00       ` Thomas Petazzoni
  2018-11-20  9:59         ` DUPONCHEEL Sébastien
  2018-11-20 13:56       ` DUPONCHEEL Sébastien
  1 sibling, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2018-11-20  8:00 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 17 Nov 2018 22:49:58 +0200, Baruch Siach wrote:

> > config BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS
> > - bool "enable connmarktos feature"
> > + bool "ss-server: enable connmarktos feature"
> >  depends on BR2_PACKAGE_SHADOWSOCKS_LIBEV
> >  select BR2_PACKAGE_LIBNETFILTER_CONNTRACK
> >  help
> > - Build with the connmark to TOS feature
> > + Build ss-server with the connmark to TOS feature.
> > + This feature require advanced tc, iptables and conntrac
> > + rules to perform QoS on the server side.
> > + if unsure say N.  
> 
> Sounds reasonable to me. Let's see what others think.

Yes, soon reasonable to me as well. Perhaps the option title should be:

	bool "conmarktos support in ss-server"

or

	bool "ss-server conmarktos support"

S?bastien, could you take into account the various comments received
from Baruch, and send an updated version ?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH 1/1] shadowsocks-libev: add connmarktos build option
  2018-11-20  8:00       ` Thomas Petazzoni
@ 2018-11-20  9:59         ` DUPONCHEEL Sébastien
  0 siblings, 0 replies; 10+ messages in thread
From: DUPONCHEEL Sébastien @ 2018-11-20  9:59 UTC (permalink / raw)
  To: buildroot

Yes, i am doing this ASAP.

Best regards,
DUPONCHEEL S?bastien.

Le 20/11/2018 ? 09:00, Thomas Petazzoni a ?crit?:
> Hello,
>
> On Sat, 17 Nov 2018 22:49:58 +0200, Baruch Siach wrote:
>
>>> config BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS
>>> - bool "enable connmarktos feature"
>>> + bool "ss-server: enable connmarktos feature"
>>>   depends on BR2_PACKAGE_SHADOWSOCKS_LIBEV
>>>   select BR2_PACKAGE_LIBNETFILTER_CONNTRACK
>>>   help
>>> - Build with the connmark to TOS feature
>>> + Build ss-server with the connmark to TOS feature.
>>> + This feature require advanced tc, iptables and conntrac
>>> + rules to perform QoS on the server side.
>>> + if unsure say N.
>> Sounds reasonable to me. Let's see what others think.
> Yes, soon reasonable to me as well. Perhaps the option title should be:
>
> 	bool "conmarktos support in ss-server"
>
> or
>
> 	bool "ss-server conmarktos support"
>
> S?bastien, could you take into account the various comments received
> from Baruch, and send an updated version ?
>
> Thanks!
>
> Thomas

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

* [Buildroot] [PATCH 1/1] shadowsocks-libev: add connmarktos build option
  2018-11-17 20:49     ` Baruch Siach
  2018-11-20  8:00       ` Thomas Petazzoni
@ 2018-11-20 13:56       ` DUPONCHEEL Sébastien
  2018-11-20 19:36         ` Baruch Siach
  2018-11-20 22:25         ` Arnout Vandecappelle
  1 sibling, 2 replies; 10+ messages in thread
From: DUPONCHEEL Sébastien @ 2018-11-20 13:56 UTC (permalink / raw)
  To: buildroot

Hi Baruch,

Please see my feedback below :

Le 17/11/2018 ? 21:49, Baruch Siach a ?crit?:
> Hi S?bastien,
>
> Please keep the list on Cc.
>
> DUPONCHEEL S?bastien writes:
>> it's nice to see you here :)
>> Thank you for your review and comments.
>>
>> See my proposal below :
>>
>> Le 15/11/2018 ? 19:24, Baruch Siach a ?crit:
>>> Thanks for your contribution. A few comments below.
>>>
>>> DUPONCHEEL S?bastien writes:
>>>
>>>> Signed-off-by: DUPONCHEEL S?bastien <sebastien.duponcheel@corp.ovh.com>
>>>> ---
>>>>    package/shadowsocks-libev/Config.in            | 7 +++++++
>>>>    package/shadowsocks-libev/shadowsocks-libev.mk | 4 ++++
>>>>    2 files changed, 11 insertions(+)
>>>>
>>>> diff --git a/package/shadowsocks-libev/Config.in b/package/shadowsocks-libev/Config.in
>>>> index f58abdb..acd9a67 100644
>>>> --- a/package/shadowsocks-libev/Config.in
>>>> +++ b/package/shadowsocks-libev/Config.in
>>>> @@ -15,6 +15,13 @@ config BR2_PACKAGE_SHADOWSOCKS_LIBEV
>>>>
>>>>    	  https://github.com/shadowsocks/shadowsocks-libev
>>>>
>>>> +config BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS
>>>> +	bool "enable connmarktos feature"
>>>> +	depends on BR2_PACKAGE_SHADOWSOCKS_LIBEV
>>>> +	select BR2_PACKAGE_LIBNETFILTER_CONNTRACK
>>>> +	help
>>>> +	  Build with the connmark to TOS feature
>>> If the size increase of enabling this feature is not huge we usually
>>> just enable it unconditionally when the required dependencies are
>>> enabled. This reduced the number of config options that the user has to
>>> go through.
>> For now, this feature only concerns ss-server and requires the operation of
>> advanced iptables and tc rules. This is a very specific feature that will not
>> be widely used, I think it is better to disable it by default
>>
>> So, i propose to be more verbose on what this feature implies :
>>
>> config BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS
>> - bool "enable connmarktos feature"
>> + bool "ss-server: enable connmarktos feature"
>>   depends on BR2_PACKAGE_SHADOWSOCKS_LIBEV
>>   select BR2_PACKAGE_LIBNETFILTER_CONNTRACK
>>   help
>> - Build with the connmark to TOS feature
>> + Build ss-server with the connmark to TOS feature.
>> + This feature require advanced tc, iptables and conntrac
>> + rules to perform QoS on the server side.
>> + if unsure say N.
> Sounds reasonable to me. Let's see what others think.
>
>>>>    comment "shadowsocks-libev needs a toolchain w/ threads"
>>>>    	depends on BR2_TOOLCHAIN_HAS_SYNC_4
>>>>    	depends on BR2_TOOLCHAIN_HAS_SYNC_8 || !BR2_ARCH_IS_64
>>>> diff --git a/package/shadowsocks-libev/shadowsocks-libev.mk b/package/shadowsocks-libev/shadowsocks-libev.mk
>>>> index 7fdcd3f..34d95ca 100644
>>>> --- a/package/shadowsocks-libev/shadowsocks-libev.mk
>>>> +++ b/package/shadowsocks-libev/shadowsocks-libev.mk
>>>> @@ -21,4 +21,8 @@ ifeq ($(BR2_riscv),y)
>>>>    SHADOWSOCKS_LIBEV_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D_REENTRANT"
>>>>    endif
>>>>
>>>> +ifeq ($(BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS),y)
>>> So instead of that do
>>>
>>> ifeq ($(BR2_PACKAGE_LIBNETFILTER_CONNTRACK),y)
>>>
>>>> +SHADOWSOCKS_LIBEV_CONF_OPTS += --enable-connmarktos
>>> If libnetfilter_conntrack is a build time dependency you also need to
>>> add it to SHADOWSOCKS_LIBEV_DEPENDENCIES here to make sure it build
>>> before shadowsocks-libev.
>> As seen in "squid.mk", i propose to do something like this :
>>
>> -SHADOWSOCKS_LIBEV_DEPENDENCIES = host-pkgconf c-ares libev libsodium mbedtls pcre
>> +SHADOWSOCKS_LIBEV_DEPENDENCIES = host-pkgconf c-ares libev libsodium mbedtls pcre \
>> + $(if $(BR2_PACKAGE_LIBNETFILTER_CONNTRACK),libnetfilter_conntrack)
> The _OPTS and _DEPENDENCIES additions are usually grouped together. The
> squid case is spacial because there is no _OPTS change there.
>
>>>> +endif
>>> You should also add --disable-connmarktos (or the equivalent option) in
>>> the 'else' part of this condition.
>> Unfortunately there is no such option.
> The AC_ARG_ENABLE macro in configure.ac automatically provides
> --enable-foo and --disable-foo.

The AC_ARG_ENABLE statement in shadowsocks looks broken, neither --disable-connmarktos
nor --enable-connmarktos=no are working. In fact, it activates the feature.

ifeq ($(BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS),y)
SHADOWSOCKS_LIBEV_DEPENDENCIES += libnetfilter_conntrack
SHADOWSOCKS_LIBEV_CONF_OPTS += --enable-connmarktos
else
SHADOWSOCKS_LIBEV_CONF_OPTS += --disable-connmarktos
endif

seb at compile:src/buildroot ?shadowsocks?$ cat .config | grep CONNMARK
# BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS is not set
seb at compile:src/buildroot ?shadowsocks*?$ ldd ./output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/bin/ss-server | grep libnetfilter_conntrack.so.3
	libnetfilter_conntrack.so.3 => /home/seb/src/buildroot/output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/lib/libnetfilter_conntrack.so.3 (0x00006f816dde4000)

Best regards,
DUPONCHEEL S?bastien.

> baruch
>
> --
>       http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
> =}------------------------------------------------ooO--U--Ooo------------{=
>     - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20181120/04ab28d9/attachment.html>

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

* [Buildroot] [PATCH 1/1] shadowsocks-libev: add connmarktos build option
  2018-11-20 13:56       ` DUPONCHEEL Sébastien
@ 2018-11-20 19:36         ` Baruch Siach
  2018-11-20 22:25         ` Arnout Vandecappelle
  1 sibling, 0 replies; 10+ messages in thread
From: Baruch Siach @ 2018-11-20 19:36 UTC (permalink / raw)
  To: buildroot

Hi S?bastien,

DUPONCHEEL S?bastien writes:
>>>> You should also add --disable-connmarktos (or the equivalent option) in
>>>> the 'else' part of this condition.
>>> Unfortunately there is no such option.
>> The AC_ARG_ENABLE macro in configure.ac automatically provides
>> --enable-foo and --disable-foo.
>
> The AC_ARG_ENABLE statement in shadowsocks looks broken, neither --disable-connmarktos
> nor --enable-connmarktos=no are working. In fact, it activates the feature.
>
> ifeq ($(BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS),y)
> SHADOWSOCKS_LIBEV_DEPENDENCIES += libnetfilter_conntrack
> SHADOWSOCKS_LIBEV_CONF_OPTS += --enable-connmarktos
> else
> SHADOWSOCKS_LIBEV_CONF_OPTS += --disable-connmarktos
> endif
>
> seb at compile:src/buildroot ?shadowsocks?$ cat .config | grep CONNMARK
> # BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS is not set
> seb at compile:src/buildroot ?shadowsocks*?$ ldd ./output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/bin/ss-server | grep libnetfilter_conntrack.so.3
> 	libnetfilter_conntrack.so.3 => /home/seb/src/buildroot/output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/lib/libnetfilter_conntrack.so.3 (0x00006f816dde4000)

Did you try full rebuild? Changing the Buildroot config does not trigger
rebuild of already built packages.

  https://buildroot.org/downloads/manual/manual.html#full-rebuild

For a single package test you can use this shortcut instead of a full
rebuild:

  rm -r output/build/shadowsocks-libev-*
  make shadowsocks-libev

baruch

--
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

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

* [Buildroot] [PATCH 1/1] shadowsocks-libev: add connmarktos build option
  2018-11-20 13:56       ` DUPONCHEEL Sébastien
  2018-11-20 19:36         ` Baruch Siach
@ 2018-11-20 22:25         ` Arnout Vandecappelle
  2018-11-21 10:59           ` DUPONCHEEL Sébastien
  1 sibling, 1 reply; 10+ messages in thread
From: Arnout Vandecappelle @ 2018-11-20 22:25 UTC (permalink / raw)
  To: buildroot



On 20/11/2018 14:56, DUPONCHEEL S?bastien wrote:
> Hi Baruch,
> 
> Please see my feedback below :
> 
> Le 17/11/2018 ? 21:49, Baruch Siach a ?crit?:
[snip]
>> The AC_ARG_ENABLE macro in configure.ac automatically provides
>> --enable-foo and --disable-foo.
> 
> The AC_ARG_ENABLE statement in shadowsocks looks broken, neither --disable-connmarktos 
> nor --enable-connmarktos=no are working. In fact, it activates the feature.

 Yes, that's a classic problem - people refuse to read documentation so they
don't notice that the third argument is not "code to run when the option is yes"
but actually it is "code to run when the option is given".

 So, either you fix this by patching shadowsocks-libev's configure.ac and replacing

-  enable_connmarktos="yes"
+  enable_connmarktos="$enableval"

and sending the patch upstream, or you do

ifeq ($(BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS),y)
SHADOWSOCKS_LIBEV_DEPENDENCIES += libnetfilter_conntrack
SHADOWSOCKS_LIBEV_CONF_OPTS += --enable-connmarktos
# --disable-connmarktos *enables* it.
endif

 Obviously, the first option is preferred.

 Regards,
 Arnout

> 
> ifeq ($(BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS),y)
> SHADOWSOCKS_LIBEV_DEPENDENCIES += libnetfilter_conntrack
> SHADOWSOCKS_LIBEV_CONF_OPTS += --enable-connmarktos
> else
> SHADOWSOCKS_LIBEV_CONF_OPTS += --disable-connmarktos
> endif
> 
> seb at compile:src/buildroot ?shadowsocks?$ cat .config | grep CONNMARK                   
> # BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS is not set
> seb at compile:src/buildroot ?shadowsocks*?$ ldd ./output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/bin/ss-server | grep libnetfilter_conntrack.so.3
> 	libnetfilter_conntrack.so.3 => /home/seb/src/buildroot/output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/lib/libnetfilter_conntrack.so.3 (0x00006f816dde4000)
> 
> Best regards,
> DUPONCHEEL S?bastien.
> 
>> baruch
>>
>> --
>>      http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
>> =}------------------------------------------------ooO--U--Ooo------------{=
>>    - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
> 

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

* [Buildroot] [PATCH 1/1] shadowsocks-libev: add connmarktos build option
  2018-11-20 22:25         ` Arnout Vandecappelle
@ 2018-11-21 10:59           ` DUPONCHEEL Sébastien
  0 siblings, 0 replies; 10+ messages in thread
From: DUPONCHEEL Sébastien @ 2018-11-21 10:59 UTC (permalink / raw)
  To: buildroot

Pull request opened upstream, thank you.

Best regards,
DUPONCHEEL S?bastien

Le 20/11/2018 ? 23:25, Arnout Vandecappelle a ?crit?:
>
> On 20/11/2018 14:56, DUPONCHEEL S?bastien wrote:
>> Hi Baruch,
>>
>> Please see my feedback below :
>>
>> Le 17/11/2018 ? 21:49, Baruch Siach a ?crit?:
> [snip]
>>> The AC_ARG_ENABLE macro in configure.ac automatically provides
>>> --enable-foo and --disable-foo.
>> The AC_ARG_ENABLE statement in shadowsocks looks broken, neither --disable-connmarktos
>> nor --enable-connmarktos=no are working. In fact, it activates the feature.
>   Yes, that's a classic problem - people refuse to read documentation so they
> don't notice that the third argument is not "code to run when the option is yes"
> but actually it is "code to run when the option is given".
>
>   So, either you fix this by patching shadowsocks-libev's configure.ac and replacing
>
> -  enable_connmarktos="yes"
> +  enable_connmarktos="$enableval"
>
> and sending the patch upstream, or you do
>
> ifeq ($(BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS),y)
> SHADOWSOCKS_LIBEV_DEPENDENCIES += libnetfilter_conntrack
> SHADOWSOCKS_LIBEV_CONF_OPTS += --enable-connmarktos
> # --disable-connmarktos *enables* it.
> endif
>
>   Obviously, the first option is preferred.
>
>   Regards,
>   Arnout
>
>> ifeq ($(BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS),y)
>> SHADOWSOCKS_LIBEV_DEPENDENCIES += libnetfilter_conntrack
>> SHADOWSOCKS_LIBEV_CONF_OPTS += --enable-connmarktos
>> else
>> SHADOWSOCKS_LIBEV_CONF_OPTS += --disable-connmarktos
>> endif
>>
>> seb at compile:src/buildroot ?shadowsocks?$ cat .config | grep CONNMARK
>> # BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS is not set
>> seb at compile:src/buildroot ?shadowsocks*?$ ldd ./output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/bin/ss-server | grep libnetfilter_conntrack.so.3
>> 	libnetfilter_conntrack.so.3 => /home/seb/src/buildroot/output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/lib/libnetfilter_conntrack.so.3 (0x00006f816dde4000)
>>
>> Best regards,
>> DUPONCHEEL S?bastien.
>>
>>> baruch
>>>
>>> --
>>>       http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
>>> =}------------------------------------------------ooO--U--Ooo------------{=
>>>     - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
>>

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

* [Buildroot] [PATCH 1/1] shadowsocks-libev: add connmarktos build option
@ 2018-11-21 15:12 DUPONCHEEL Sébastien
  0 siblings, 0 replies; 10+ messages in thread
From: DUPONCHEEL Sébastien @ 2018-11-21 15:12 UTC (permalink / raw)
  To: buildroot

Signed-off-by: DUPONCHEEL S?bastien <sebastien.duponcheel@corp.ovh.com>
---
 package/shadowsocks-libev/Config.in            | 7 +++++++
 package/shadowsocks-libev/shadowsocks-libev.mk | 4 ++++
 2 files changed, 11 insertions(+)

diff --git a/package/shadowsocks-libev/Config.in b/package/shadowsocks-libev/Config.in
index f58abdb..acd9a67 100644
--- a/package/shadowsocks-libev/Config.in
+++ b/package/shadowsocks-libev/Config.in
@@ -15,6 +15,13 @@ config BR2_PACKAGE_SHADOWSOCKS_LIBEV
 
 	  https://github.com/shadowsocks/shadowsocks-libev
 
+config BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS
+	bool "enable connmarktos feature"
+	depends on BR2_PACKAGE_SHADOWSOCKS_LIBEV
+	select BR2_PACKAGE_LIBNETFILTER_CONNTRACK
+	help
+	  Build with the connmark to TOS feature
+
 comment "shadowsocks-libev needs a toolchain w/ threads"
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4
 	depends on BR2_TOOLCHAIN_HAS_SYNC_8 || !BR2_ARCH_IS_64
diff --git a/package/shadowsocks-libev/shadowsocks-libev.mk b/package/shadowsocks-libev/shadowsocks-libev.mk
index 7fdcd3f..34d95ca 100644
--- a/package/shadowsocks-libev/shadowsocks-libev.mk
+++ b/package/shadowsocks-libev/shadowsocks-libev.mk
@@ -21,4 +21,8 @@ ifeq ($(BR2_riscv),y)
 SHADOWSOCKS_LIBEV_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D_REENTRANT"
 endif
 
+ifeq ($(BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS),y)
+SHADOWSOCKS_LIBEV_CONF_OPTS += --enable-connmarktos
+endif
+
 $(eval $(autotools-package))
-- 
2.7.4

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

end of thread, other threads:[~2018-11-21 15:12 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-15 16:43 [Buildroot] [PATCH 1/1] shadowsocks-libev: add connmarktos build option DUPONCHEEL Sébastien
2018-11-15 18:24 ` Baruch Siach
     [not found]   ` <25f6955b-c3f1-28a1-2a51-6ad90f391c9c@corp.ovh.com>
2018-11-17 20:49     ` Baruch Siach
2018-11-20  8:00       ` Thomas Petazzoni
2018-11-20  9:59         ` DUPONCHEEL Sébastien
2018-11-20 13:56       ` DUPONCHEEL Sébastien
2018-11-20 19:36         ` Baruch Siach
2018-11-20 22:25         ` Arnout Vandecappelle
2018-11-21 10:59           ` DUPONCHEEL Sébastien
2018-11-21 15:12 DUPONCHEEL Sébastien

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.