This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: Re: Does FreeBSD stack support multiple IP addresses?
- From: Lambrecht Jürgen <J dot Lambrecht at TELEVIC dot com>
- To: "ecos-discuss at ecos dot sourceware dot org" <ecos-discuss at ecos dot sourceware dot org>
- Date: Mon, 22 Feb 2016 08:50:40 +0000
- Subject: Re: Re: Does FreeBSD stack support multiple IP addresses?
- Authentication-results: sourceware.org; auth=none
- References: <na7g8p$a83$1 at ger dot gmane dot org> <na7lte$o4d$1 at ger dot gmane dot org>
On 02/19/2016 07:11 PM, Grant Edwards wrote:
> On 2016-02-19, Grant Edwards <grant.b.edwards@gmail.com> wrote:
>
>> Can one assign multiple IP addresses (on different subnets) to a
>> single interface when using the eCos FreeBSD network stack?
>>
>> I know modern BSD and Linux stacks all support that, but does the eCos
>> implementation?
> Some poking through the source doe and subsequent experimentation has
> answered my question in the affirmative.
>
> You use SIOCAIFADDR(_IN6) instead of SIOCASIFADDR and its brethren.
>
I had 2 problems to assign 2 IP addresses with different netmasks:
- To assign an IP address an set a netmask are 2 different ioctl calls.
To set the netmask, you cannot specify for which IP address you set it.
The code (current/src/sys/netinet/in.c) is written in such a way that
the netmask is set on the last IP address you added on that interface.
So that should be OK if you keep the correct order.
- It is only possible to assign a class A/B/C netmask. CIDR netmasks are
not possible. I fixed current/src/sys/netinet/in.c for it, but I also
adapted the ioctl to combine setting IP address and netmask in 1 call
(so I cannot commit it back). Let me know if you want my fix.
Short answer: yes it is possible.
Kind regards,
Jürgen
P.S.: CIDR is possible in the freeBSD stack, it is only the ioctl in
current/src/sys/netinet/in.c that is the limitation
--
Jürgen Lambrecht
R&D Associate
Mobile: +32 499 644 531
Twitter: JGRLambrecht
Tel: +32 (0)51 303045 Fax: +32 (0)51 310670
http://www.televic-rail.com
https://www.facebook.com/TelevicRail
Televic Rail NV - Leo Bekaertlaan 1 - 8870 Izegem - Belgium
Company number 0825.539.581 - RPR Kortrijk
This electronic transmission is intended exclusively for the person or entity
to whom it is addressed and may contain confidential and/or privileged
material. Any disclosure, copying, distribution or other action based upon the
information by persons or entities other than the intended recipient is
prohibited. All e-mail correspondence from Televic Rail NV is only intended for
information purposes and can not result in contractual obligations. Commitments
under Televic Rail NV can only occur through regular exchange of letters,
signed by authorized persons in accordance with publication in the Belgian
Official Gazette.
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss