Mathison Ott | 28 May 17:31 2015
Picon

Re: Olsr-dev Digest, Vol 96, Issue 8

Dear Ferry Huberts,

Im glad about sgw! Would you elaborate on the working functions of the smart gateway.

73 mathison

On May 28, 2015 3:00 AM, <olsr-dev-request <at> lists.olsr.org> wrote:
Send Olsr-dev mailing list submissions to
        olsr-dev <at> lists.olsr.org

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.olsr.org/mailman/listinfo/olsr-dev
or, via email, send a message with subject or body 'help' to
        olsr-dev-request <at> lists.olsr.org

You can reach the person managing the list at
        olsr-dev-owner <at> lists.olsr.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Olsr-dev digest..."


Today's Topics:

   1. OONF version 0.8.0 (Henning Rogge)
   2. [ANNOUNCE - v1] olsrd v0.6.6 is End-Of-Life (Ferry Huberts)
   3. [ANNOUNCE - v1] olsrd v0.6.7 is End-Of-Life (Ferry Huberts)
   4. [ANNOUNCE - v1] olsrd branch release-0.9.0 created (Ferry Huberts)


----------------------------------------------------------------------

Message: 1
Date: Wed, 27 May 2015 13:26:23 +0200
From: Henning Rogge <hrogge <at> gmail.com>
To: olsr-dev <olsr-dev <at> lists.olsr.org>
Subject: [Olsr-dev] OONF version 0.8.0
Message-ID:
        <CAGnRvuo6pv3G9S-jvpUuDBiCvGDkXP3uKs5UJ=24h35S5XthCQ <at> mail.gmail.com>
Content-Type: text/plain; charset=UTF-8

Hi,

olsrd is close to be pushed up to version 1.0 (not much more on our
"needs to be done" list), but OONF is also maturing.

v0.8.0 of OONF contains a new set of UCI init scripts, all three
OpenWRT packages have been converted to use the UCI based config
files.

DLEP has been updated to a newer draft and its configuration has been
cleaned up. I am currently waiting for the final DLEP RFC to make the
last changes.

There is also a new subsystem category called "crypto", which adds
support for RFC7182 (RFC5444 signatures). Easiest way to test this is
to add the three plugins "rfc5444_signature", "hash_tomcrypt" and
"simple_security".

The changes for the signature support in the core of OONF were quite
small, so it should not increase the size of the executable for people
not interested in crypto-support.

Have fun.

Henning



------------------------------

Message: 2
Date: Wed, 27 May 2015 15:25:49 +0200
From: Ferry Huberts <mailings <at> hupie.com>
To: olsr-dev <at> lists.olsr.org,  olsr users mailing list
        <olsr-users <at> lists.olsr.org>
Subject: [Olsr-dev] [ANNOUNCE - v1] olsrd v0.6.6 is End-Of-Life
Message-ID: <5565C5DD.7000306 <at> hupie.com>
Content-Type: text/plain; charset=utf-8; format=flowed

olsrd v1 branch release-0.6.6 is End-Of-Life and is removed.

Users of olsrd v1 0.6.6 are strongly urged to move to a newer version.

--
Ferry Huberts


--
Ferry Huberts



------------------------------

Message: 3
Date: Wed, 27 May 2015 15:26:02 +0200
From: Ferry Huberts <mailings <at> hupie.com>
To: olsr-dev <at> lists.olsr.org, Olsr-users <Olsr-users <at> lists.olsr.org>
Subject: [Olsr-dev] [ANNOUNCE - v1] olsrd v0.6.7 is End-Of-Life
Message-ID: <5565C5EA.1010503 <at> hupie.com>
Content-Type: text/plain; charset=utf-8; format=flowed

olsrd v1 branch release-0.6.7 is End-Of-Life and is removed.

Users of olsrd v1 0.6.7 are strongly urged to move to a newer version.


--
Ferry Huberts



------------------------------

Message: 4
Date: Wed, 27 May 2015 15:40:27 +0200
From: Ferry Huberts <mailings <at> hupie.com>
To: olsr-dev <at> lists.olsr.org,  olsr users mailing list
        <olsr-users <at> lists.olsr.org>
Subject: [Olsr-dev] [ANNOUNCE - v1] olsrd branch release-0.9.0 created
Message-ID: <5565C94B.4050708 <at> hupie.com>
Content-Type: text/plain; charset=utf-8; format=flowed

Hi,

I've just created the release-0.9.0 branch for olsrd v1.

We're nearing a 1.0.0 release and not much remains on our todo list.
Before we get there though, we are preparing for a 0.9.0 release.

This branch will get at least 2 weeks of stabilisation before we release it.
Everyone using olsrd is kindly asked to test out the code on the branch
and to report issues on the development mailing list.


In this release the multi-smart-gateway additions are declared stable.

Also, smart-gateway timeouts are now implemented, which is a major fix
to the smart-gateway system.
These timeouts were missing from the original implementation.

--
Ferry Huberts

--
Ferry Huberts





------------------------------

Subject: Digest Footer

--
Olsr-dev mailing list
Olsr-dev <at> lists.olsr.org
https://lists.olsr.org/mailman/listinfo/olsr-dev

------------------------------

End of Olsr-dev Digest, Vol 96, Issue 8
***************************************
--

-- 
Olsr-dev mailing list
Olsr-dev <at> lists.olsr.org
https://lists.olsr.org/mailman/listinfo/olsr-dev
Henning Rogge | 27 May 13:26 2015
Picon

OONF version 0.8.0

Hi,

olsrd is close to be pushed up to version 1.0 (not much more on our
"needs to be done" list), but OONF is also maturing.

v0.8.0 of OONF contains a new set of UCI init scripts, all three
OpenWRT packages have been converted to use the UCI based config
files.

DLEP has been updated to a newer draft and its configuration has been
cleaned up. I am currently waiting for the final DLEP RFC to make the
last changes.

There is also a new subsystem category called "crypto", which adds
support for RFC7182 (RFC5444 signatures). Easiest way to test this is
to add the three plugins "rfc5444_signature", "hash_tomcrypt" and
"simple_security".

The changes for the signature support in the core of OONF were quite
small, so it should not increase the size of the executable for people
not interested in crypto-support.

Have fun.

Henning

--

-- 
Olsr-dev mailing list
Olsr-dev <at> lists.olsr.org
https://lists.olsr.org/mailman/listinfo/olsr-dev

Conrad Lara | 15 May 22:13 2015
Picon
Picon

Jenkins build configs?


I have to admit this is the first time I've heard of a build server existing for this project (not sure if it's a
private internal server or?)

Are the build configs published anywhere that I have not seen? 

I've brought up on the past questioning what exactly is the supported platform list and supported kernel
versions etc seems this might answer that question.

Having a public all platform build set could possibly reduce platform breaks in the future. 

OpenWRT for example handles this by having their build servers,  they are decently documented so one could
make them if they wanted to, but more importantly they accept a patch that works great on one architecture
may break another and that's why keep builds running to watch and see and fix for multiple platforms.

Sent from my iPhone
--

-- 
Olsr-dev mailing list
Olsr-dev <at> lists.olsr.org
https://lists.olsr.org/mailman/listinfo/olsr-dev

Conrad Lara | 15 May 22:08 2015
Picon
Picon

Re: [PATCH] plugins: fix build with musl

Any reason not to do  reverse patch next time?

Push force is generally in my experience frowned upon as it can (and I would argue did) re-write history
(though it's since been reverted by another push) 

At least in that case (if no fixing patch was done) would of been documented on the code history that there is a
known issue with that particular code for someone to review in the future.

Sent from my iPhone

> On May 15, 2015, at 12:47 PM, Ferry Huberts <mailings <at> hupie.com> wrote:
> 
> I did a push force, master it back before the patches
> 
>> On 15/05/15 21:45, Ferry Huberts wrote:
>> Did you actually compile it...??
>> 
>> I'm reverting now.
>> Don't push anything until it's been reviewed
>> 
>> 
>>> On 15/05/15 21:44, Ferry Huberts wrote:
>>> It is still not fix.
>>> This is a mess.
>>> And now we can add linux32 to the list of broken builds.
>>> 
>>> I _really_ dislike build breakage.
>>> 
>>> Either you fix it in the next patch that you are going to put on the
>>> mailing list first, or I'll revert all of your patches.
>>> 
>>>> On 15/05/15 21:40, Daniel Golle wrote:
>>>> Sorry for the mess, hope this is properly addressed now by
>>>> testing for __GLIBC__ or __BIONIC__
>>>> 
>>>>> On Fri, May 15, 2015 at 09:32:54PM +0200, Ferry Huberts wrote:
>>>>> I would rather have people post patches on the mailing list so that
>>>>> we (I)
>>>>> can review them.
>>>>> 
>>>>> olsrd is rather complicated code in places and we build for a lot of
>>>>> platforms, build breakage is easily obtained, as demonstrated by this
>>>>> patch.
>>>>> 
>>>>> I could have easily told you that before the patch was pushed
>>>>> 
>>>>> So please do not encourage people to push directly.
>>>>> 
>>>>> 
>>>>>> On 15/05/15 20:07, Saverio Proto wrote:
>>>>>> Hello Daniel,
>>>>>> 
>>>>>> I think you can push this patch to olsrd master branch in git.
>>>>>> the git repository is open for commit without authentication.
>>>>>> 
>>>>>> thank you
>>>>>> 
>>>>>> Saverio
>>>>>> 
>>>>>> 
>>>>>> 2015-05-15 19:13 GMT+02:00 Daniel Golle <daniel <at> makrotopia.org>:
>>>>>>> Introduce checks for __UCLIBC__ to compensate for
>>>>>>> incompatible definitions of struct udphdr present in
>>>>>>> different libc.
>>>>>>> glibc provides both field nameing styles, afaik all
>>>>>>> libcs except for uClibc provide the POSIX definition.
>>>>>>> 
>>>>>>> Signed-off-by: Daniel Golle <daniel <at> makrotopia.org>
>>>>>>> ---
>>>>>>> See also https://github.com/openwrt-routing/packages/pull/85
>>>>>>> 
>>>>>>>  lib/bmf/src/Address.c           |  4 ++++
>>>>>>>  lib/bmf/src/Bmf.c               |  4 ++++
>>>>>>>  lib/bmf/src/NetworkInterfaces.c |  9 +++++++++
>>>>>>>  lib/mdns/src/mdns.c             |  8 ++++++++
>>>>>>>  lib/p2pd/src/p2pd.c             | 16 ++++++++++++++++
>>>>>>>  5 files changed, 41 insertions(+)
>>>>>>> 
>>>>>>> diff --git a/lib/bmf/src/Address.c b/lib/bmf/src/Address.c
>>>>>>> index 67e7499..9d244da 100644
>>>>>>> --- a/lib/bmf/src/Address.c
>>>>>>> +++ b/lib/bmf/src/Address.c
>>>>>>>  <at>  <at>  -142,7 +142,11  <at>  <at>  int IsOlsrOrBmfPacket(unsigned char* ipPacket)
>>>>>>> 
>>>>>>>    /* Go into the UDP header and check port number */
>>>>>>>    udpHeader = (struct udphdr*) ARM_NOWARN_ALIGN((ipPacket +
>>>>>>> ipHeaderLen));
>>>>>>> +#ifdef __UCLIBC__
>>>>>>>    destPort = ntohs(udpHeader->dest);
>>>>>>> +#else
>>>>>>> +  destPort = ntohs(udpHeader->uh_dport);
>>>>>>> +#endif
>>>>>>> 
>>>>>>>    if (destPort == olsr_cnf->olsrport || destPort ==
>>>>>>> BMF_ENCAP_PORT || destPort == 51698)
>>>>>>>        /* TODO: #define for 51698 */
>>>>>>> diff --git a/lib/bmf/src/Bmf.c b/lib/bmf/src/Bmf.c
>>>>>>> index 9bbce42..3730557 100644
>>>>>>> --- a/lib/bmf/src/Bmf.c
>>>>>>> +++ b/lib/bmf/src/Bmf.c
>>>>>>>  <at>  <at>  -1028,7 +1028,11  <at>  <at>  BMF_handle_listeningFd(int skfd, void *data,
>>>>>>> unsigned int flags __attribute__ ((
>>>>>>>    }
>>>>>>> 
>>>>>>>    udpHeader = (struct udphdr*) ARM_NOWARN_ALIGN((rxBuffer +
>>>>>>> headerLength));
>>>>>>> +#ifdef __UCLIBC__
>>>>>>>    destPort = ntohs(udpHeader->dest);
>>>>>>> +#else
>>>>>>> +  destPort = ntohs(udpHeader->uh_dport);
>>>>>>> +#endif
>>>>>>>    if (destPort != BMF_ENCAP_PORT)
>>>>>>>    {
>>>>>>>      /* Not BMF */
>>>>>>> diff --git a/lib/bmf/src/NetworkInterfaces.c
>>>>>>> b/lib/bmf/src/NetworkInterfaces.c
>>>>>>> index 49a35a5..a1bc817 100644
>>>>>>> --- a/lib/bmf/src/NetworkInterfaces.c
>>>>>>> +++ b/lib/bmf/src/NetworkInterfaces.c
>>>>>>>  <at>  <at>  -50,6 +50,7  <at>  <at> 
>>>>>>>  #include <assert.h> /* assert() */
>>>>>>>  #include <net/if.h> /* socket(), ifreq, if_indextoname(),
>>>>>>> if_nametoindex() */
>>>>>>>  #include <netinet/in.h> /* htons() */
>>>>>>> +#include <netinet/udp.h> /* struct udphdr */
>>>>>>>  #include <linux/if_ether.h> /* ETH_P_IP */
>>>>>>>  #include <linux/if_packet.h> /* packet_mreq, PACKET_MR_PROMISC,
>>>>>>> PACKET_ADD_MEMBERSHIP */
>>>>>>>  #include <linux/if_tun.h> /* IFF_TAP */
>>>>>>>  <at>  <at>  -1893,7 +1894,11  <at>  <at>  void CheckAndUpdateLocalBroadcast(unsigned
>>>>>>> char* ipPacket, union olsr_ip_addr* b
>>>>>>> 
>>>>>>>        /* RFC 1624, Eq. 3: HC' = ~(~HC - m + m') */
>>>>>>> 
>>>>>>> +#ifdef __UCLIBC__
>>>>>>>        check = ntohs(udph->check);
>>>>>>> +#else
>>>>>>> +      check = ntohs(udph->uh_sum);
>>>>>>> +#endif
>>>>>>> 
>>>>>>>        check = ~ (~ check - ((origDaddr >> 16) & 0xFFFF) +
>>>>>>> ((newDaddr >> 16) & 0xFFFF));
>>>>>>>        check = ~ (~ check - (origDaddr & 0xFFFF) + (newDaddr &
>>>>>>> 0xFFFF));
>>>>>>>  <at>  <at>  -1901,7 +1906,11  <at>  <at>  void CheckAndUpdateLocalBroadcast(unsigned
>>>>>>> char* ipPacket, union olsr_ip_addr* b
>>>>>>>        /* Add carry */
>>>>>>>        check = check + (check >> 16);
>>>>>>> 
>>>>>>> +#ifdef __UCLIBC__
>>>>>>>        udph->check = htons(check);
>>>>>>> +#else
>>>>>>> +      udph->uh_sum = htons(check);
>>>>>>> +#endif
>>>>>>>       } /* if */
>>>>>>>    } /* if */
>>>>>>>  } /* CheckAndUpdateLocalBroadcast */
>>>>>>> diff --git a/lib/mdns/src/mdns.c b/lib/mdns/src/mdns.c
>>>>>>> index 8fc20f7..f8ed460 100644
>>>>>>> --- a/lib/mdns/src/mdns.c
>>>>>>> +++ b/lib/mdns/src/mdns.c
>>>>>>>  <at>  <at>  -462,7 +462,11  <at>  <at>  BmfPacketCaptured(
>>>>>>>        return;                   /* for */
>>>>>>>      }
>>>>>>>      udpHeader = (struct udphdr
>>>>>>> *)ARM_NOWARN_ALIGN(encapsulationUdpData +
>>>>>>> GetIpHeaderLength(encapsulationUdpData));
>>>>>>> +#ifdef __UCLIBC__
>>>>>>>      destPort = ntohs(udpHeader->dest);
>>>>>>> +#else
>>>>>>> +    destPort = ntohs(udpHeader->uh_dport);
>>>>>>> +#endif
>>>>>>>      if (destPort != 5353) {
>>>>>>>        return;
>>>>>>>      }
>>>>>>>  <at>  <at>  -498,7 +502,11  <at>  <at>  BmfPacketCaptured(
>>>>>>>        return;                   /* for */
>>>>>>>      }
>>>>>>>      udpHeader = (struct udphdr
>>>>>>> *)ARM_NOWARN_ALIGN(encapsulationUdpData + 40);
>>>>>>> +#ifdef __UCLIBC__
>>>>>>>      destPort = ntohs(udpHeader->dest);
>>>>>>> +#else
>>>>>>> +    destPort = ntohs(udpHeader->uh_dport);
>>>>>>> +#endif
>>>>>>>      if (destPort != 5353) {
>>>>>>>        return;
>>>>>>>      }
>>>>>>> diff --git a/lib/p2pd/src/p2pd.c b/lib/p2pd/src/p2pd.c
>>>>>>> index 60c4f74..77d2dff 100644
>>>>>>> --- a/lib/p2pd/src/p2pd.c
>>>>>>> +++ b/lib/p2pd/src/p2pd.c
>>>>>>>  <at>  <at>  -204,7 +204,11  <at>  <at>  PacketReceivedFromOLSR(unsigned char
>>>>>>> *encapsulationUdpData, int len)
>>>>>>>            udpHeader = (struct udphdr*)
>>>>>>> ARM_NOWARN_ALIGN((encapsulationUdpData +
>>>>>>> 
>>>>>>> GetIpHeaderLength(encapsulationUdpData)));
>>>>>>>            destAddr.v4.s_addr = ipHeader->ip_dst.s_addr;
>>>>>>> +#ifdef __UCLIBC__
>>>>>>>            destPort = htons(udpHeader->dest);
>>>>>>> +#else
>>>>>>> +          destPort = htons(udpHeader->uh_dport);
>>>>>>> +#endif
>>>>>>>            isInList = InUdpDestPortList(AF_INET, &destAddr,
>>>>>>> destPort);
>>>>>>>  #ifdef INCLUDE_DEBUG_OUTPUT
>>>>>>>            if (!isInList) {
>>>>>>>  <at>  <at>  -223,7 +227,11  <at>  <at>  PacketReceivedFromOLSR(unsigned char
>>>>>>> *encapsulationUdpData, int len)
>>>>>>>          if (ip6Header->ip6_nxt == SOL_UDP &&
>>>>>>> !IsIpv6Fragment(ip6Header)) {
>>>>>>>            udpHeader = (struct udphdr*)
>>>>>>> ARM_NOWARN_ALIGN((encapsulationUdpData + 40));
>>>>>>>            memcpy(&destAddr.v6, &ip6Header->ip6_dst, sizeof(struct
>>>>>>> in6_addr));
>>>>>>> +#ifdef __UCLIBC__
>>>>>>>            destPort = htons(udpHeader->dest);
>>>>>>> +#else
>>>>>>> +          destPort = htons(udpHeader->uh_dport);
>>>>>>> +#endif
>>>>>>>            isInList = InUdpDestPortList(AF_INET6, &destAddr,
>>>>>>> destPort);
>>>>>>>  #ifdef INCLUDE_DEBUG_OUTPUT
>>>>>>>            if (!isInList) {
>>>>>>>  <at>  <at>  -695,7 +703,11  <at>  <at>  P2pdPacketCaptured(unsigned char
>>>>>>> *encapsulationUdpData, int nBytes)
>>>>>>> 
>>>>>>>      udpHeader = (struct udphdr *)
>>>>>>> ARM_NOWARN_ALIGN((encapsulationUdpData +
>>>>>>> 
>>>>>>> GetIpHeaderLength(encapsulationUdpData)));
>>>>>>> +#ifdef __UCLIBC__
>>>>>>>      destPort = ntohs(udpHeader->dest);
>>>>>>> +#else
>>>>>>> +    destPort = ntohs(udpHeader->uh_dport);
>>>>>>> +#endif
>>>>>>> 
>>>>>>>      if (!InUdpDestPortList(AF_INET, &dst, destPort)) {
>>>>>>>  #ifdef INCLUDE_DEBUG_OUTPUT
>>>>>>>  <at>  <at>  -739,7 +751,11  <at>  <at>  P2pdPacketCaptured(unsigned char
>>>>>>> *encapsulationUdpData, int nBytes)
>>>>>>>        return;
>>>>>>> 
>>>>>>>      udpHeader = (struct udphdr *)
>>>>>>> ARM_NOWARN_ALIGN((encapsulationUdpData + 40));
>>>>>>> +#ifdef __UCLIBC__
>>>>>>>      destPort = ntohs(udpHeader->dest);
>>>>>>> +#else
>>>>>>> +    destPort = ntohs(udpHeader->uh_dport);
>>>>>>> +#endif
>>>>>>> 
>>>>>>>      if (!InUdpDestPortList(AF_INET6, &dst, destPort)) {
>>>>>>>  #ifdef INCLUDE_DEBUG_OUTPUT
>>>>>>> --
>>>>>>> 2.4.0
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> Olsr-dev mailing list
>>>>>>> Olsr-dev <at> lists.olsr.org
>>>>>>> https://lists.olsr.org/mailman/listinfo/olsr-dev
>>>>> 
>>>>> --
>>>>> Ferry Huberts
> 
> -- 
> Ferry Huberts
> 
> -- 
> Olsr-dev mailing list
> Olsr-dev <at> lists.olsr.org
> https://lists.olsr.org/mailman/listinfo/olsr-dev

--

-- 
Olsr-dev mailing list
Olsr-dev <at> lists.olsr.org
https://lists.olsr.org/mailman/listinfo/olsr-dev

Daniel Golle | 15 May 19:13 2015

[PATCH] plugins: fix build with musl

Introduce checks for __UCLIBC__ to compensate for
incompatible definitions of struct udphdr present in
different libc.
glibc provides both field nameing styles, afaik all
libcs except for uClibc provide the POSIX definition.

Signed-off-by: Daniel Golle <daniel <at> makrotopia.org>
---
See also https://github.com/openwrt-routing/packages/pull/85

 lib/bmf/src/Address.c           |  4 ++++
 lib/bmf/src/Bmf.c               |  4 ++++
 lib/bmf/src/NetworkInterfaces.c |  9 +++++++++
 lib/mdns/src/mdns.c             |  8 ++++++++
 lib/p2pd/src/p2pd.c             | 16 ++++++++++++++++
 5 files changed, 41 insertions(+)

diff --git a/lib/bmf/src/Address.c b/lib/bmf/src/Address.c
index 67e7499..9d244da 100644
--- a/lib/bmf/src/Address.c
+++ b/lib/bmf/src/Address.c
 <at>  <at>  -142,7 +142,11  <at>  <at>  int IsOlsrOrBmfPacket(unsigned char* ipPacket)

   /* Go into the UDP header and check port number */
   udpHeader = (struct udphdr*) ARM_NOWARN_ALIGN((ipPacket + ipHeaderLen));
+#ifdef __UCLIBC__
   destPort = ntohs(udpHeader->dest);
+#else
+  destPort = ntohs(udpHeader->uh_dport);
+#endif

   if (destPort == olsr_cnf->olsrport || destPort == BMF_ENCAP_PORT || destPort == 51698)
       /* TODO: #define for 51698 */
diff --git a/lib/bmf/src/Bmf.c b/lib/bmf/src/Bmf.c
index 9bbce42..3730557 100644
--- a/lib/bmf/src/Bmf.c
+++ b/lib/bmf/src/Bmf.c
 <at>  <at>  -1028,7 +1028,11  <at>  <at>  BMF_handle_listeningFd(int skfd, void *data, unsigned int flags __attribute__ ((
   }

   udpHeader = (struct udphdr*) ARM_NOWARN_ALIGN((rxBuffer + headerLength));
+#ifdef __UCLIBC__
   destPort = ntohs(udpHeader->dest);
+#else
+  destPort = ntohs(udpHeader->uh_dport);
+#endif
   if (destPort != BMF_ENCAP_PORT)
   {
     /* Not BMF */
diff --git a/lib/bmf/src/NetworkInterfaces.c b/lib/bmf/src/NetworkInterfaces.c
index 49a35a5..a1bc817 100644
--- a/lib/bmf/src/NetworkInterfaces.c
+++ b/lib/bmf/src/NetworkInterfaces.c
 <at>  <at>  -50,6 +50,7  <at>  <at> 
 #include <assert.h> /* assert() */
 #include <net/if.h> /* socket(), ifreq, if_indextoname(), if_nametoindex() */
 #include <netinet/in.h> /* htons() */
+#include <netinet/udp.h> /* struct udphdr */
 #include <linux/if_ether.h> /* ETH_P_IP */
 #include <linux/if_packet.h> /* packet_mreq, PACKET_MR_PROMISC, PACKET_ADD_MEMBERSHIP */
 #include <linux/if_tun.h> /* IFF_TAP */
 <at>  <at>  -1893,7 +1894,11  <at>  <at>  void CheckAndUpdateLocalBroadcast(unsigned char* ipPacket, union
olsr_ip_addr* b

       /* RFC 1624, Eq. 3: HC' = ~(~HC - m + m') */

+#ifdef __UCLIBC__
       check = ntohs(udph->check);
+#else
+      check = ntohs(udph->uh_sum);
+#endif

       check = ~ (~ check - ((origDaddr >> 16) & 0xFFFF) + ((newDaddr >> 16) & 0xFFFF));
       check = ~ (~ check - (origDaddr & 0xFFFF) + (newDaddr & 0xFFFF));
 <at>  <at>  -1901,7 +1906,11  <at>  <at>  void CheckAndUpdateLocalBroadcast(unsigned char* ipPacket, union
olsr_ip_addr* b
       /* Add carry */
       check = check + (check >> 16);

+#ifdef __UCLIBC__
       udph->check = htons(check);
+#else
+      udph->uh_sum = htons(check);
+#endif
      } /* if */
   } /* if */
 } /* CheckAndUpdateLocalBroadcast */
diff --git a/lib/mdns/src/mdns.c b/lib/mdns/src/mdns.c
index 8fc20f7..f8ed460 100644
--- a/lib/mdns/src/mdns.c
+++ b/lib/mdns/src/mdns.c
 <at>  <at>  -462,7 +462,11  <at>  <at>  BmfPacketCaptured(
       return;                   /* for */
     }
     udpHeader = (struct udphdr *)ARM_NOWARN_ALIGN(encapsulationUdpData + GetIpHeaderLength(encapsulationUdpData));
+#ifdef __UCLIBC__
     destPort = ntohs(udpHeader->dest);
+#else
+    destPort = ntohs(udpHeader->uh_dport);
+#endif
     if (destPort != 5353) {
       return;
     }
 <at>  <at>  -498,7 +502,11  <at>  <at>  BmfPacketCaptured(
       return;                   /* for */
     }
     udpHeader = (struct udphdr *)ARM_NOWARN_ALIGN(encapsulationUdpData + 40);
+#ifdef __UCLIBC__
     destPort = ntohs(udpHeader->dest);
+#else
+    destPort = ntohs(udpHeader->uh_dport);
+#endif
     if (destPort != 5353) {
       return;
     }
diff --git a/lib/p2pd/src/p2pd.c b/lib/p2pd/src/p2pd.c
index 60c4f74..77d2dff 100644
--- a/lib/p2pd/src/p2pd.c
+++ b/lib/p2pd/src/p2pd.c
 <at>  <at>  -204,7 +204,11  <at>  <at>  PacketReceivedFromOLSR(unsigned char *encapsulationUdpData, int len)
           udpHeader = (struct udphdr*) ARM_NOWARN_ALIGN((encapsulationUdpData +
                                        GetIpHeaderLength(encapsulationUdpData)));
           destAddr.v4.s_addr = ipHeader->ip_dst.s_addr;
+#ifdef __UCLIBC__
           destPort = htons(udpHeader->dest);
+#else
+          destPort = htons(udpHeader->uh_dport);
+#endif
           isInList = InUdpDestPortList(AF_INET, &destAddr, destPort);
 #ifdef INCLUDE_DEBUG_OUTPUT
           if (!isInList) {
 <at>  <at>  -223,7 +227,11  <at>  <at>  PacketReceivedFromOLSR(unsigned char *encapsulationUdpData, int len)
         if (ip6Header->ip6_nxt == SOL_UDP && !IsIpv6Fragment(ip6Header)) {
           udpHeader = (struct udphdr*) ARM_NOWARN_ALIGN((encapsulationUdpData + 40));
           memcpy(&destAddr.v6, &ip6Header->ip6_dst, sizeof(struct in6_addr));
+#ifdef __UCLIBC__
           destPort = htons(udpHeader->dest);
+#else
+          destPort = htons(udpHeader->uh_dport);
+#endif
           isInList = InUdpDestPortList(AF_INET6, &destAddr, destPort);
 #ifdef INCLUDE_DEBUG_OUTPUT
           if (!isInList) {
 <at>  <at>  -695,7 +703,11  <at>  <at>  P2pdPacketCaptured(unsigned char *encapsulationUdpData, int nBytes)

     udpHeader = (struct udphdr *) ARM_NOWARN_ALIGN((encapsulationUdpData +
                                   GetIpHeaderLength(encapsulationUdpData)));
+#ifdef __UCLIBC__
     destPort = ntohs(udpHeader->dest);
+#else
+    destPort = ntohs(udpHeader->uh_dport);
+#endif

     if (!InUdpDestPortList(AF_INET, &dst, destPort)) {
 #ifdef INCLUDE_DEBUG_OUTPUT
 <at>  <at>  -739,7 +751,11  <at>  <at>  P2pdPacketCaptured(unsigned char *encapsulationUdpData, int nBytes)
       return;

     udpHeader = (struct udphdr *) ARM_NOWARN_ALIGN((encapsulationUdpData + 40));
+#ifdef __UCLIBC__
     destPort = ntohs(udpHeader->dest);
+#else
+    destPort = ntohs(udpHeader->uh_dport);
+#endif

     if (!InUdpDestPortList(AF_INET6, &dst, destPort)) {
 #ifdef INCLUDE_DEBUG_OUTPUT
-- 
2.4.0

--

-- 
Olsr-dev mailing list
Olsr-dev <at> lists.olsr.org
https://lists.olsr.org/mailman/listinfo/olsr-dev

Vigneswaran R | 14 May 13:35 2015

oonf: cmake/cc_flags.cmake typo in gcc flag -Wjump-misses-init

Hi,

The gcc flag '-Wjump-misses-init' has been mistyped as '-Wjump-missed-init'.

Vignesh

diff --git a/cmake/cc_flags.cmake b/cmake/cc_flags.cmake
index 79a5193..db5142b 100644
--- a/cmake/cc_flags.cmake
+++ b/cmake/cc_flags.cmake
 <at>  <at>  -147,7 +147,7  <at>  <at>  add_compiler_flag(-Winit-self)
  add_compiler_flag(-Wsync-nand)
  add_compiler_flag(-Wundef)
  add_compiler_flag(-Wunused-parameter)
-add_compiler_flag(-Wjump-missed-init)
+add_compiler_flag(-Wjump-misses-init)

  # check for link time optimization
  # check_c_compiler_flag("-flto" test_lto)

--

-- 
Olsr-dev mailing list
Olsr-dev <at> lists.olsr.org
https://lists.olsr.org/mailman/listinfo/olsr-dev

Ferry Huberts | 8 May 14:22 2015

[PATCH v1 0/3] sgw: implement HNA expiry

From: Ferry Huberts <ferry.huberts <at> pelagic.nl>

HNA expiry wasn't implemented, making sgw in a dynamic
environment "rather" problematic.

Ferry Huberts (3):
  sgw: sgw HNAs are not considered normal HNAs during processing
  sgw: implement HNA expiry
  sgw: update the status file when a sgw HNA is removed (multi-sgw mode
    only)

 src/gateway.c | 38 +++++++++++++++++++++++++++++++++++++-
 src/gateway.h |  3 ++-
 src/hna_set.c |  3 ++-
 3 files changed, 41 insertions(+), 3 deletions(-)

-- 
2.1.0

--

-- 
Olsr-dev mailing list
Olsr-dev <at> lists.olsr.org
https://lists.olsr.org/mailman/listinfo/olsr-dev

Ferry Huberts | 8 May 10:12 2015

[PATCH v1 0/5] send sgw HNAs with zero bandwidth after local gw has gone away

From: Ferry Huberts <ferry.huberts <at> pelagic.nl>

This is to improve sgw convergence speed in the mesh.

sgw HNAs with zero bandwidth are sent after the local default gateway
has gone away (it's bandwidth has become zero on either the uplink,
downlink or both) or its interface has gone down or disappeared.

These HNAs are only sent during the next 'HNA period' after which the
sending of these HNAs stops; this is the 'unannounce' window.

Each of the zero bandwidth HNAs has an adjusted vtime so that the actual
timeout of the original HNA on the receiver side doesn't change (within
the bound of the normal jittering of sending the HNAs).

Ferry Huberts (5):
  ifnet: also store the HNA validity time in msec
  sgw: do not write uplink/downlink speed directly
  sgw: immediately remove sgw HNAs with zero bandwidth
  sgw: send sgw HNAs with zero bandwidth after local gw has gone away
  sgw: do not send zero bandwidth sgw HNAs by default

 lib/sgwdynspeed/src/speedFile.c |   4 +-
 src/build_msg.c                 | 250 ++++++++++++++++++++++++++++------------
 src/cfgparser/olsrd_conf.c      |   5 +-
 src/cfgparser/oparse.y          |   5 +-
 src/gateway.c                   |  19 +--
 src/interfaces.h                |   4 +
 src/olsr_cfg.h                  |  23 ++++
 src/unix/ifnet.c                |   2 +
 8 files changed, 227 insertions(+), 85 deletions(-)

-- 
2.1.0

--

-- 
Olsr-dev mailing list
Olsr-dev <at> lists.olsr.org
https://lists.olsr.org/mailman/listinfo/olsr-dev

Ferry Huberts | 23 Mar 15:02 2015

Re: [Olsr-users] OLSR 0.6.8 on OpenWrt with ipv6 and kernel 3.18.x


On 23/03/15 14:58, Russell Senior wrote:
> But, the config is identical, except for the kerrnel version (3.14 vs
> 3.18).  Or am I misunderstanding your suggestion.

I mean to also setup networking the same.
So if other nodes have no bridge, then first remove it.
Try with the kernel version of other nodes.
First make stuff the same, then start changing things

>
> On Mon, Mar 23, 2015 at 4:21 AM, Ferry Huberts <mailings <at> hupie.com> wrote:
>> ok, I read the thread.
>>
>> Sadly, no clue comes to mind.
>> I'd start with making your new node 'identical' in config to an existing
>> node and see if you still have the problem.
>> If not, then bisect towards the config you have now to see when it breaks.
>>
>>
>>
>> On 23/03/15 08:47, Russell Senior wrote:
>>>>>>>>
>>>>>>>> "Ferry" == Ferry Huberts <mailings <at> hupie.com> writes:
>>>
>>>
>>> Ferry> On 23/03/15 08:18, Russell Senior wrote:
>>>>>
>>>>>
>>> Ferry> I am skiing now so I didn't read the full thread.  Might be
>>> Ferry> because of mc local loopback. In pud I made that an option
>>> Ferry> because of testing. Might be that some socket sets it up.
>>>>>
>>>>>
>>> Ferry> Ping me next week to have me read the thread :-)
>>>>>
>>>>>
>>>>> ping!
>>>
>>>
>>> Ferry> blast, should have said 'in 2 weeks' will try to catch up soon
>>>
>>> Lol! Skiing--
>>>
>>>
>>
>> --
>> Ferry Huberts

-- 
Ferry Huberts

--

-- 
Olsr-dev mailing list
Olsr-dev <at> lists.olsr.org
https://lists.olsr.org/mailman/listinfo/olsr-dev

Philipp Borgers | 13 Mar 00:18 2015
Picon
Picon

accidental push to olsr master

Hi,

while hacking on the olsrd code base with a friend we accidental pushed our
changes to the olsrd.org git repository [1]. We reverted our change to the
master and pushed the revert as well.

The fact that we can push to the upstream repository confused us quite a bit.

Sorry for the inconvenience.

Kind Regards
Philipp and Sebastian

[1] http://olsr.org/git/?p=olsrd.git;a=summary
--

-- 
Olsr-dev mailing list
Olsr-dev <at> lists.olsr.org
https://lists.olsr.org/mailman/listinfo/olsr-dev
Henning Rogge | 21 Feb 10:59 2015
Picon

OLSR.org Network Framework v0.7.0 released

Hi,

I tagged the version 0.7.0 of the Olsr.org Network Framework (which
includes olsrd2).

There have been quite a few important changes and fixes:

- better CMake makefile which makes it easy to compile and install
only parts of OONF
- Support for multiple application targets (olsrd2, dlep,
minimal-oonf) in the makefile
- Hysteresis mechanism for DAT routing metric for better stability

and lots and lots of fixed bugs we found during testing on our
Institutes Mesh Network.

As always you can find the new release in the repository, it is tagged
"v0.7.0" with a GPG signature.
http://olsr.org/git/?p=oonf.git;a=summary

See also here for a lot of documentation about OONF and olsrd2:
http://www.olsr.org/mediawiki/index.php/OLSR.org_Network_Framework

Henning Rogge

--

-- 
Olsr-dev mailing list
Olsr-dev <at> lists.olsr.org
https://lists.olsr.org/mailman/listinfo/olsr-dev


Gmane