1. 25 9月, 2015 1 次提交
  2. 24 9月, 2015 1 次提交
  3. 22 9月, 2015 8 次提交
    • A
      mac802154: tx: add warning if MTU exceeds · 02c7b692
      Alexander Aring 提交于
      Sending over AF_PACKET RAW sockets we can sending frames which exceeds
      MTU size. To handling it correct we need to change things in AF_PACKET
      which knows on RAW sockets an additional FCS is set by hardware or
      mac802154 transmit functionality.
      Signed-off-by: NAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      02c7b692
    • A
      ieee802154: change needed headroom/tailroom · 87a93e4e
      Alexander Aring 提交于
      This patch cleanups needed_headroom, needed_tailroom and hard_header_len
      fields for wpan and lowpan interfaces.
      
      For wpan interfaces the worst case mac header len should be part of
      needed_headroom, currently this is set as hard_header_len, but
      hard_header_len should be set to the minimum header length which xmit
      call assumes and this is the minimum frame length of 802.15.4.
      The hard_header_len value will check inside send callbacl of AF_PACKET
      raw sockets.
      
      For lowpan interfaces, if fragmentation isn't needed the skb will
      call dev_hard_header for 802154 layer and queue it afterwards. This
      happens without new skb allocation, so we need the same headroom and
      tailroom lengths like 802154 inside 802154 6lowpan layer. At least we
      assume as minimum header length an ipv6 header size.
      Signed-off-by: NAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      87a93e4e
    • A
      ieee802154: introduce wpan_dev_header_ops · 838b83d6
      Alexander Aring 提交于
      The current header_ops callback structure of net device are used mostly
      from 802.15.4 upper-layers. Because this callback structure is a very
      generic one, which is also used by e.g. DGRAM AF_PACKET sockets, we
      can't make this callback structure 802.15.4 specific which is currently
      is.
      
      I saw the smallest "constraint" for calling this callback with
      dev_hard_header/dev_parse_header by AF_PACKET which assign a 8 byte
      array for address void pointers. Currently 802.15.4 specific protocols
      like af802154 and 6LoWPAN will assign the "struct ieee802154_addr" as
      these parameters which is greater than 8 bytes. The current callback
      implementation for header_ops.create assumes always a complete
      "struct ieee802154_addr" which AF_PACKET can't never handled and is
      greater than 8 bytes.
      
      For that reason we introduce now a "generic" create/parse header_ops
      callback which allows handling with intra-pan extended addresses only.
      This allows a small use-case with AF_PACKET to send "somehow" a valid
      dataframe over DGRAM.
      
      To keeping the current dev_hard_header behaviour we introduce a similar
      callback structure "wpan_dev_header_ops" which contains 802.15.4 specific
      upper-layer header creation functionality, which can be called by
      wpan_dev_hard_header.
      Signed-off-by: NAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      838b83d6
    • A
      ieee802154: header_ops: fix frame control setting · a1da67b8
      Alexander Aring 提交于
      Sometimes upper-layer protocols wants to generate a new mac header by
      filling "struct ieee802154_hdr" only. These upper-layers sets for the
      address settings the source and dest fields, but not the fc fields for
      indicate the source and dest address mode. This patch changes the
      "ieee802154_hdr_push" function so the fc address fields are set
      according the source and dest fields of "struct ieee802154_hdr".
      Signed-off-by: NAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      a1da67b8
    • A
      mac802154: llsec: fix device deletion from list · cdd38b21
      Alexander Aring 提交于
      This patch adds a missing list_del when a device description will be
      deleted.
      
      Cc: Phoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de>
      Signed-off-by: NAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      cdd38b21
    • Y
      tcp: send loss probe after 1s if no RTT available · f9b99582
      Yuchung Cheng 提交于
      This patch makes TLP to use 1 sec timer by default when RTT is
      not available due to SYN/ACK retransmission or SYN cookies.
      
      Prior to this change, the lack of RTT prevents TLP so the first
      data packets sent can only be recovered by fast recovery or RTO.
      If the fast recovery fails to trigger the RTO is 3 second when
      SYN/ACK is retransmitted. With this patch we can trigger fast
      recovery in 1sec instead.
      
      Note that we need to check Fast Open more properly. A Fast Open
      connection could be (accepted then) closed before it receives
      the final ACK of 3WHS so the state is FIN_WAIT_1. Without the
      new check, TLP will retransmit FIN instead of SYN/ACK.
      Signed-off-by: NYuchung Cheng <ycheng@google.com>
      Signed-off-by: NNandita Dukkipati <nanditad@google.com>
      Signed-off-by: NNeal Cardwell <ncardwell@google.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f9b99582
    • Y
      tcp: usec resolution SYN/ACK RTT · 0f1c28ae
      Yuchung Cheng 提交于
      Currently SYN/ACK RTT is measured in jiffies. For LAN the SYN/ACK
      RTT is often measured as 0ms or sometimes 1ms, which would affect
      RTT estimation and min RTT samping used by some congestion control.
      
      This patch improves SYN/ACK RTT to be usec resolution if platform
      supports it. While the timestamping of SYN/ACK is done in request
      sock, the RTT measurement is carefully arranged to avoid storing
      another u64 timestamp in tcp_sock.
      
      For regular handshake w/o SYNACK retransmission, the RTT is sampled
      right after the child socket is created and right before the request
      sock is released (tcp_check_req() in tcp_minisocks.c)
      
      For Fast Open the child socket is already created when SYN/ACK was
      sent, the RTT is sampled in tcp_rcv_state_process() after processing
      the final ACK an right before the request socket is released.
      
      If the SYN/ACK was retransmistted or SYN-cookie was used, we rely
      on TCP timestamps to measure the RTT. The sample is taken at the
      same place in tcp_rcv_state_process() after the timestamp values
      are validated in tcp_validate_incoming(). Note that we do not store
      TS echo value in request_sock for SYN-cookies, because the value
      is already stored in tp->rx_opt used by tcp_ack_update_rtt().
      
      One side benefit is that the RTT measurement now happens before
      initializing congestion control (of the passive side). Therefore
      the congestion control can use the SYN/ACK RTT.
      Signed-off-by: NYuchung Cheng <ycheng@google.com>
      Signed-off-by: NNeal Cardwell <ncardwell@google.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0f1c28ae
    • U
      s390/iucv: do not use arrays as argument · 91e60eb6
      Ursula Braun 提交于
      The iucv code uses arrays as arguments. Even though this does not
      really cause a problem, it could be misleading, since the compiler
      turns array arguments into just a pointer argument. To be more
      precise this patch changes the array arguments into pointers.
      Signed-off-by: NUrsula Braun <ursula.braun@de.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      91e60eb6
  4. 21 9月, 2015 1 次提交
  5. 18 9月, 2015 29 次提交