1. 13 May, 2015 1 commit
  2. 24 Nov, 2014 1 commit
    • Mahesh Bandewar's avatar
      ipvlan: Initial check-in of the IPVLAN driver. · 2ad7bf36
      Mahesh Bandewar authored
      This driver is very similar to the macvlan driver except that it
      uses L3 on the frame to determine the logical interface while
      functioning as packet dispatcher. It inherits L2 of the master
      device hence the packets on wire will have the same L2 for all
      the packets originating from all virtual devices off of the same
      master device.
      This driver was developed keeping the namespace use-case in
      mind. Hence most of the examples given here take that as the
      base setup where main-device belongs to the default-ns and
      virtual devices are assigned to the additional namespaces.
      The device operates in two different modes and the difference
      in these two modes in primarily in the TX side.
      (a) L2 mode : In this mode, the device behaves as a L2 device.
      TX processing upto L2 happens on the stack of the virtual device
      associated with (namespace). Packets are switched after that
      into the main device (default-ns) and queued for xmit.
      RX processing is simple and all multicast, broadcast (if
      applicable), and unicast belonging to the address(es) are
      delivered to the virtual devices.
      (b) L3 mode : In this mode, the device behaves like a L3 device.
      TX processing upto L3 happens on the stack of the virtual device
      associated with (namespace). Packets are switched to the
      main-device (default-ns) for the L2 processing. Hence the routing
      table of the default-ns will be used in this mode.
      RX processins is somewhat similar to the L2 mode except that in
      this mode only Unicast packets are delivered to the virtual device
      while main-dev will handle all other packets.
      The devices can be added using the "ip" command from the iproute2
      package -
      	ip link add link <master> <virtual> type ipvlan mode [ l2 | l3 ]
      Signed-off-by: default avatarMahesh Bandewar <maheshb@google.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Maciej Żenczykowski <maze@google.com>
      Cc: Laurent Chavey <chavey@google.com>
      Cc: Tim Hockin <thockin@google.com>
      Cc: Brandon Philips <brandon.philips@coreos.com>
      Cc: Pavel Emelianov <xemul@parallels.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  3. 05 Aug, 2014 1 commit
  4. 04 Aug, 2014 1 commit
  5. 03 Aug, 2014 1 commit
    • JF Le Fillatre's avatar
      r8152: add missing Makefile rule · 4f933f41
      JF Le Fillatre authored
      Add missing Makefile rule for r8152 driver
      In the current kernel the r8152 driver is *never* built because of a missing rule in drivers/net/Makefile, despite being selected as built-in or module in the .config file. There is no error message or warning to indicate that the driver isn't built. This change adds the rule and lets the driver build.
      Tested as built-in and module for 3.15.8.
      Signed-off by: JF Le Fillatre <jflf-kernel@gmx.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  6. 24 Jun, 2013 1 commit
    • Daniel Borkmann's avatar
      packet: nlmon: virtual netlink monitoring device for packet sockets · e4fc408e
      Daniel Borkmann authored
      Currently, there is no good possibility to debug netlink traffic that
      is being exchanged between kernel and user space. Therefore, this patch
      implements a netlink virtual device, so that netlink messages will be
      made visible to PF_PACKET sockets. Once there was an approach with a
      similar idea [1], but it got forgotten somehow.
      I think it makes most sense to accept the "overhead" of an extra netlink
      net device over implementing the same functionality from PF_PACKET
      sockets once again into netlink sockets. We have BPF filters that can
      already be easily applied which even have netlink extensions, we have
      RX_RING zero-copy between kernel- and user space that can be reused,
      and much more features. So instead of re-implementing all of this, we
      simply pass the skb to a given PF_PACKET socket for further analysis.
      Another nice benefit that comes from that is that no code needs to be
      changed in user space packet analyzers (maybe adding a dissector, but
      not more), thus out of the box, we can already capture pcap files of
      netlink traffic to debug/troubleshoot netlink problems.
      Also thanks goes to Thomas Graf, Flavio Leitner, Jesper Dangaard Brouer.
       [1] http://marc.info/?l=linux-netdev&m=113813401516110
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  7. 18 Jan, 2013 1 commit
  8. 01 Oct, 2012 1 commit
  9. 30 Aug, 2012 1 commit
  10. 16 May, 2012 1 commit
    • Paul Gortmaker's avatar
      tokenring: delete all remaining driver support · ee446fd5
      Paul Gortmaker authored
      This represents the mass deletion of the of the tokenring support.
      It gets rid of:
        - the net/tr.c which the drivers depended on
        - the drivers/net component
        - the Kbuild infrastructure around it
        - any tokenring related CONFIG_ settings in any defconfigs
        - the tokenring headers in the include/linux dir
        - the firmware associated with the tokenring drivers.
        - any associated token ring documentation.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
  11. 29 Nov, 2011 2 commits
  12. 13 Nov, 2011 1 commit
    • Jiri Pirko's avatar
      net: introduce ethernet teaming device · 3d249d4c
      Jiri Pirko authored
      This patch introduces new network device called team. It supposes to be
      very fast, simple, userspace-driven alternative to existing bonding
      Userspace library called libteam with couple of demo apps is available
      Note it's still in its dipers atm.
      team<->libteam use generic netlink for communication. That and rtnl
      suppose to be the only way to configure team device, no sysfs etc.
      Python binding of libteam was recently introduced.
      Daemon providing arpmon/miimon active-backup functionality will be
      introduced shortly. All what's necessary is already implemented in
      kernel team driver.
      	- check ndo_ndo_vlan_rx_[add/kill]_vid functions before calling
      	- use dev_kfree_skb_any() instead of dev_kfree_skb()
      	- transmit and receive functions are not checked in hot paths.
      	  That also resolves memory leak on transmit when no port is
      	- changed couple of _rcu calls to non _rcu ones in non-readers
      	- team_change_mtu() uses team->lock while travesing though port
      	- mac address changes are moved completely to jurisdiction of
      	  userspace daemon. This way the daemon can do FOM1, FOM2 and
      	  possibly other weird things with mac addresses.
      	  Only round-robin mode sets up all ports to bond's address then
      	- Extended Kconfig text
      	- remove redundant synchronize_rcu from __team_change_mode()
      	- revert "set and clear of mode_ops happens per pointer, not per
      	- extend comment of function __team_change_mode()
      	- team_change_mtu() uses rcu version of list traversal to unwind
      	- set and clear of mode_ops happens per pointer, not per byte
      	- port hashlist changed to be embedded into team structure
      	- error branch in team_port_enter() does cleanup now
      	- fixed rtln->rtnl
      	- modes are made as modules. Makes team more modular and
      	- several commenters' nitpicks found on v1 were fixed
      	- several other bugs were fixed.
      	- note I ignored Eric's comment about roundrobin port selector
      	  as Eric's way may be easily implemented as another mode (mode
      	  "random") in future.
      Signed-off-by: default avatarJiri Pirko <jpirko@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  13. 30 Aug, 2011 1 commit
  14. 29 Aug, 2011 1 commit
  15. 27 Aug, 2011 7 commits
  16. 16 Aug, 2011 1 commit
  17. 13 Aug, 2011 10 commits
  18. 12 Aug, 2011 7 commits