25 Oct, 2014

1 commit

  • This patch fix byte order handling in reassembly code of 802.15.4
    6LoWPAN fragmentation handling.

    net/ieee802154/reassembly.c:58:43: warning: restricted __be16 degrades to integer

    Signed-off-by: Alexander Aring
    Reported-by: Marcel Holtmann
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     

01 Oct, 2014

2 commits


20 Aug, 2014

1 commit

  • This patch drops the userspace accessable sysfs entry for the maximum
    datagram size of a 6LoWPAN fragment packet.

    A fragment should not have a datagram size value greater than 1280 byte.
    Instead of make this value configurable, we accept 1280 datagram size
    fragment packets only.

    Signed-off-by: Martin Townsend
    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Martin Townsend
     

03 Aug, 2014

2 commits


28 Jul, 2014

7 commits

  • This patch makes init_net's high_thresh limit to be the maximum for all
    namespaces, thus introducing a global memory limit threshold equal to the
    sum of the individual high_thresh limits which are capped.
    It also introduces some sane minimums for low_thresh as it shouldn't be
    able to drop below 0 (or > high_thresh in the unsigned case), and
    overall low_thresh should not ever be above high_thresh, so we make the
    following relations for a namespace:
    init_net:
    high_thresh - max(not capped), min(init_net low_thresh)
    low_thresh - max(init_net high_thresh), min (0)

    all other namespaces:
    high_thresh = max(init_net high_thresh), min(namespace's low_thresh)
    low_thresh = max(namespace's high_thresh), min(0)

    The major issue with having low_thresh > high_thresh is that we'll
    schedule eviction but never evict anything and thus rely only on the
    timers.

    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Nikolay Aleksandrov
     
  • rehash is rare operation, don't force readers to take
    the read-side rwlock.

    Instead, we only have to detect the (rare) case where
    the secret was altered while we are trying to insert
    a new inetfrag queue into the table.

    If it was changed, drop the bucket lock and recompute
    the hash to get the 'new' chain bucket that we have to
    insert into.

    Joint work with Nikolay Aleksandrov.

    Signed-off-by: Florian Westphal
    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Florian Westphal
     
  • merge functionality into the eviction workqueue.

    Instead of rebuilding every n seconds, take advantage of the upper
    hash chain length limit.

    If we hit it, mark table for rebuild and schedule workqueue.
    To prevent frequent rebuilds when we're completely overloaded,
    don't rebuild more than once every 5 seconds.

    ipfrag_secret_interval sysctl is now obsolete and has been marked as
    deprecated, it still can be changed so scripts won't be broken but it
    won't have any effect. A comment is left above each unused secret_timer
    variable to avoid confusion.

    Joint work with Nikolay Aleksandrov.

    Signed-off-by: Florian Westphal
    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Florian Westphal
     
  • no longer used.

    Signed-off-by: Florian Westphal
    Signed-off-by: David S. Miller

    Florian Westphal
     
  • First step to move eviction handling into a work queue.

    We lose two spots that accounted evicted fragments in MIB counters.

    Accounting will be restored since the upcoming work-queue evictor
    invokes the frag queue timer callbacks instead.

    Signed-off-by: Florian Westphal
    Signed-off-by: David S. Miller

    Florian Westphal
     
  • hide actual hash size from individual users: The _find
    function will now fold the given hash value into the required range.

    Signed-off-by: Florian Westphal
    Signed-off-by: David S. Miller

    Florian Westphal
     
  • Signed-off-by: Florian Westphal
    Signed-off-by: David S. Miller

    Florian Westphal
     

08 Jul, 2014

1 commit

  • This patch fixed the coding style issues reported by checkpatch.pl

    following issues fixed:
    CHECK: Alignment should match open parenthesis
    WARNING: line over 80 characters
    CHECK: Blank lines aren't necessary before a close brace '}'
    WARNING: networking block comments don't use an empty /* line, use /* Comment...
    WARNING: Missing a blank line after declarations
    WARNING: networking block comments start with * on subsequent lines
    CHECK: braces {} should be used on all arms of this statement

    Signed-off-by: Varka Bhadram
    Tested-by: Alexander Aring
    Signed-off-by: David S. Miller

    Varka Bhadram
     

21 Apr, 2014

2 commits


15 Mar, 2014

3 commits


14 Mar, 2014

1 commit


11 Mar, 2014

1 commit


08 Mar, 2014

1 commit


07 Mar, 2014

1 commit


03 Mar, 2014

1 commit


01 Mar, 2014

1 commit

  • This patch drops the current way of 6lowpan fragmentation on receiving
    side and replace it with a implementation which use the inet_frag api.
    The old fragmentation handling has some race conditions and isn't
    rfc4944 compatible. Also adding support to match fragments on
    destination address, source address, tag value and datagram_size
    which is missing in the current implementation.

    Signed-off-by: Alexander Aring
    Signed-off-by: David S. Miller

    Alexander Aring