Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 57d80838 authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller
Browse files

switchdev: rename SWITCHDEV_OBJ_* enum values to SWITCHDEV_OBJ_ID_*

parent c3fc7ac9
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -178,7 +178,7 @@ entries are installed, for example, using iproute2 bridge cmd:
	bridge fdb add ADDR dev DEV [vlan VID] [self]

The driver should use the helper switchdev_port_fdb_xxx ops for ndo_fdb_xxx
ops, and handle add/delete/dump of SWITCHDEV_OBJ_PORT_FDB object using
ops, and handle add/delete/dump of SWITCHDEV_OBJ_ID_PORT_FDB object using
switchdev_port_obj_xxx ops.

XXX: what should be done if offloading this rule to hardware fails (for
@@ -316,9 +316,9 @@ SWITCHDEV_OBJ_IPV[4|6]_FIB object using switchdev_port_obj_xxx ops.
switchdev_port_obj_add is used for both adding a new FIB entry to the device,
or modifying an existing entry on the device.

XXX: Currently, only SWITCHDEV_OBJ_IPV4_FIB objects are supported.
XXX: Currently, only SWITCHDEV_OBJ_ID_IPV4_FIB objects are supported.

SWITCHDEV_OBJ_IPV4_FIB object passes:
SWITCHDEV_OBJ_ID_IPV4_FIB object passes:

	struct switchdev_obj_ipv4_fib {         /* IPV4_FIB */
		u32 dst;
+8 −8
Original line number Diff line number Diff line
@@ -4445,16 +4445,16 @@ static int rocker_port_obj_add(struct net_device *dev,
	int err = 0;

	switch (id) {
	case SWITCHDEV_OBJ_PORT_VLAN:
	case SWITCHDEV_OBJ_ID_PORT_VLAN:
		err = rocker_port_vlans_add(rocker_port, trans, obj);
		break;
	case SWITCHDEV_OBJ_IPV4_FIB:
	case SWITCHDEV_OBJ_ID_IPV4_FIB:
		fib4 = obj;
		err = rocker_port_fib_ipv4(rocker_port, trans,
					   htonl(fib4->dst), fib4->dst_len,
					   fib4->fi, fib4->tb_id, 0);
		break;
	case SWITCHDEV_OBJ_PORT_FDB:
	case SWITCHDEV_OBJ_ID_PORT_FDB:
		err = rocker_port_fdb_add(rocker_port, trans, obj);
		break;
	default:
@@ -4515,17 +4515,17 @@ static int rocker_port_obj_del(struct net_device *dev,
	int err = 0;

	switch (id) {
	case SWITCHDEV_OBJ_PORT_VLAN:
	case SWITCHDEV_OBJ_ID_PORT_VLAN:
		err = rocker_port_vlans_del(rocker_port, obj);
		break;
	case SWITCHDEV_OBJ_IPV4_FIB:
	case SWITCHDEV_OBJ_ID_IPV4_FIB:
		fib4 = obj;
		err = rocker_port_fib_ipv4(rocker_port, NULL,
					   htonl(fib4->dst), fib4->dst_len,
					   fib4->fi, fib4->tb_id,
					   ROCKER_OP_FLAG_REMOVE);
		break;
	case SWITCHDEV_OBJ_PORT_FDB:
	case SWITCHDEV_OBJ_ID_PORT_FDB:
		err = rocker_port_fdb_del(rocker_port, NULL, obj);
		break;
	default:
@@ -4594,10 +4594,10 @@ static int rocker_port_obj_dump(struct net_device *dev,
	int err = 0;

	switch (id) {
	case SWITCHDEV_OBJ_PORT_FDB:
	case SWITCHDEV_OBJ_ID_PORT_FDB:
		err = rocker_port_fdb_dump(rocker_port, obj, cb);
		break;
	case SWITCHDEV_OBJ_PORT_VLAN:
	case SWITCHDEV_OBJ_ID_PORT_VLAN:
		err = rocker_port_vlan_dump(rocker_port, obj, cb);
		break;
	default:
+7 −7
Original line number Diff line number Diff line
@@ -58,20 +58,20 @@ struct switchdev_attr {
struct fib_info;

enum switchdev_obj_id {
	SWITCHDEV_OBJ_UNDEFINED,
	SWITCHDEV_OBJ_PORT_VLAN,
	SWITCHDEV_OBJ_IPV4_FIB,
	SWITCHDEV_OBJ_PORT_FDB,
	SWITCHDEV_OBJ_ID_UNDEFINED,
	SWITCHDEV_OBJ_ID_PORT_VLAN,
	SWITCHDEV_OBJ_ID_IPV4_FIB,
	SWITCHDEV_OBJ_ID_PORT_FDB,
};

/* SWITCHDEV_OBJ_PORT_VLAN */
/* SWITCHDEV_OBJ_ID_PORT_VLAN */
struct switchdev_obj_vlan {
	u16 flags;
	u16 vid_begin;
	u16 vid_end;
};

/* SWITCHDEV_OBJ_IPV4_FIB */
/* SWITCHDEV_OBJ_ID_IPV4_FIB */
struct switchdev_obj_ipv4_fib {
	u32 dst;
	int dst_len;
@@ -82,7 +82,7 @@ struct switchdev_obj_ipv4_fib {
	u32 tb_id;
};

/* SWITCHDEV_OBJ_PORT_FDB */
/* SWITCHDEV_OBJ_ID_PORT_FDB */
struct switchdev_obj_fdb {
	const unsigned char *addr;
	u16 vid;
+1 −1
Original line number Diff line number Diff line
@@ -138,7 +138,7 @@ static void fdb_del_external_learn(struct net_bridge_fdb_entry *f)
		.vid = f->vlan_id,
	};

	switchdev_port_obj_del(f->dst->dev, SWITCHDEV_OBJ_PORT_FDB, &fdb);
	switchdev_port_obj_del(f->dst->dev, SWITCHDEV_OBJ_ID_PORT_FDB, &fdb);
}

static void fdb_delete(struct net_bridge *br, struct net_bridge_fdb_entry *f)
+4 −2
Original line number Diff line number Diff line
@@ -88,7 +88,8 @@ static int __vlan_vid_add(struct net_device *dev, struct net_bridge *br,
			.vid_end = vid,
		};

		err = switchdev_port_obj_add(dev, SWITCHDEV_OBJ_PORT_VLAN, &v);
		err = switchdev_port_obj_add(dev, SWITCHDEV_OBJ_ID_PORT_VLAN,
					     &v);
		if (err == -EOPNOTSUPP)
			err = 0;
	}
@@ -136,7 +137,8 @@ static int __vlan_vid_del(struct net_device *dev, struct net_bridge *br,
			.vid_end = vid,
		};

		err = switchdev_port_obj_del(dev, SWITCHDEV_OBJ_PORT_VLAN, &v);
		err = switchdev_port_obj_del(dev, SWITCHDEV_OBJ_ID_PORT_VLAN,
					     &v);
		if (err == -EOPNOTSUPP)
			err = 0;
	}
Loading