02 Jul, 2013

1 commit

  • Openvswitch uses function from NET_IPGRE_DEMUX module.
    Add Kconfig dependency to fix following compilation errors:
    http://marc.info/?l=linux-netdev&m=137244035226634

    CC: Jesse Gross
    Reported-by: Randy Dunlap
    Signed-off-by: Pravin Shelar
    Acked-by: Randy Dunlap
    Acked-by: Jesse Gross
    Signed-off-by: David S. Miller

    Pravin B Shelar
     

24 Jun, 2013

1 commit


20 Jun, 2013

5 commits


15 Jun, 2013

8 commits


29 May, 2013

1 commit

  • So far, only net_device * could be passed along with netdevice notifier
    event. This patch provides a possibility to pass custom structure
    able to provide info that event listener needs to know.

    Signed-off-by: Jiri Pirko

    v2->v3: fix typo on simeth
    shortened dev_getter
    shortened notifier_info struct name
    v1->v2: fix notifier_call parameter in call_netdevice_notifier()
    Signed-off-by: David S. Miller

    Jiri Pirko
     

30 Apr, 2013

1 commit


25 Apr, 2013

1 commit

  • OVS locking was recently changed to have private OVS lock which
    simplified overall locking. Therefore there is no need to have
    another global genl lock to protect OVS data structures. Following
    patch uses of parallel_ops genl family for OVS. This also allows
    more granual OVS locking using ovs_mutex for protecting OVS data
    structures, which gives more concurrencey. E.g multiple genl
    operations OVS_PACKET_CMD_EXECUTE can run in parallel, etc.

    Signed-off-by: Pravin B Shelar
    Signed-off-by: David S. Miller

    Pravin B Shelar
     

23 Apr, 2013

1 commit

  • Conflicts:
    drivers/net/ethernet/emulex/benet/be_main.c
    drivers/net/ethernet/intel/igb/igb_main.c
    drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
    include/net/scm.h
    net/batman-adv/routing.c
    net/ipv4/tcp_input.c

    The e{uid,gid} --> {uid,gid} credentials fix conflicted with the
    cleanup in net-next to now pass cred structs around.

    The be2net driver had a bug fix in 'net' that overlapped with the VLAN
    interface changes by Patrick McHardy in net-next.

    An IGB conflict existed because in 'net' the build_skb() support was
    reverted, and in 'net-next' there was a comment style fix within that
    code.

    Several batman-adv conflicts were resolved by making sure that all
    calls to batadv_is_my_mac() are changed to have a new bat_priv first
    argument.

    Eric Dumazet's TS ECR fix in TCP in 'net' conflicted with the F-RTO
    rewrite in 'net-next', mostly overlapping changes.

    Thanks to Stephen Rothwell and Antonio Quartulli for help with several
    of these merge resolutions.

    Signed-off-by: David S. Miller

    David S. Miller
     

20 Apr, 2013

2 commits


16 Apr, 2013

2 commits

  • Rather than defining ovs specific stats struct (vport_percpu_stats),
    we can use existing pcpu_tstats to achieve exactly same functionality.

    Signed-off-by: Pravin B Shelar
    Signed-off-by: Jesse Gross

    Pravin B Shelar
     
  • Currently OVS uses combination of genl and rtnl lock to protect
    datapath state. This was done due to networking stack locking.
    But this has complicated locking and there are few lock ordering
    issues with new tunneling protocols.
    Following patch simplifies locking by introducing new ovs mutex
    and now this lock is used to protect entire ovs state.

    Signed-off-by: Pravin B Shelar
    Signed-off-by: Jesse Gross

    Pravin B Shelar
     

11 Apr, 2013

1 commit


03 Apr, 2013

1 commit


30 Mar, 2013

4 commits


28 Mar, 2013

3 commits

  • Add a new constant ETH_P_802_3_MIN, the minimum ethernet type for
    an 802.3 frame. Frames with a lower value in the ethernet type field
    are Ethernet II.

    Also update all the users of this value that David Miller and
    I could find to use the new constant.

    Also correct a bug in util.c. The comparison with ETH_P_802_3_MIN
    should be >= not >.

    As suggested by Jesse Gross.

    Compile tested only.

    Cc: David Miller
    Cc: Jesse Gross
    Cc: Karsten Keil
    Cc: John W. Linville
    Cc: Johannes Berg
    Cc: Bart De Schuymer
    Cc: Stephen Hemminger
    Cc: Patrick McHardy
    Cc: Marcel Holtmann
    Cc: Gustavo Padovan
    Cc: Johan Hedberg
    Cc: linux-bluetooth@vger.kernel.org
    Cc: netfilter-devel@vger.kernel.org
    Cc: bridge@lists.linux-foundation.org
    Cc: linux-wireless@vger.kernel.org
    Cc: linux1394-devel@lists.sourceforge.net
    Cc: linux-media@vger.kernel.org
    Cc: netdev@vger.kernel.org
    Cc: dev@openvswitch.org
    Acked-by: Mauro Carvalho Chehab
    Acked-by: Stefan Richter
    Signed-off-by: Simon Horman
    Signed-off-by: David S. Miller

    Simon Horman
     
  • table->count is uint32_t

    Signed-off-by: Hong Zhiguo
    Signed-off-by: Jesse Gross

    Hong Zhiguo
     
  • Allocation of the Netlink notification skb can potentially fail
    after changing vport configuration. In general, we try to avoid
    this by undoing any change we made but that is difficult for existing
    objects. This avoids the problem by preallocating the buffer (which
    is fixed size).

    Signed-off-by: Jesse Gross

    Jesse Gross
     

21 Mar, 2013

1 commit


18 Mar, 2013

1 commit

  • Conflicts:
    net/openvswitch/vport-internal_dev.c

    Jesse Gross says:

    ====================
    A couple of minor enhancements for net-next/3.10. The largest is an
    extension to allow variable length metadata to be passed to userspace
    with packets.

    There is a merge conflict in net/openvswitch/vport-internal_dev.c:
    A existing commit modifies internal_dev_mac_addr() and a new commit
    deletes it. The new one is correct, so you can just remove that function.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

15 Mar, 2013

1 commit


28 Feb, 2013

1 commit

  • I'm not sure why, but the hlist for each entry iterators were conceived

    list_for_each_entry(pos, head, member)

    The hlist ones were greedy and wanted an extra parameter:

    hlist_for_each_entry(tpos, pos, head, member)

    Why did they need an extra pos parameter? I'm not quite sure. Not only
    they don't really need it, it also prevents the iterator from looking
    exactly like the list iterator, which is unfortunate.

    Besides the semantic patch, there was some manual work required:

    - Fix up the actual hlist iterators in linux/list.h
    - Fix up the declaration of other iterators based on the hlist ones.
    - A very small amount of places were using the 'node' parameter, this
    was modified to use 'obj->member' instead.
    - Coccinelle didn't handle the hlist_for_each_entry_safe iterator
    properly, so those had to be fixed up manually.

    The semantic patch which is mostly the work of Peter Senna Tschudin is here:

    @@
    iterator name hlist_for_each_entry, hlist_for_each_entry_continue, hlist_for_each_entry_from, hlist_for_each_entry_rcu, hlist_for_each_entry_rcu_bh, hlist_for_each_entry_continue_rcu_bh, for_each_busy_worker, ax25_uid_for_each, ax25_for_each, inet_bind_bucket_for_each, sctp_for_each_hentry, sk_for_each, sk_for_each_rcu, sk_for_each_from, sk_for_each_safe, sk_for_each_bound, hlist_for_each_entry_safe, hlist_for_each_entry_continue_rcu, nr_neigh_for_each, nr_neigh_for_each_safe, nr_node_for_each, nr_node_for_each_safe, for_each_gfn_indirect_valid_sp, for_each_gfn_sp, for_each_host;

    type T;
    expression a,c,d,e;
    identifier b;
    statement S;
    @@

    -T b;

    [akpm@linux-foundation.org: drop bogus change from net/ipv4/raw.c]
    [akpm@linux-foundation.org: drop bogus hunk from net/ipv6/raw.c]
    [akpm@linux-foundation.org: checkpatch fixes]
    [akpm@linux-foundation.org: fix warnings]
    [akpm@linux-foudnation.org: redo intrusive kvm changes]
    Tested-by: Peter Senna Tschudin
    Acked-by: Paul E. McKenney
    Signed-off-by: Sasha Levin
    Cc: Wu Fengguang
    Cc: Marcelo Tosatti
    Cc: Gleb Natapov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sasha Levin
     

23 Feb, 2013

4 commits

  • These comments are useless in upstream kernel.

    Cc: David S. Miller
    Cc: Jesse Gross
    Signed-off-by: Cong Wang
    Signed-off-by: Jesse Gross

    Cong Wang
     
  • In vlan_insert_tag(), we insert a 4-byte VLAN header _after_
    mac header:

    memmove(skb->data, skb->data + VLAN_HLEN, 2 * ETH_ALEN);
    ...
    veth->h_vlan_proto = htons(ETH_P_8021Q);
    ...
    veth->h_vlan_TCI = htons(vlan_tci);

    so after it, we should recompute the checksum to include these 4 bytes.
    skb->data still points to the mac header, therefore VLAN header is at
    (2 * ETH_ALEN = 12) bytes after it, not (ETH_HLEN = 14) bytes.

    This can also be observed via tcpdump:

    0x0000: ffff ffff ffff 5254 005d 6f6e 8100 000a
    0x0010: 0806 0001 0800 0604 0001 5254 005d 6f6e
    0x0020: c0a8 026e 0000 0000 0000 c0a8 0282

    Similar for __pop_vlan_tci(), the vlan header we remove is the one
    overwritten in:

    memmove(skb->data + VLAN_HLEN, skb->data, 2 * ETH_ALEN);

    Therefore the VLAN_HLEN = 4 bytes after 2 * ETH_ALEN is the part
    we want to sub from checksum.

    Cc: David S. Miller
    Cc: Jesse Gross
    Signed-off-by: Cong Wang
    Signed-off-by: Jesse Gross

    Cong Wang
     
  • Before this patch, if an LLC/SNAP packet with OUI 00:00:00 had an
    ethertype less than 1536 the flow key given to userspace in the upcall
    would contain the invalid ethertype (for example, 3). If userspace
    attempted to insert a kernel flow for this key it would be rejected
    by ovs_flow_from_nlattrs.

    This patch allows OVS to pass the OFTest pktact.DirectBadLlcPackets.

    Signed-off-by: Rich Lane
    Signed-off-by: Jesse Gross

    Rich Lane
     
  • Without genlmsg_end the upcall message ends (according to nlmsg_len)
    after the struct ovs_header.

    Signed-off-by: Rich Lane
    Signed-off-by: Jesse Gross

    Rich Lane