All of lore.kernel.org
 help / color / mirror / Atom feed
* Bridging a lowpan interface
@ 2017-11-10 12:25 David Palma
  2017-11-10 17:46 ` Michael Richardson
  0 siblings, 1 reply; 8+ messages in thread
From: David Palma @ 2017-11-10 12:25 UTC (permalink / raw)
  To: linux-wpan - ML

Hi,

After shamefully trying it, I suppose it's not possible to add a lowpan interface to a bridge because it's not an ethernet segment.

However, I was wondering if this could/will be a possibility in the future?

If I understood correctly there was a discussion about the tun/tap driver that touched upon similar aspects, but I didn't get the conclusion.

The motivation for this question is to enable offloading/traffic redirection between 15.4 and .11 depending on certain conditions (e.g. energy and distance). I have accomplished this with changing routes and iptables but I was looking for an "SDN/OpenFlow-like" approach.

Thanks in advance,
--
David


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

* Re: Bridging a lowpan interface
  2017-11-10 12:25 Bridging a lowpan interface David Palma
@ 2017-11-10 17:46 ` Michael Richardson
  2017-11-10 23:32   ` David Palma
  0 siblings, 1 reply; 8+ messages in thread
From: Michael Richardson @ 2017-11-10 17:46 UTC (permalink / raw)
  To: David Palma; +Cc: linux-wpan - ML

[-- Attachment #1: Type: text/plain, Size: 1440 bytes --]


David Palma <david.palma@ntnu.no> wrote:
    > After shamefully trying it, I suppose it's not possible to add a lowpan
    > interface to a bridge because it's not an ethernet segment.

    > However, I was wondering if this could/will be a possibility in the
    > future?

No, because 802.15.4 uses 8-byte EUI64 addresses, or 2-byte short addresses.

    > If I understood correctly there was a discussion about the tun/tap
    > driver that touched upon similar aspects, but I didn't get the
    > conclusion.

    > The motivation for this question is to enable offloading/traffic
    > redirection between 15.4 and .11 depending on certain conditions
    > (e.g. energy and distance). I have accomplished this with changing
    > routes and iptables but I was looking for an "SDN/OpenFlow-like"
    > approach.

Stupid Layer-2 tricks are a bad idea here.
Use smart layer-3 techniques instead: routing.

Assuming that both of your devices have 15.4 and .11 interfaces, then put
them into seperate subnets, and then distribute /128 addresses to your end
systems, and use a dynamic routing protocol to announce things.

Choices would include: RPL (see my unstrung.sandelman.ca, and others),
BABEL, OSPFv3.

Before you complain about overhead of that, you need to go read the source
code for the bridging code that includes {R,M,}STP.

--
Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
 -= IPv6 IoT consulting =-




[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* Re: Bridging a lowpan interface
  2017-11-10 17:46 ` Michael Richardson
@ 2017-11-10 23:32   ` David Palma
  2017-11-11 18:53     ` Michael Richardson
  0 siblings, 1 reply; 8+ messages in thread
From: David Palma @ 2017-11-10 23:32 UTC (permalink / raw)
  To: Michael Richardson; +Cc: linux-wpan - ML

Hi Michael,

Thanks for sharing your knowledge and views.

I'm all for routing and starting with RPL is fine. However, the idea was also to enable traffic differentiation based on flows (the SDN part), without breaking them, and not only based on IP addresses. That's why I mentioned that I used routing and ip6tables.

I was just wondering if there was a way of integrating lowpan interfaces with the other typical solutions.

Cheers,
--
David

> On 10 Nov 2017, at 18:46, Michael Richardson <mcr+ietf@sandelman.ca> wrote:
> 
> 
> David Palma <david.palma@ntnu.no> wrote:
>> After shamefully trying it, I suppose it's not possible to add a lowpan
>> interface to a bridge because it's not an ethernet segment.
> 
>> However, I was wondering if this could/will be a possibility in the
>> future?
> 
> No, because 802.15.4 uses 8-byte EUI64 addresses, or 2-byte short addresses.
> 
>> If I understood correctly there was a discussion about the tun/tap
>> driver that touched upon similar aspects, but I didn't get the
>> conclusion.
> 
>> The motivation for this question is to enable offloading/traffic
>> redirection between 15.4 and .11 depending on certain conditions
>> (e.g. energy and distance). I have accomplished this with changing
>> routes and iptables but I was looking for an "SDN/OpenFlow-like"
>> approach.
> 
> Stupid Layer-2 tricks are a bad idea here.
> Use smart layer-3 techniques instead: routing.
> 
> Assuming that both of your devices have 15.4 and .11 interfaces, then put
> them into seperate subnets, and then distribute /128 addresses to your end
> systems, and use a dynamic routing protocol to announce things.
> 
> Choices would include: RPL (see my unstrung.sandelman.ca, and others),
> BABEL, OSPFv3.
> 
> Before you complain about overhead of that, you need to go read the source
> code for the bridging code that includes {R,M,}STP.
> 
> --
> Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
> -= IPv6 IoT consulting =-
> 
> 
> 


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

* Re: Bridging a lowpan interface
  2017-11-10 23:32   ` David Palma
@ 2017-11-11 18:53     ` Michael Richardson
  2017-11-11 22:59       ` David Palma
  0 siblings, 1 reply; 8+ messages in thread
From: Michael Richardson @ 2017-11-11 18:53 UTC (permalink / raw)
  To: David Palma; +Cc: linux-wpan - ML

[-- Attachment #1: Type: text/plain, Size: 705 bytes --]


David Palma <david.palma@ntnu.no> wrote:
    > I'm all for routing and starting with RPL is fine. However, the idea
    > was also to enable traffic differentiation based on flows (the SDN
    > part), without breaking them, and not only based on IP
    > addresses. That's why I mentioned that I used routing and ip6tables.

I don't understand what the problem is.
What would you do with bridged interfaces in an SDN?
What kind of breaking are you speaking of?

--
]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        | network architect  [
]     mcr@sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* Re: Bridging a lowpan interface
  2017-11-11 18:53     ` Michael Richardson
@ 2017-11-11 22:59       ` David Palma
  2017-11-12  0:06         ` Alexander Aring
  0 siblings, 1 reply; 8+ messages in thread
From: David Palma @ 2017-11-11 22:59 UTC (permalink / raw)
  To: Michael Richardson; +Cc: linux-wpan - ML


> On 11 Nov 2017, at 19:53, Michael Richardson <mcr@sandelman.ca> wrote:
> 
> 
> David Palma <david.palma@ntnu.no> wrote:
>> I'm all for routing and starting with RPL is fine. However, the idea
>> was also to enable traffic differentiation based on flows (the SDN
>> part), without breaking them, and not only based on IP
>> addresses. That's why I mentioned that I used routing and ip6tables.
> 
> I don't understand what the problem is.
> What would you do with bridged interfaces in an SDN?

For example, if you use Open vSwitch for the SDN part, you add an interface to a bridge and manage flows from there.

> What kind of breaking are you speaking of?

By breaking I mean, for example:
- establish a CoAP transaction with DTLS through one interface/network (e.g. .11, fd03::120)
- redirect the traffic to another interface/network (e.g. 15.4, fe80::ff:fe00:beef)
- a new transaction will be created on the CoAP server, it will expect a DTLS handshake, it will timeout because the client is not expecting a new transaction.

I guess this could happen in other scenarios too, but I could be wrong.

My approach to this is re-writing the sources and destinations at the edges, per flow (using Ip6tables for the time being).

What I thought was that if the 8/2 byte addresses were converted to 6 byte addresses one could just use Open vSwitch/bridges/etc.

--
David

http://dpalma.eu

> 
> --
> ]               Never tell me the odds!                 | ipv6 mesh networks [
> ]   Michael Richardson, Sandelman Software Works        | network architect  [
> ]     mcr@sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [
> 


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

* Re: Bridging a lowpan interface
  2017-11-11 22:59       ` David Palma
@ 2017-11-12  0:06         ` Alexander Aring
  2017-11-12  0:09           ` Alexander Aring
  0 siblings, 1 reply; 8+ messages in thread
From: Alexander Aring @ 2017-11-12  0:06 UTC (permalink / raw)
  To: David Palma; +Cc: Michael Richardson, linux-wpan - ML

Hi,

On Sat, Nov 11, 2017 at 5:59 PM, David Palma <david.palma@ntnu.no> wrote:
>
>> On 11 Nov 2017, at 19:53, Michael Richardson <mcr@sandelman.ca> wrote:
>>
>>
>> David Palma <david.palma@ntnu.no> wrote:
>>> I'm all for routing and starting with RPL is fine. However, the idea
>>> was also to enable traffic differentiation based on flows (the SDN
>>> part), without breaking them, and not only based on IP
>>> addresses. That's why I mentioned that I used routing and ip6tables.
>>
>> I don't understand what the problem is.
>> What would you do with bridged interfaces in an SDN?
>
> For example, if you use Open vSwitch for the SDN part, you add an interface to a bridge and manage flows from there.
>
>> What kind of breaking are you speaking of?
>
> By breaking I mean, for example:
> - establish a CoAP transaction with DTLS through one interface/network (e.g. .11, fd03::120)

Check out ndisc proxy for IPv6.

There is no automatically handling for that inside the kernel (please
send-patches, somebody wanted already such feature). What I mean for
IPv4 yes, but for IPv6 you need a daemon like [0].

- Alex

[0] https://github.com/DanielAdolfsson/ndppd

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

* Re: Bridging a lowpan interface
  2017-11-12  0:06         ` Alexander Aring
@ 2017-11-12  0:09           ` Alexander Aring
  2017-11-12 11:56             ` David Palma
  0 siblings, 1 reply; 8+ messages in thread
From: Alexander Aring @ 2017-11-12  0:09 UTC (permalink / raw)
  To: David Palma; +Cc: Michael Richardson, linux-wpan - ML

Hi,

On Sat, Nov 11, 2017 at 7:06 PM, Alexander Aring <aring@mojatatu.com> wrote:
> Hi,
>
> On Sat, Nov 11, 2017 at 5:59 PM, David Palma <david.palma@ntnu.no> wrote:
>>
>>> On 11 Nov 2017, at 19:53, Michael Richardson <mcr@sandelman.ca> wrote:
>>>
>>>
>>> David Palma <david.palma@ntnu.no> wrote:
>>>> I'm all for routing and starting with RPL is fine. However, the idea
>>>> was also to enable traffic differentiation based on flows (the SDN
>>>> part), without breaking them, and not only based on IP
>>>> addresses. That's why I mentioned that I used routing and ip6tables.
>>>
>>> I don't understand what the problem is.
>>> What would you do with bridged interfaces in an SDN?
>>
>> For example, if you use Open vSwitch for the SDN part, you add an interface to a bridge and manage flows from there.
>>
>>> What kind of breaking are you speaking of?
>>
>> By breaking I mean, for example:
>> - establish a CoAP transaction with DTLS through one interface/network (e.g. .11, fd03::120)
>
> Check out ndisc proxy for IPv6.
>
> There is no automatically handling for that inside the kernel (please
> send-patches, somebody wanted already such feature). What I mean for
> IPv4 yes, but for IPv6 you need a daemon like [0].
>

btw: we need short address handling for this... because 2 types of mac
addresses is not really supported by net core api and currently we
handle this _very_ 802.15.4 interface specific. Just you know about...
that you run into issues with that (When you not solve it). Patches
are welcome always!

- Alex

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

* Re: Bridging a lowpan interface
  2017-11-12  0:09           ` Alexander Aring
@ 2017-11-12 11:56             ` David Palma
  0 siblings, 0 replies; 8+ messages in thread
From: David Palma @ 2017-11-12 11:56 UTC (permalink / raw)
  To: Alexander Aring; +Cc: Michael Richardson, linux-wpan - ML

Hi Alex,

Thanks for the pointers, will look into this further.

Cheers,
--
David

> On 12 Nov 2017, at 01:09, Alexander Aring <aring@mojatatu.com> wrote:
> 
> Hi,
> 
> On Sat, Nov 11, 2017 at 7:06 PM, Alexander Aring <aring@mojatatu.com> wrote:
>> Hi,
>> 
>> On Sat, Nov 11, 2017 at 5:59 PM, David Palma <david.palma@ntnu.no> wrote:
>>> 
>>>> On 11 Nov 2017, at 19:53, Michael Richardson <mcr@sandelman.ca> wrote:
>>>> 
>>>> 
>>>> David Palma <david.palma@ntnu.no> wrote:
>>>>> I'm all for routing and starting with RPL is fine. However, the idea
>>>>> was also to enable traffic differentiation based on flows (the SDN
>>>>> part), without breaking them, and not only based on IP
>>>>> addresses. That's why I mentioned that I used routing and ip6tables.
>>>> 
>>>> I don't understand what the problem is.
>>>> What would you do with bridged interfaces in an SDN?
>>> 
>>> For example, if you use Open vSwitch for the SDN part, you add an interface to a bridge and manage flows from there.
>>> 
>>>> What kind of breaking are you speaking of?
>>> 
>>> By breaking I mean, for example:
>>> - establish a CoAP transaction with DTLS through one interface/network (e.g. .11, fd03::120)
>> 
>> Check out ndisc proxy for IPv6.
>> 
>> There is no automatically handling for that inside the kernel (please
>> send-patches, somebody wanted already such feature). What I mean for
>> IPv4 yes, but for IPv6 you need a daemon like [0].
>> 
> 
> btw: we need short address handling for this... because 2 types of mac
> addresses is not really supported by net core api and currently we
> handle this _very_ 802.15.4 interface specific. Just you know about...
> that you run into issues with that (When you not solve it). Patches
> are welcome always!
> 
> - Alex
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wpan" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

end of thread, other threads:[~2017-11-12 11:51 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-10 12:25 Bridging a lowpan interface David Palma
2017-11-10 17:46 ` Michael Richardson
2017-11-10 23:32   ` David Palma
2017-11-11 18:53     ` Michael Richardson
2017-11-11 22:59       ` David Palma
2017-11-12  0:06         ` Alexander Aring
2017-11-12  0:09           ` Alexander Aring
2017-11-12 11:56             ` David Palma

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.