* Re: [PATCH v2] Add new function ip_get__assigned_addresses_from_net()
[not found] <1519838476.2290.15.camel@ipfire.org>
@ 2018-03-01 20:58 ` Michael Tremer
0 siblings, 0 replies; only message in thread
From: Michael Tremer @ 2018-03-01 20:58 UTC (permalink / raw)
To: network
[-- Attachment #1: Type: text/plain, Size: 1698 bytes --]
All merged.
On Wed, 2018-02-28 at 17:21 +0000, Michael Tremer wrote:
> Okay, I will merge this one.
>
> Best,
> -Michael
>
> On Wed, 2018-02-28 at 16:31 +0000, Jonatan Schlag wrote:
> > This function is neede by IPsec to set the routes correctly.
> > We can now now find a source IP for a given net.
> > This way is ugly because the source IP
> > is unpredictable if we get multiple IPs.
> >
> > Signed-off-by: Jonatan Schlag <jonatan.schlag(a)ipfire.org>
> > ---
> > src/functions/functions.ip | 28 ++++++++++++++++++++++++++++
> > 1 file changed, 28 insertions(+)
> >
> > diff --git a/src/functions/functions.ip b/src/functions/functions.ip
> > index 3b43da7..70bd92c 100644
> > --- a/src/functions/functions.ip
> > +++ b/src/functions/functions.ip
> > @@ -205,3 +205,31 @@ ip_address_del() {
> >
> > return ${EXIT_OK}
> > }
> > +
> > +# Get all currently assigned addresse for a given network
> > +ip_get_assigned_addresses_from_net() {
> > + local net=${1}
> > + shift
> > + local args="$@"
> > +
> > + if ! ip_net_is_valid ${net}; then
> > + log ERROR "IP net ${net} is invalid"
> > + return ${EXIT_ERROR}
> > + fi
> > +
> > + local line
> > + local addresses
> > +
> > + # We read the output of $(ip addr show to ${net} ${args})
> > + while read -r line; do
> > + # We are only interested in lines which start with inet or
> > inet6
> > + [[ "${line}" =~ ^(inet6 |inet ) ]] || continue
> > +
> > + # We need the second word the line
> > + line=(${line})
> > + list_append "addresses" "$(ip_split_prefix "${line[1]}")"
> > + done <<< "$(ip addr show to "${net}" ${args})"
> > +
> > + # We sort the list to get the lowest IP as first item
> > + list_sort ${addresses}
> > +}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2018-03-01 20:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <1519838476.2290.15.camel@ipfire.org>
2018-03-01 20:58 ` [PATCH v2] Add new function ip_get__assigned_addresses_from_net() Michael Tremer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox