Linux IEEE 802.15.4 and 6LoWPAN development
 help / color / mirror / Atom feed
From: Michael Richardson <mcr@sandelman.ca>
To: Alexander Aring <aar@pengutronix.de>
Cc: linux-wpan@vger.kernel.org
Subject: Re: [RFC bluetooth-next 01/20] 6lowpan: ndisc: don't remove short address
Date: Thu, 21 Jul 2016 04:44:10 -0400	[thread overview]
Message-ID: <19276.1469090650@obiwan.sandelman.ca> (raw)
In-Reply-To: <fef88ca3-84dc-822a-2ba1-0e593885bd8a@pengutronix.de>

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


Alexander Aring <aar@pengutronix.de> wrote:
    > So you want to have such "flag":

    > "please force use short address always if short available" and
    > "please force use extended address always (if short address is
    > available)"

    > _per_ neighbour? If this fits to your use-case then I think it could
    > work.

yes, I think this is what I want.

    > At last you need to have some "neighbour add" netlink event listener
    > which reacts on if neighbours will be added and then set such flag for
    > the neighbour (which is indicated by L3 address).

Yes.

    > But the neighbour cache is already a hash with L3 address as key. I
    > think the neighbour cache should be used for such use-case. What do you
    > think.

I think it's an appropriate use.

    >> This will matter for handling of ND, in particular the DAR/DAC
    >> processing.

    > ah, ok. So for sending out DAR/DAC we need to control somehow to use
    > short or extended address?

Here, I think it's that we need the layer-2 address in the NA to validate the
ARO option in the NA, so that we can send the DAR with confidence.
I have to re-read https://tools.ietf.org/html/rfc6775#section-8.2.3 carefully
to see if I really need this or not.

    > You want to send these messages via userspace? In kernelspace we could
    > handle it (I think), lowpan interface knows the wpan interface and we
    > could decide somehow to force using short xor extended when generating
    > mac header for DAR/DAC.

I think that there is too much long-term state and policy to do this in the
kernel.

    > If I understand correctly, we do at the moment a) case.
    > By "Looking at L3 address and choose the L2 address according to which
    > best address do more compression", isn't it?

yeah...

    > I already implemented this stuff, the only one think is... it's more
    > than looking into L3 address only. It depends also on fragmentation. We
    > can compress maybe lot of bytes in FRAG1 which contains 6LoWPAN header
    > with the right L3 address by doing extended address. But if we have ~3
    > fragments (didn't calculate the number of necessary fragments now) then
    > it's better to use short address, because you can compress more bytes by
    > using short addresses in the fragments.

Yes, i recall discussing this with you.

    > The b) stuff will work then _per_ interface. Would be maybe nice to
    > have this per socket. I would say per socket would be nicer, because you
    > can overwrite the setting for exactly your use-case and all other
    > applications still do a). Currently I have no idea how to getting such
    > information from IPv6 socket to the 6LoWPAN layer but this should be
    > possible. This will also no add any 802.15.4 dependency for IPv6
    > applications, default handling should be still a).

setsockopt() is the normal way to indicate this down.  It gets into the
skbuff in a way that I don't recall.  Probably skbuff->sock or some such.

    > I also have no idea to get L2 receive information to the userspace at
    > the IPv6 socket yet. Need to take a look into ipv6 sockets,
    > IPV6_RECVPKTINFO is a nice hint, if we can easly extend this information.

that's the right mechanism, you send it up as aux data.


--
]               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: 464 bytes --]

  parent reply	other threads:[~2016-07-21  8:44 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-11 19:50 [RFC bluetooth-next 00/20] bluetooth: rework 6lowpan implementation Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 01/20] 6lowpan: ndisc: don't remove short address Alexander Aring
2016-07-19 13:19   ` Michael Richardson
2016-07-19 18:03     ` Alexander Aring
2016-07-21  6:37       ` Alexander Aring
2016-07-21  7:10         ` Alexander Aring
2016-07-21  8:44       ` Michael Richardson [this message]
2016-07-11 19:50 ` [RFC bluetooth-next 02/20] nhc: add TODO for nhc work Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 03/20] ieee802154: 6lowpan: remove headroom check Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 04/20] ieee802154: 6lowpan: move skb cb BUILD_BUG_ON check Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 05/20] 6lowpan: remove LOWPAN_IPHC_MAX_HEADER_LEN Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 06/20] 6lowpan: hold netdev while unregister Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 07/20] 6lowpan: introduce generic default naming Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 08/20] 6lowpan: move rx defines to generic Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 09/20] bluetooth: introduce l2cap_hdev_chan_connect Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 10/20] bluetooth: add hci dev notifier Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 11/20] bluetooth: export functions and variables Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 12/20] 6lowpan: bluetooth: remove implementation Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 13/20] ieee802154: 6lowpan: move header create to 6lowpan Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 14/20] 6lowpan: move dev_init to generic Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 15/20] 6lowpan: iphc: override l2 packet information Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 16/20] ipv6: addrconf: fix 48 bit 6lowpan autoconfiguration Alexander Aring
2016-07-12 20:16   ` Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 17/20] 6lowpan: iphc: add handling for btle Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 18/20] 6lowpan: move multicast flags to generic Alexander Aring
2016-07-12 20:34   ` Alexander Aring
2016-07-13 11:15     ` Jukka Rissanen
2016-07-14  8:21       ` Alexander Aring
2016-07-14  8:36         ` Alexander Aring
2016-07-19 14:51       ` Michael Richardson
2016-07-19 18:20         ` Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 19/20] 6lowpan: delete addr_len handling " Alexander Aring
2016-07-11 19:50 ` [RFC bluetooth-next 20/20] 6lowpan: bluetooth: add new implementation Alexander Aring
2016-07-12 21:19   ` Alexander Aring
2016-07-14 11:40     ` Luiz Augusto von Dentz
2016-07-17 15:52       ` Alexander Aring
2016-07-18  8:59         ` Luiz Augusto von Dentz
2016-07-18 21:52           ` Alexander Aring
2016-07-19  5:45             ` Johan Hedberg
2016-07-19  8:23               ` Luiz Augusto von Dentz
2016-07-19 21:05                 ` Alexander Aring
2016-07-20  7:39                   ` Johan Hedberg
2016-07-20  8:14                     ` Luiz Augusto von Dentz
2016-07-20 10:22                     ` Marcel Holtmann
2016-07-19  8:49             ` Luiz Augusto von Dentz
2016-07-19 14:48               ` Michael Richardson
2016-07-19 21:24               ` Alexander Aring
2016-07-12 14:51 ` [RFC bluetooth-next 00/20] bluetooth: rework 6lowpan implementation Luiz Augusto von Dentz
2016-07-12 18:35   ` Alexander Aring
2016-07-13  9:12     ` Alexander Aring
2016-07-13 10:13       ` Luiz Augusto von Dentz
2016-07-13 10:56         ` Alexander Aring
2016-07-14 12:02           ` Luiz Augusto von Dentz
2016-07-19 12:58 ` Michael Richardson
2016-08-05  7:15 ` Bakke, Glenn Ruben
2016-08-05  9:18   ` Alexander Aring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=19276.1469090650@obiwan.sandelman.ca \
    --to=mcr@sandelman.ca \
    --cc=aar@pengutronix.de \
    --cc=linux-wpan@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox