> On July 17, 2017, 3:20 a.m., Qian Zhang wrote:
> > m4/libnl3.m4
> > Lines 33-37 (patched)
> > <https://reviews.apache.org/r/60902/diff/1/?file=1777351#file1777351line33>
> >
> >     Mind to elaborate a bit about why introducing a new .m4 file? What 
> > about just introducing a new configure option (like `--enable-libnl3`) and 
> > make `--enable_port_mapping_isolator` depend on it? Just like the 
> > relationship between `--enable-ssl` and `--enable-libevent`: 
> > https://github.com/apache/mesos/blob/1.3.0/configure.ac#L1657:L1698
> >     
> >     And for `--enable-libnl3`, I think we should not do much checks, just 
> > some very basic check should be OK, and on top of it, 
> > `--enable_port_mapping_isolator` can do some more advanced/specific check 
> > on libnl3 for itself.
> 
> James Peach wrote:
>     > Mind to elaborate a bit about why introducing a new .m4 file?
>     
>     This is because a separate file makes it easier to maintain. We could 
> inline the macro into `configure.ac` but that's not typical autotool practice.
>     
>     > What about just introducing a new configure option (like 
> --enable-libnl3)
>     
>     I don't see how `--enable-libnl3` makes anything simpler, unless you want 
> to to use that option to enable all the features that depend on `libnl3`. In 
> that case, however, I'd just implement that based on the existing `--with-nl`.
>     
>     The semantics here are that we have `--enable-port-mapping-isolator`, 
> `--enable-network-ports-isolator` and `--with-nl` arguments. If either of the 
> first 2 options is enabled, we will attempt to use the `libnl3` from the 
> location of the 3rd option.
>     
>     > I think we should not do much checks
>     
>     The checks we are applying are all ones that we already had. I didn't 
> want to change the dependency requirements here.
> 
> Qian Zhang wrote:
>     I was thinking to use `--enable-libnl3` to check basic libnl3 features, 
> and use `--enable_port_mapping_isolator` and 
> `--enable-network-ports-isolator` to check the advanced libnl3 features 
> needed by them respectively.
>     
>     So in your solution, there will be only 2 `--enable-xxx` flags (i.e., 
> `--enable_port_mapping_isolator`, `--enable-network-ports-isolator`) and 
> `--with-nl`, and `MESOS_HAVE_LIBNL3` is internal which is not exposed to the 
> user, right?

> I was thinking to use --enable-libnl3 to check basic libnl3 features, and use 
> --enable_port_mapping_isolator and --enable-network-ports-isolator to check 
> the advanced libnl3 features needed by them respectively.

At this point, I'd prefer not to change the semantics of this. We have a pretty 
clear, documented requirement for libnl >= 3.2.6 and if we start accepting 
different versions, it becomes less clear.

> So in your solution, there will be only 2 --enable-xxx flags (i.e., 
> --enable_port_mapping_isolator, --enable-network-ports-isolator) and 
> --with-nl, 

Yes, that's correct.

> and MESOS_HAVE_LIBNL3 is internal which is not exposed to the user, right?

`MESOS_HAVE_LIBNL3` is just the autoconf macro name, so it's not exposed either 
to the user or to the build. There is a new build conditional named 
`ENABLE_LINUX_ROUTING` which causes the `src/linux/routing` files to be 
included in the build


- James


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/60902/#review180653
-----------------------------------------------------------


On July 16, 2017, 11:43 p.m., James Peach wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/60902/
> -----------------------------------------------------------
> 
> (Updated July 16, 2017, 11:43 p.m.)
> 
> 
> Review request for mesos and Qian Zhang.
> 
> 
> Bugs: MESOS-7675
>     https://issues.apache.org/jira/browse/MESOS-7675
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Since the `network/ports` isolator will depend on libnl3, move those
> checks into a separate macro so that we can call it again when we
> add a configure option to enable it.
> 
> 
> Diffs
> -----
> 
>   configure.ac 4d7c4a4679e5c624ee750226d542e0d8c228507a 
>   m4/libnl3.m4 PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/60902/diff/2/
> 
> 
> Testing
> -------
> 
> make check (Fedora 26), manual verification of configuration logs.
> 
> 
> Thanks,
> 
> James Peach
> 
>

Reply via email to