1. 17 5月, 2012 1 次提交
  2. 11 5月, 2012 2 次提交
    • J
      l2tp: fix data packet sequence number handling · d301e325
      James Chapman 提交于
      If enabled, L2TP data packets have sequence numbers which a receiver
      can use to drop out of sequence frames or try to reorder them. The
      first frame has sequence number 0, but the L2TP code currently expects
      it to be 1. This results in the first data frame being handled as out
      of sequence.
      
      This one-line patch fixes the problem.
      Signed-off-by: NJames Chapman <jchapman@katalix.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d301e325
    • J
      l2tp: fix reorder timeout recovery · 38d40b3f
      James Chapman 提交于
      When L2TP data packet reordering is enabled, packets are held in a
      queue while waiting for out-of-sequence packets. If a packet gets
      lost, packets will be held until the reorder timeout expires, when we
      are supposed to then advance to the sequence number of the next packet
      but we don't currently do so. As a result, the data channel is stuck
      because we are waiting for a packet that will never arrive - all
      packets age out and none are passed.
      
      The fix is to add a flag to the session context, which is set when the
      reorder timeout expires and tells the receive code to reset the next
      expected sequence number to that of the next packet in the queue.
      
      Tested in a production L2TP network with Starent and Nortel L2TP gear.
      Signed-off-by: NJames Chapman <jchapman@katalix.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      38d40b3f
  3. 01 5月, 2012 4 次提交
  4. 29 4月, 2012 1 次提交
  5. 14 4月, 2012 1 次提交
    • E
      udp: intoduce udp_encap_needed static_key · 447167bf
      Eric Dumazet 提交于
      Most machines dont use UDP encapsulation (L2TP)
      
      Adds a static_key so that udp_queue_rcv_skb() doesnt have to perform a
      test if L2TP never setup the encap_rcv on a socket.
      
      Idea of this patch came after Simon Horman proposal to add a hook on TCP
      as well.
      
      If static_key is not yet enabled, the fast path does a single JMP .
      
      When static_key is enabled, JMP destination is patched to reach the real
      encap_type/encap_rcv logic, possibly adding cache misses.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Cc: Simon Horman <horms@verge.net.au>
      Cc: dev@openvswitch.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      447167bf
  6. 27 11月, 2011 1 次提交
  7. 09 11月, 2011 1 次提交
  8. 04 11月, 2011 1 次提交
  9. 19 10月, 2011 1 次提交
  10. 27 7月, 2011 1 次提交
  11. 13 5月, 2011 1 次提交
  12. 09 5月, 2011 2 次提交
    • D
      inet: Pass flowi to ->queue_xmit(). · d9d8da80
      David S. Miller 提交于
      This allows us to acquire the exact route keying information from the
      protocol, however that might be managed.
      
      It handles all of the possibilities, from the simplest case of storing
      the key in inet->cork.fl to the more complex setup SCTP has where
      individual transports determine the flow.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d9d8da80
    • D
      l2tp: Fix locking in l2tp_core.c · 6af88da1
      David S. Miller 提交于
      l2tp_xmit_skb() must take the socket lock.  It makes use of ip_queue_xmit()
      which expects to execute in a socket atomic context.
      
      Since we execute this function in software interrupts, we cannot use the
      usual lock_sock()/release_sock() sequence, instead we have to use
      bh_lock_sock() and see if a user has the socket locked, and if so drop
      the packet.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6af88da1
  13. 25 10月, 2010 2 次提交
  14. 24 4月, 2010 1 次提交
  15. 16 4月, 2010 1 次提交
  16. 04 4月, 2010 7 次提交