1. 14 Mar, 2016 6 commits
    • David S. Miller's avatar
      Merge branch 'xen-netback-fix-multiple-extra-info-handling' · 3c4ef851
      David S. Miller authored
      Paul Durrant says:
      
      ====================
      xen-netback: fix multiple extra info handling
      
      If a frontend passes multiple extra info fragments to netback on the guest
      transmit side, because xen-netback does not account for this properly, only
      a single ack response will be sent. This will eventually cause processing
      of the shared ring to wedge.
      
      This series re-imports the canonical netif.h from Xen, where the ring
      protocol documentation has been updated, fixes this issue in xen-netback
      and also adds a patch to reduce log spam.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3c4ef851
    • Paul Durrant's avatar
      xen-netback: reduce log spam · 8e4ee59c
      Paul Durrant authored
      Remove the "prepare for reconnect" pr_info in xenbus.c. It's largely
      uninteresting and the states of the frontend and backend can easily be
      observed by watching the (o)xenstored log.
      Signed-off-by: default avatarPaul Durrant <paul.durrant@citrix.com>
      Cc: Wei Liu <wei.liu2@citrix.com>
      Acked-by: default avatarWei Liu <wei.liu2@citrix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8e4ee59c
    • Paul Durrant's avatar
      xen-netback: support multiple extra info fragments passed from frontend · 562abd39
      Paul Durrant authored
      The code does not currently support a frontend passing multiple extra info
      fragments to the backend in a tx request. The xenvif_get_extras() function
      handles multiple extra_info fragments but make_tx_response() assumes there
      is only ever a single extra info fragment.
      
      This patch modifies xenvif_get_extras() to pass back a count of extra
      info fragments, which is then passed to make_tx_response() (after
      possibly being stashed in pending_tx_info for deferred responses).
      Signed-off-by: default avatarPaul Durrant <paul.durrant@citrix.com>
      Cc: Wei Liu <wei.liu2@citrix.com>
      Acked-by: default avatarWei Liu <wei.liu2@citrix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      562abd39
    • Paul Durrant's avatar
      xen-netback: re-import canonical netif header · 6b8abef5
      Paul Durrant authored
      The canonical netif header (in the Xen source repo) and the Linux variant
      have diverged significantly. Recently much documentation has been added to
      the canonical header which is highly useful for developers making
      modifications to either xen-netfront or xen-netback. This patch therefore
      re-imports the canonical header in its entirity.
      
      To maintain compatibility and some style consistency with the old Linux
      variant, the header was stripped of its emacs boilerplate, and
      post-processed and copied into place with the following commands:
      
      ed -s netif.h << EOF
      H
      ,s/NETTXF_/XEN_NETTXF_/g
      ,s/NETRXF_/XEN_NETRXF_/g
      ,s/NETIF_/XEN_NETIF_/g
      ,s/XEN_XEN_/XEN_/g
      ,s/netif/xen_netif/g
      ,s/xen_xen_/xen_/g
      ,s/^typedef.*$//g
      ,s/^    /${TAB}/g
      w
      $
      w
      EOF
      
      indent --line-length 80 --linux-style netif.h \
      -o include/xen/interface/io/netif.h
      Signed-off-by: default avatarPaul Durrant <paul.durrant@citrix.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Wei Liu <wei.liu2@citrix.com>
      Acked-by: default avatarWei Liu <wei.liu2@citrix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6b8abef5
    • Zhang Shengju's avatar
      netconf: add macro to represent all attributes · 136ba622
      Zhang Shengju authored
      This patch adds macro NETCONFA_ALL to represent all type of netconf
      attributes for IPv4 and IPv6.
      Signed-off-by: default avatarZhang Shengju <zhangshengju@cmss.chinamobile.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      136ba622
    • Xin Long's avatar
      sctp: fix the transports round robin issue when init is retransmitted · 39d2adeb
      Xin Long authored
      prior to this patch, at the beginning if we have two paths in one assoc,
      they may have the same params other than the last_time_heard, it will try
      the paths like this:
      
      1st cycle
        try trans1 fail.
        then trans2 is selected.(cause it's last_time_heard is after trans1).
      
      2nd cycle:
        try  trans2 fail
        then trans2 is selected.(cause it's last_time_heard is after trans1).
      
      3rd cycle:
        try  trans2 fail
        then trans2 is selected.(cause it's last_time_heard is after trans1).
      
      ....
      
      trans1 will never have change to be selected, which is not what we expect.
      we should keeping round robin all the paths if they are just added at the
      beginning.
      
      So at first every tranport's last_time_heard should be initialized 0, so
      that we ensure they have the same value at the beginning, only by this,
      all the transports could get equal chance to be selected.
      
      Then for sctp_trans_elect_best, it should return the trans_next one when
      *trans == *trans_next, so that we can try next if it fails,  but now it
      always return trans. so we can fix it by exchanging these two params when
      we calls sctp_trans_elect_tie().
      
      Fixes: 4c47af4d ('net: sctp: rework multihoming retransmission path selection to rfc4960')
      Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
      Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      39d2adeb
  2. 13 Mar, 2016 6 commits
  3. 11 Mar, 2016 17 commits
  4. 10 Mar, 2016 11 commits