Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1201451 > unrolled thread

[PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects

Started byVivien Didelot <vivien.didelot@savoirfairelinux.com>
First post2015-08-06 07:50 +0200
Last post2015-08-11 20:10 +0200
Articles 13 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2015-08-06 07:50 +0200
    [PATCH net-next v2 7/7] net: dsa: mv88e6xxx: rework FDB add/del operations Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2015-08-06 07:50 +0200
    Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev  FDB objects David Miller <davem@davemloft.net> - 2015-08-10 07:50 +0200
      Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev  FDB objects Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2015-08-10 15:40 +0200
        Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev  FDB objects Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2015-08-11 18:30 +0200
          Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev  FDB objects David Miller <davem@davemloft.net> - 2015-08-11 19:40 +0200
            Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev  FDB objects David Miller <davem@davemloft.net> - 2015-08-11 20:10 +0200
              Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev  FDB objects Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2015-08-11 20:20 +0200
                Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev  FDB objects David Miller <davem@davemloft.net> - 2015-08-11 21:00 +0200
                  Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev  FDB objects David Miller <davem@davemloft.net> - 2015-08-11 21:10 +0200
                    Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev  FDB objects Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2015-08-11 22:20 +0200
                  Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev  FDB objects David Miller <davem@davemloft.net> - 2015-08-11 21:10 +0200
            Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev  FDB objects Florian Fainelli <f.fainelli@gmail.com> - 2015-08-11 20:10 +0200

#1201451 — [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects

FromVivien Didelot <vivien.didelot@savoirfairelinux.com>
Date2015-08-06 07:50 +0200
Subject[PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects
Message-ID<pUmdX-86Q-5@gated-at.bofh.it>
This patchset refactors the DSA and mv88e6xxx code to use the switchdev FDB
objects.

The first two patches add minor but necessary changes to switchdev, the third
one implements the switchdev glue in DSA for FDB routines, and the remaining
ones refactor the FDB access functions in the mv88e6xxx code.

Below is an usage example (ports 0-2 belongs to br0, ports 3-4 belongs to br1):

    # bridge fdb add 3c:97:0e:11:30:6e dev swp2
    # bridge fdb add 3c:97:0e:11:40:78 dev swp3
    # bridge fdb add 3c:97:0e:11:50:86 dev swp4
    # bridge fdb del 3c:97:0e:11:40:78 dev swp3
    # bridge fdb
    01:00:5e:00:00:01 dev eth0 self permanent
    01:00:5e:00:00:01 dev eth1 self permanent
    00:50:d2:10:78:15 dev swp0 master br0 permanent
    3c:97:0e:11:30:6e dev swp2 self static
    00:50:d2:10:78:15 dev swp3 master br1 permanent
    3c:97:0e:11:50:86 dev swp4 self static
    # cat /sys/kernel/debug/dsa0/atu
    # DB   T/P  Vec State Addr
    # 001  Port 004   e   3c:97:0e:11:30:6e
    # 004  Port 010   e   3c:97:0e:11:50:86

For the 88E6xxx switches, FIDs 1 to num_ports will be reserved for non-bridged
ports and bridge groups, and the remaining will be later used by VLANs.

This change is necessary to welcome the support for hardware VLANs (which will
follow soon).

Changes in v2:

 - remove ndo_bridge_{get,set,del}link from switchdev/DSA glue code

 - use ether_addr_copy instead of memcpy for MAC addresses

 - constify MAC address in port_fdb_{add,del}

 - split the mv88e6xxx code refactoring into several patches

Vivien Didelot (7):
  net: switchdev: change fdb addr for a byte array
  net: switchdev: support static FDB addresses
  net: dsa: add support for switchdev FDB objects
  net: dsa: mv88e6xxx: extend fid mask
  net: dsa: mv88e6xxx: rename ATU MAC accessors
  net: dsa: mv88e6xxx: rework FDB getnext operation
  net: dsa: mv88e6xxx: rework FDB add/del operations

 drivers/net/dsa/mv88e6171.c          |   6 +-
 drivers/net/dsa/mv88e6352.c          |   6 +-
 drivers/net/dsa/mv88e6xxx.c          | 223 ++++++++++++++++++++++++-----------
 drivers/net/dsa/mv88e6xxx.h          |  31 +++--
 drivers/net/ethernet/rocker/rocker.c |   2 +-
 include/net/dsa.h                    |  16 ++-
 include/net/switchdev.h              |   3 +-
 net/bridge/br_fdb.c                  |   2 +-
 net/dsa/slave.c                      | 218 ++++++++++++++++++----------------
 net/switchdev/switchdev.c            |   7 +-
 10 files changed, 317 insertions(+), 197 deletions(-)

-- 
2.4.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1201452 — [PATCH net-next v2 7/7] net: dsa: mv88e6xxx: rework FDB add/del operations

FromVivien Didelot <vivien.didelot@savoirfairelinux.com>
Date2015-08-06 07:50 +0200
Subject[PATCH net-next v2 7/7] net: dsa: mv88e6xxx: rework FDB add/del operations
Message-ID<pUmdY-86Q-35@gated-at.bofh.it>
In reply to#1201451
Add a low level function for the ATU Load operation, and provide FDB add
and delete wrappers functions.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
---
 drivers/net/dsa/mv88e6171.c |   2 +
 drivers/net/dsa/mv88e6352.c |   2 +
 drivers/net/dsa/mv88e6xxx.c | 110 +++++++++++++++++++++++++++++---------------
 drivers/net/dsa/mv88e6xxx.h |   8 ++--
 4 files changed, 80 insertions(+), 42 deletions(-)

diff --git a/drivers/net/dsa/mv88e6171.c b/drivers/net/dsa/mv88e6171.c
index b99fa50..735f04c 100644
--- a/drivers/net/dsa/mv88e6171.c
+++ b/drivers/net/dsa/mv88e6171.c
@@ -116,6 +116,8 @@ struct dsa_switch_driver mv88e6171_switch_driver = {
 	.port_join_bridge       = mv88e6xxx_join_bridge,
 	.port_leave_bridge      = mv88e6xxx_leave_bridge,
 	.port_stp_update        = mv88e6xxx_port_stp_update,
+	.port_fdb_add		= mv88e6xxx_port_fdb_add,
+	.port_fdb_del		= mv88e6xxx_port_fdb_del,
 	.port_fdb_getnext	= mv88e6xxx_port_fdb_getnext,
 };
 
diff --git a/drivers/net/dsa/mv88e6352.c b/drivers/net/dsa/mv88e6352.c
index 0a77135..191fb25 100644
--- a/drivers/net/dsa/mv88e6352.c
+++ b/drivers/net/dsa/mv88e6352.c
@@ -341,6 +341,8 @@ struct dsa_switch_driver mv88e6352_switch_driver = {
 	.port_join_bridge	= mv88e6xxx_join_bridge,
 	.port_leave_bridge	= mv88e6xxx_leave_bridge,
 	.port_stp_update	= mv88e6xxx_port_stp_update,
+	.port_fdb_add		= mv88e6xxx_port_fdb_add,
+	.port_fdb_del		= mv88e6xxx_port_fdb_del,
 	.port_fdb_getnext	= mv88e6xxx_port_fdb_getnext,
 };
 
diff --git a/drivers/net/dsa/mv88e6xxx.c b/drivers/net/dsa/mv88e6xxx.c
index 6cad168..39203bb 100644
--- a/drivers/net/dsa/mv88e6xxx.c
+++ b/drivers/net/dsa/mv88e6xxx.c
@@ -1214,59 +1214,42 @@ static int _mv88e6xxx_atu_mac_read(struct dsa_switch *ds, u8 addr[ETH_ALEN])
 	return 0;
 }
 
-static int __mv88e6xxx_port_fdb_cmd(struct dsa_switch *ds, int port,
-				    const unsigned char *addr, int state)
+static int _mv88e6xxx_atu_load(struct dsa_switch *ds,
+			       struct mv88e6xxx_atu_entry *entry)
 {
-	struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
-	u8 fid = ps->fid[port];
+	u16 reg = 0;
 	int ret;
 
 	ret = _mv88e6xxx_atu_wait(ds);
 	if (ret < 0)
 		return ret;
 
-	ret = _mv88e6xxx_atu_mac_write(ds, addr);
+	ret = _mv88e6xxx_atu_mac_write(ds, entry->mac);
 	if (ret < 0)
 		return ret;
 
-	ret = _mv88e6xxx_reg_write(ds, REG_GLOBAL, GLOBAL_ATU_DATA,
-				   (0x10 << port) | state);
-	if (ret)
-		return ret;
+	if (entry->state != GLOBAL_ATU_DATA_STATE_UNUSED) {
+		unsigned int mask, shift;
 
-	ret = _mv88e6xxx_atu_cmd(ds, fid, GLOBAL_ATU_OP_LOAD_DB);
+		if (entry->trunk) {
+			reg |= GLOBAL_ATU_DATA_TRUNK;
+			mask = GLOBAL_ATU_DATA_TRUNK_ID_MASK;
+			shift = GLOBAL_ATU_DATA_TRUNK_ID_SHIFT;
+		} else {
+			mask = GLOBAL_ATU_DATA_PORT_VECTOR_MASK;
+			shift = GLOBAL_ATU_DATA_PORT_VECTOR_SHIFT;
+		}
 
-	return ret;
-}
+		reg |= (entry->portv_trunkid << shift) & mask;
+	}
 
-int mv88e6xxx_port_fdb_add(struct dsa_switch *ds, int port,
-			   const unsigned char *addr, u16 vid)
-{
-	int state = is_multicast_ether_addr(addr) ?
-		GLOBAL_ATU_DATA_STATE_MC_STATIC :
-		GLOBAL_ATU_DATA_STATE_UC_STATIC;
-	struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
-	int ret;
+	reg |= entry->state & GLOBAL_ATU_DATA_STATE_MASK;
 
-	mutex_lock(&ps->smi_mutex);
-	ret = __mv88e6xxx_port_fdb_cmd(ds, port, addr, state);
-	mutex_unlock(&ps->smi_mutex);
+	ret = _mv88e6xxx_reg_write(ds, REG_GLOBAL, GLOBAL_ATU_DATA, reg);
+	if (ret < 0)
+		return ret;
 
-	return ret;
-}
-
-int mv88e6xxx_port_fdb_del(struct dsa_switch *ds, int port,
-			   const unsigned char *addr, u16 vid)
-{
-	struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
-	int ret;
-
-	mutex_lock(&ps->smi_mutex);
-	ret = __mv88e6xxx_port_fdb_cmd(ds, port, addr,
-				       GLOBAL_ATU_DATA_STATE_UNUSED);
-	mutex_unlock(&ps->smi_mutex);
-
-	return ret;
+	return _mv88e6xxx_atu_cmd(ds, entry->fid, GLOBAL_ATU_OP_LOAD_DB);
 }
 
 static int _mv88e6xxx_atu_getnext(struct dsa_switch *ds, u16 fid,
@@ -1329,6 +1312,57 @@ static int _mv88e6xxx_port_vid_to_fid(struct dsa_switch *ds, int port, u16 vid)
 	return -ENOENT;
 }
 
+static int _mv88e6xxx_port_fdb_load(struct dsa_switch *ds, int port, u16 vid,
+				    const u8 addr[ETH_ALEN], u8 state)
+{
+	struct mv88e6xxx_atu_entry entry = { 0 };
+	int ret;
+
+	ret = _mv88e6xxx_port_vid_to_fid(ds, port, vid);
+	if (ret < 0)
+		return ret;
+
+	entry.fid = ret;
+	entry.state = state;
+	ether_addr_copy(entry.mac, addr);
+	if (state != GLOBAL_ATU_DATA_STATE_UNUSED) {
+		entry.trunk = false;
+		entry.portv_trunkid = BIT(port);
+	}
+
+	return _mv88e6xxx_atu_load(ds, &entry);
+}
+
+int mv88e6xxx_port_fdb_add(struct dsa_switch *ds, int port, u16 vid,
+			   const u8 addr[ETH_ALEN])
+{
+	struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
+	u8 state = is_multicast_ether_addr(addr) ?
+		GLOBAL_ATU_DATA_STATE_MC_STATIC :
+		GLOBAL_ATU_DATA_STATE_UC_STATIC;
+	int ret;
+
+	mutex_lock(&ps->smi_mutex);
+	ret = _mv88e6xxx_port_fdb_load(ds, port, vid, addr, state);
+	mutex_unlock(&ps->smi_mutex);
+
+	return ret;
+}
+
+int mv88e6xxx_port_fdb_del(struct dsa_switch *ds, int port, u16 vid,
+			   const u8 addr[ETH_ALEN])
+{
+	struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
+	u8 state = GLOBAL_ATU_DATA_STATE_UNUSED;
+	int ret;
+
+	mutex_lock(&ps->smi_mutex);
+	ret = _mv88e6xxx_port_fdb_load(ds, port, vid, addr, state);
+	mutex_unlock(&ps->smi_mutex);
+
+	return ret;
+}
+
 int mv88e6xxx_port_fdb_getnext(struct dsa_switch *ds, int port, u16 *vid,
 			       u8 addr[ETH_ALEN], bool *is_static)
 {
diff --git a/drivers/net/dsa/mv88e6xxx.h b/drivers/net/dsa/mv88e6xxx.h
index d9bd6a0..1821095 100644
--- a/drivers/net/dsa/mv88e6xxx.h
+++ b/drivers/net/dsa/mv88e6xxx.h
@@ -423,13 +423,13 @@ int mv88e6xxx_set_eee(struct dsa_switch *ds, int port,
 int mv88e6xxx_join_bridge(struct dsa_switch *ds, int port, u32 br_port_mask);
 int mv88e6xxx_leave_bridge(struct dsa_switch *ds, int port, u32 br_port_mask);
 int mv88e6xxx_port_stp_update(struct dsa_switch *ds, int port, u8 state);
-int mv88e6xxx_port_fdb_add(struct dsa_switch *ds, int port,
-			   const unsigned char *addr, u16 vid);
-int mv88e6xxx_port_fdb_del(struct dsa_switch *ds, int port,
-			   const unsigned char *addr, u16 vid);
 int mv88e6xxx_phy_page_read(struct dsa_switch *ds, int port, int page, int reg);
 int mv88e6xxx_phy_page_write(struct dsa_switch *ds, int port, int page,
 			     int reg, int val);
+int mv88e6xxx_port_fdb_add(struct dsa_switch *ds, int port, u16 vid,
+			   const u8 addr[ETH_ALEN]);
+int mv88e6xxx_port_fdb_del(struct dsa_switch *ds, int port, u16 vid,
+			   const u8 addr[ETH_ALEN]);
 int mv88e6xxx_port_fdb_getnext(struct dsa_switch *ds, int port, u16 *vid,
 			       u8 addr[ETH_ALEN], bool *is_static);
 
-- 
2.4.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1203771 — Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects

FromDavid Miller <davem@davemloft.net>
Date2015-08-10 07:50 +0200
SubjectRe: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects
Message-ID<pVO89-4Pi-21@gated-at.bofh.it>
In reply to#1201451
From: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Date: Thu,  6 Aug 2015 01:44:01 -0400

> This patchset refactors the DSA and mv88e6xxx code to use the switchdev FDB
> objects.

Series applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1204270 — Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects

FromVivien Didelot <vivien.didelot@savoirfairelinux.com>
Date2015-08-10 15:40 +0200
SubjectRe: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects
Message-ID<pVVt0-7LE-3@gated-at.bofh.it>
In reply to#1203771
Hi David,

On 15-08-09 22:48:22, David Miller wrote:
> From: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
> Date: Thu,  6 Aug 2015 01:44:01 -0400
> 
> > This patchset refactors the DSA and mv88e6xxx code to use the switchdev FDB
> > objects.
> 
> Series applied, thanks.

I noticed you didn't push the serie yet. I've just sent the v3 which
includes the switchdev change (ndm_state) mentioned by Scott and the
reordering of commits to improve bisectability, as suggested by Andrew.

Please consider the v3 "[PATCH net-next v3 0/8] net: dsa: mv88e6xxx:
support switchdev FDB objects" instead.

Thanks,
-v
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1205259 — Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects

FromVivien Didelot <vivien.didelot@savoirfairelinux.com>
Date2015-08-11 18:30 +0200
SubjectRe: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects
Message-ID<pWkB3-21W-1@gated-at.bofh.it>
In reply to#1204270
Hi David,

On Aug 10, 2015, at 9:39 AM, Vivien Didelot vivien.didelot@savoirfairelinux.com wrote:

> Hi David,
> 
> On 15-08-09 22:48:22, David Miller wrote:
>> From: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
>> Date: Thu,  6 Aug 2015 01:44:01 -0400
>> 
>> > This patchset refactors the DSA and mv88e6xxx code to use the switchdev FDB
>> > objects.
>> 
>> Series applied, thanks.
> 
> I noticed you didn't push the serie yet. I've just sent the v3 which
> includes the switchdev change (ndm_state) mentioned by Scott and the
> reordering of commits to improve bisectability, as suggested by Andrew.
> 
> Please consider the v3 "[PATCH net-next v3 0/8] net: dsa: mv88e6xxx:
> support switchdev FDB objects" instead.

Somehow this message was ignored or seen too late, and v2 got pushed in
the net-next tree.

v2 introduces an uneeded patch to convert switchdev fdb address (1/7);
an is_static member in switchdev that Scott didn't fully agree on (2/7);
and the calls into the driver are removed in 3/7 and added later in the
patchset, making it hard to bisect, as mentioned by Andrew.

v3 fixes all of that, Scott acked the switchdev change and Andrew
reviewed the whole patchset. It is indeed more readable and simpler:

v2: 10 files changed, 317 insertions(+), 197 deletions(-)
v3: 9 files changed, 260 insertions(+), 129 deletions(-)

I can work on fixup patches to restore v3 changes on top of v2, but this
won't fix the bisectability issue.

Instead of fixing individual portions, reverting the merge commit
f1d5ca4: "Merge branch 'mv88e6xxx-switchdev-fdb'" would undo all the v2
series at once, then v3 can be merged on top of it.

Can you consider this as an option?

Thanks,
-v
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1205327 — Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects

FromDavid Miller <davem@davemloft.net>
Date2015-08-11 19:40 +0200
SubjectRe: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects
Message-ID<pWlGP-3z2-33@gated-at.bofh.it>
In reply to#1205259
From: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Date: Tue, 11 Aug 2015 12:25:06 -0400 (EDT)

> I can work on fixup patches to restore v3 changes on top of v2, but this
> won't fix the bisectability issue.
> 
> Instead of fixing individual portions, reverting the merge commit
> f1d5ca4: "Merge branch 'mv88e6xxx-switchdev-fdb'" would undo all the v2
> series at once, then v3 can be merged on top of it.
> 
> Can you consider this as an option?

Nothing will fix bisectability, so don't try.

Reverting an entire series when you have the fix available
already is excessive.

So as I have already asked you, send a relative fixup to clear
up this situation.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1205345 — Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects

FromDavid Miller <davem@davemloft.net>
Date2015-08-11 20:10 +0200
SubjectRe: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects
Message-ID<pWm9P-4tl-3@gated-at.bofh.it>
In reply to#1205327
From: Florian Fainelli <f.fainelli@gmail.com>
Date: Tue, 11 Aug 2015 11:03:35 -0700

> Put differently, my question is how do you value not rewriting
> history vs. breaking bisectability (by accident of course)?

I never will rewrite history, ever.

Too many people clone my tree and depend upon it.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1205354 — Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects

FromVivien Didelot <vivien.didelot@savoirfairelinux.com>
Date2015-08-11 20:20 +0200
SubjectRe: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects
Message-ID<pWmjv-4EE-5@gated-at.bofh.it>
In reply to#1205345
Hi David,

On Aug 11, 2015, at 2:07 PM, David davem@davemloft.net wrote:

> From: Florian Fainelli <f.fainelli@gmail.com>
> Date: Tue, 11 Aug 2015 11:03:35 -0700
> 
>> Put differently, my question is how do you value not rewriting
>> history vs. breaking bisectability (by accident of course)?
> 
> I never will rewrite history, ever.
> 
> Too many people clone my tree and depend upon it.

Sorry, I still don't understand. What are the consequences of:

    git revert -m 1 f1d5ca4

Then applying v3?

You already did that in the past:
https://github.com/torvalds/linux/commit/1f2cd84

Thanks,
-v
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1205381 — Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects

FromDavid Miller <davem@davemloft.net>
Date2015-08-11 21:00 +0200
SubjectRe: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects
Message-ID<pWmWe-5o0-25@gated-at.bofh.it>
In reply to#1205354
From: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Date: Tue, 11 Aug 2015 14:18:42 -0400 (EDT)

> On Aug 11, 2015, at 2:07 PM, David davem@davemloft.net wrote:
> 
>> From: Florian Fainelli <f.fainelli@gmail.com>
>> Date: Tue, 11 Aug 2015 11:03:35 -0700
>> 
>>> Put differently, my question is how do you value not rewriting
>>> history vs. breaking bisectability (by accident of course)?
>> 
>> I never will rewrite history, ever.
>> 
>> Too many people clone my tree and depend upon it.
> 
> Sorry, I still don't understand. What are the consequences of:
> 
>     git revert -m 1 f1d5ca4
> 
> Then applying v3?

In this scenerio I think a relative fixup works better.

> You already did that in the past:
> https://github.com/torvalds/linux/commit/1f2cd84

Each and every situation is evaluated by me on a case by case
basis.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1205386 — Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects

FromDavid Miller <davem@davemloft.net>
Date2015-08-11 21:10 +0200
SubjectRe: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects
Message-ID<pWn5T-5Oy-7@gated-at.bofh.it>
In reply to#1205381
From: David Miller <davem@davemloft.net>
Date: Tue, 11 Aug 2015 12:00:27 -0700 (PDT)

> Ok, if you guys really want me to I'll do the revert-reapply thing.

Done.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1205411 — Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects

FromVivien Didelot <vivien.didelot@savoirfairelinux.com>
Date2015-08-11 22:20 +0200
SubjectRe: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects
Message-ID<pWobE-7lR-1@gated-at.bofh.it>
In reply to#1205386
Hi David,

On 15-08-11 12:05:18, David Miller wrote:
> From: David Miller <davem@davemloft.net>
> Date: Tue, 11 Aug 2015 12:00:27 -0700 (PDT)
> 
> > Ok, if you guys really want me to I'll do the revert-reapply thing.
> 
> Done.

Thank you, this is much appreciated.

-v
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1205389 — Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects

FromDavid Miller <davem@davemloft.net>
Date2015-08-11 21:10 +0200
SubjectRe: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects
Message-ID<pWn5T-5Oy-9@gated-at.bofh.it>
In reply to#1205381
From: David Miller <davem@davemloft.net>
Date: Tue, 11 Aug 2015 11:52:49 -0700 (PDT)

> From: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
> Date: Tue, 11 Aug 2015 14:18:42 -0400 (EDT)
> 
>> On Aug 11, 2015, at 2:07 PM, David davem@davemloft.net wrote:
>> 
>>> From: Florian Fainelli <f.fainelli@gmail.com>
>>> Date: Tue, 11 Aug 2015 11:03:35 -0700
>>> 
>>>> Put differently, my question is how do you value not rewriting
>>>> history vs. breaking bisectability (by accident of course)?
>>> 
>>> I never will rewrite history, ever.
>>> 
>>> Too many people clone my tree and depend upon it.
>> 
>> Sorry, I still don't understand. What are the consequences of:
>> 
>>     git revert -m 1 f1d5ca4
>> 
>> Then applying v3?
> 
> In this scenerio I think a relative fixup works better.
> 
>> You already did that in the past:
>> https://github.com/torvalds/linux/commit/1f2cd84
> 
> Each and every situation is evaluated by me on a case by case
> basis.

Ok, if you guys really want me to I'll do the revert-reapply thing.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1205352 — Re: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects

FromFlorian Fainelli <f.fainelli@gmail.com>
Date2015-08-11 20:10 +0200
SubjectRe: [PATCH net-next v2 0/7] net: dsa: mv88e6xxx: support switchdev FDB objects
Message-ID<pWm9P-4tl-5@gated-at.bofh.it>
In reply to#1205327
On 11/08/15 10:38, David Miller wrote:
> From: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
> Date: Tue, 11 Aug 2015 12:25:06 -0400 (EDT)
> 
>> I can work on fixup patches to restore v3 changes on top of v2, but this
>> won't fix the bisectability issue.
>>
>> Instead of fixing individual portions, reverting the merge commit
>> f1d5ca4: "Merge branch 'mv88e6xxx-switchdev-fdb'" would undo all the v2
>> series at once, then v3 can be merged on top of it.
>>
>> Can you consider this as an option?
> 
> Nothing will fix bisectability, so don't try.
> 
> Reverting an entire series when you have the fix available
> already is excessive.
> 
> So as I have already asked you, send a relative fixup to clear
> up this situation.

What if the fix is to actually not break bisectability? Put differently,
my question is how do you value not rewriting history vs. breaking
bisectability (by accident of course)?
-- 
Florian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web