@@ -4329,11 +4329,11 @@ static int rocker_port_attr_get(struct net_device *dev,
4329
4329
const struct rocker * rocker = rocker_port -> rocker ;
4330
4330
4331
4331
switch (attr -> id ) {
4332
- case SWITCHDEV_ATTR_PORT_PARENT_ID :
4332
+ case SWITCHDEV_ATTR_ID_PORT_PARENT_ID :
4333
4333
attr -> u .ppid .id_len = sizeof (rocker -> hw .id );
4334
4334
memcpy (& attr -> u .ppid .id , & rocker -> hw .id , attr -> u .ppid .id_len );
4335
4335
break ;
4336
- case SWITCHDEV_ATTR_PORT_BRIDGE_FLAGS :
4336
+ case SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS :
4337
4337
attr -> u .brport_flags = rocker_port -> brport_flags ;
4338
4338
break ;
4339
4339
default :
@@ -4369,12 +4369,12 @@ static int rocker_port_attr_set(struct net_device *dev,
4369
4369
int err = 0 ;
4370
4370
4371
4371
switch (attr -> id ) {
4372
- case SWITCHDEV_ATTR_PORT_STP_STATE :
4372
+ case SWITCHDEV_ATTR_ID_PORT_STP_STATE :
4373
4373
err = rocker_port_stp_update (rocker_port , trans ,
4374
4374
ROCKER_OP_FLAG_NOWAIT ,
4375
4375
attr -> u .stp_state );
4376
4376
break ;
4377
- case SWITCHDEV_ATTR_PORT_BRIDGE_FLAGS :
4377
+ case SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS :
4378
4378
err = rocker_port_brport_flags_set (rocker_port , trans ,
4379
4379
attr -> u .brport_flags );
4380
4380
break ;
@@ -4408,7 +4408,7 @@ static int rocker_port_vlan_add(struct rocker_port *rocker_port,
4408
4408
4409
4409
static int rocker_port_vlans_add (struct rocker_port * rocker_port ,
4410
4410
struct switchdev_trans * trans ,
4411
- const struct switchdev_obj_vlan * vlan )
4411
+ const struct switchdev_obj_port_vlan * vlan )
4412
4412
{
4413
4413
u16 vid ;
4414
4414
int err ;
@@ -4425,7 +4425,7 @@ static int rocker_port_vlans_add(struct rocker_port *rocker_port,
4425
4425
4426
4426
static int rocker_port_fdb_add (struct rocker_port * rocker_port ,
4427
4427
struct switchdev_trans * trans ,
4428
- const struct switchdev_obj_fdb * fdb )
4428
+ const struct switchdev_obj_port_fdb * fdb )
4429
4429
{
4430
4430
__be16 vlan_id = rocker_port_vid_to_vlan (rocker_port , fdb -> vid , NULL );
4431
4431
int flags = 0 ;
@@ -4437,25 +4437,27 @@ static int rocker_port_fdb_add(struct rocker_port *rocker_port,
4437
4437
}
4438
4438
4439
4439
static int rocker_port_obj_add (struct net_device * dev ,
4440
- enum switchdev_obj_id id , const void * obj ,
4440
+ const struct switchdev_obj * obj ,
4441
4441
struct switchdev_trans * trans )
4442
4442
{
4443
4443
struct rocker_port * rocker_port = netdev_priv (dev );
4444
4444
const struct switchdev_obj_ipv4_fib * fib4 ;
4445
4445
int err = 0 ;
4446
4446
4447
- switch (id ) {
4448
- case SWITCHDEV_OBJ_PORT_VLAN :
4449
- err = rocker_port_vlans_add (rocker_port , trans , obj );
4447
+ switch (obj -> id ) {
4448
+ case SWITCHDEV_OBJ_ID_PORT_VLAN :
4449
+ err = rocker_port_vlans_add (rocker_port , trans ,
4450
+ SWITCHDEV_OBJ_PORT_VLAN (obj ));
4450
4451
break ;
4451
- case SWITCHDEV_OBJ_IPV4_FIB :
4452
- fib4 = obj ;
4452
+ case SWITCHDEV_OBJ_ID_IPV4_FIB :
4453
+ fib4 = SWITCHDEV_OBJ_IPV4_FIB ( obj ) ;
4453
4454
err = rocker_port_fib_ipv4 (rocker_port , trans ,
4454
4455
htonl (fib4 -> dst ), fib4 -> dst_len ,
4455
4456
fib4 -> fi , fib4 -> tb_id , 0 );
4456
4457
break ;
4457
- case SWITCHDEV_OBJ_PORT_FDB :
4458
- err = rocker_port_fdb_add (rocker_port , trans , obj );
4458
+ case SWITCHDEV_OBJ_ID_PORT_FDB :
4459
+ err = rocker_port_fdb_add (rocker_port , trans ,
4460
+ SWITCHDEV_OBJ_PORT_FDB (obj ));
4459
4461
break ;
4460
4462
default :
4461
4463
err = - EOPNOTSUPP ;
@@ -4480,7 +4482,7 @@ static int rocker_port_vlan_del(struct rocker_port *rocker_port,
4480
4482
}
4481
4483
4482
4484
static int rocker_port_vlans_del (struct rocker_port * rocker_port ,
4483
- const struct switchdev_obj_vlan * vlan )
4485
+ const struct switchdev_obj_port_vlan * vlan )
4484
4486
{
4485
4487
u16 vid ;
4486
4488
int err ;
@@ -4496,7 +4498,7 @@ static int rocker_port_vlans_del(struct rocker_port *rocker_port,
4496
4498
4497
4499
static int rocker_port_fdb_del (struct rocker_port * rocker_port ,
4498
4500
struct switchdev_trans * trans ,
4499
- const struct switchdev_obj_fdb * fdb )
4501
+ const struct switchdev_obj_port_fdb * fdb )
4500
4502
{
4501
4503
__be16 vlan_id = rocker_port_vid_to_vlan (rocker_port , fdb -> vid , NULL );
4502
4504
int flags = ROCKER_OP_FLAG_NOWAIT | ROCKER_OP_FLAG_REMOVE ;
@@ -4508,25 +4510,27 @@ static int rocker_port_fdb_del(struct rocker_port *rocker_port,
4508
4510
}
4509
4511
4510
4512
static int rocker_port_obj_del (struct net_device * dev ,
4511
- enum switchdev_obj_id id , const void * obj )
4513
+ const struct switchdev_obj * obj )
4512
4514
{
4513
4515
struct rocker_port * rocker_port = netdev_priv (dev );
4514
4516
const struct switchdev_obj_ipv4_fib * fib4 ;
4515
4517
int err = 0 ;
4516
4518
4517
- switch (id ) {
4518
- case SWITCHDEV_OBJ_PORT_VLAN :
4519
- err = rocker_port_vlans_del (rocker_port , obj );
4519
+ switch (obj -> id ) {
4520
+ case SWITCHDEV_OBJ_ID_PORT_VLAN :
4521
+ err = rocker_port_vlans_del (rocker_port ,
4522
+ SWITCHDEV_OBJ_PORT_VLAN (obj ));
4520
4523
break ;
4521
- case SWITCHDEV_OBJ_IPV4_FIB :
4522
- fib4 = obj ;
4524
+ case SWITCHDEV_OBJ_ID_IPV4_FIB :
4525
+ fib4 = SWITCHDEV_OBJ_IPV4_FIB ( obj ) ;
4523
4526
err = rocker_port_fib_ipv4 (rocker_port , NULL ,
4524
4527
htonl (fib4 -> dst ), fib4 -> dst_len ,
4525
4528
fib4 -> fi , fib4 -> tb_id ,
4526
4529
ROCKER_OP_FLAG_REMOVE );
4527
4530
break ;
4528
- case SWITCHDEV_OBJ_PORT_FDB :
4529
- err = rocker_port_fdb_del (rocker_port , NULL , obj );
4531
+ case SWITCHDEV_OBJ_ID_PORT_FDB :
4532
+ err = rocker_port_fdb_del (rocker_port , NULL ,
4533
+ SWITCHDEV_OBJ_PORT_FDB (obj ));
4530
4534
break ;
4531
4535
default :
4532
4536
err = - EOPNOTSUPP ;
@@ -4537,8 +4541,8 @@ static int rocker_port_obj_del(struct net_device *dev,
4537
4541
}
4538
4542
4539
4543
static int rocker_port_fdb_dump (const struct rocker_port * rocker_port ,
4540
- struct switchdev_obj_fdb * fdb ,
4541
- int ( * cb )( void * obj ) )
4544
+ struct switchdev_obj_port_fdb * fdb ,
4545
+ switchdev_obj_dump_cb_t * cb )
4542
4546
{
4543
4547
struct rocker * rocker = rocker_port -> rocker ;
4544
4548
struct rocker_fdb_tbl_entry * found ;
@@ -4555,7 +4559,7 @@ static int rocker_port_fdb_dump(const struct rocker_port *rocker_port,
4555
4559
fdb -> ndm_state = NUD_REACHABLE ;
4556
4560
fdb -> vid = rocker_port_vlan_to_vid (rocker_port ,
4557
4561
found -> key .vlan_id );
4558
- err = cb (fdb );
4562
+ err = cb (& fdb -> obj );
4559
4563
if (err )
4560
4564
break ;
4561
4565
}
@@ -4565,8 +4569,8 @@ static int rocker_port_fdb_dump(const struct rocker_port *rocker_port,
4565
4569
}
4566
4570
4567
4571
static int rocker_port_vlan_dump (const struct rocker_port * rocker_port ,
4568
- struct switchdev_obj_vlan * vlan ,
4569
- int ( * cb )( void * obj ) )
4572
+ struct switchdev_obj_port_vlan * vlan ,
4573
+ switchdev_obj_dump_cb_t * cb )
4570
4574
{
4571
4575
u16 vid ;
4572
4576
int err = 0 ;
@@ -4578,7 +4582,7 @@ static int rocker_port_vlan_dump(const struct rocker_port *rocker_port,
4578
4582
if (rocker_vlan_id_is_internal (htons (vid )))
4579
4583
vlan -> flags |= BRIDGE_VLAN_INFO_PVID ;
4580
4584
vlan -> vid_begin = vlan -> vid_end = vid ;
4581
- err = cb (vlan );
4585
+ err = cb (& vlan -> obj );
4582
4586
if (err )
4583
4587
break ;
4584
4588
}
@@ -4587,18 +4591,20 @@ static int rocker_port_vlan_dump(const struct rocker_port *rocker_port,
4587
4591
}
4588
4592
4589
4593
static int rocker_port_obj_dump (struct net_device * dev ,
4590
- enum switchdev_obj_id id , void * obj ,
4591
- int ( * cb )( void * obj ) )
4594
+ struct switchdev_obj * obj ,
4595
+ switchdev_obj_dump_cb_t * cb )
4592
4596
{
4593
4597
const struct rocker_port * rocker_port = netdev_priv (dev );
4594
4598
int err = 0 ;
4595
4599
4596
- switch (id ) {
4597
- case SWITCHDEV_OBJ_PORT_FDB :
4598
- err = rocker_port_fdb_dump (rocker_port , obj , cb );
4600
+ switch (obj -> id ) {
4601
+ case SWITCHDEV_OBJ_ID_PORT_FDB :
4602
+ err = rocker_port_fdb_dump (rocker_port ,
4603
+ SWITCHDEV_OBJ_PORT_FDB (obj ), cb );
4599
4604
break ;
4600
- case SWITCHDEV_OBJ_PORT_VLAN :
4601
- err = rocker_port_vlan_dump (rocker_port , obj , cb );
4605
+ case SWITCHDEV_OBJ_ID_PORT_VLAN :
4606
+ err = rocker_port_vlan_dump (rocker_port ,
4607
+ SWITCHDEV_OBJ_PORT_VLAN (obj ), cb );
4602
4608
break ;
4603
4609
default :
4604
4610
err = - EOPNOTSUPP ;
0 commit comments