@@ -303,8 +303,8 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
303
303
+ if (!br_port_group_equal(p, port, src))
304
304
continue;
305
305
306
- rcu_assign_pointer(*pp, p->next);
307
- @@ -1517 ,7 +1555 ,7 @@ br_multicast_leave_group(struct net_brid
306
+ if ( p->flags & MDB_PG_FLAGS_PERMANENT)
307
+ @@ -1520 ,7 +1558 ,7 @@ br_multicast_leave_group(struct net_brid
308
308
for (p = mlock_dereference(mp->ports, br);
309
309
p != NULL;
310
310
p = mlock_dereference(p->next, br)) {
@@ -313,7 +313,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
313
313
continue;
314
314
315
315
if (!hlist_unhashed(&p->mglist) &&
316
- @@ -1568 ,7 +1606 ,8 @@ out:
316
+ @@ -1571 ,7 +1609 ,8 @@ out:
317
317
static void br_ip4_multicast_leave_group(struct net_bridge *br,
318
318
struct net_bridge_port *port,
319
319
__be32 group,
@@ -323,7 +323,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
323
323
{
324
324
struct br_ip br_group;
325
325
struct bridge_mcast_own_query *own_query;
326
- @@ -1583 ,14 +1622 ,15 @@ static void br_ip4_multicast_leave_group
326
+ @@ -1586 ,14 +1625 ,15 @@ static void br_ip4_multicast_leave_group
327
327
br_group.vid = vid;
328
328
329
329
br_multicast_leave_group(br, port, &br_group, &br->ip4_other_query,
@@ -341,7 +341,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
341
341
{
342
342
struct br_ip br_group;
343
343
struct bridge_mcast_own_query *own_query;
344
- @@ -1605 ,7 +1645 ,7 @@ static void br_ip6_multicast_leave_group
344
+ @@ -1608 ,7 +1648 ,7 @@ static void br_ip6_multicast_leave_group
345
345
br_group.vid = vid;
346
346
347
347
br_multicast_leave_group(br, port, &br_group, &br->ip6_other_query,
@@ -350,15 +350,15 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
350
350
}
351
351
#endif
352
352
353
- @@ -1648 ,6 +1688 ,7 @@ static int br_multicast_ipv4_rcv(struct
353
+ @@ -1651 ,6 +1691 ,7 @@ static int br_multicast_ipv4_rcv(struct
354
354
u16 vid)
355
355
{
356
356
struct sk_buff *skb_trimmed = NULL;
357
357
+ const unsigned char *src;
358
358
struct igmphdr *ih;
359
359
int err;
360
360
361
- @@ -1663 ,13 +1704 ,14 @@ static int br_multicast_ipv4_rcv(struct
361
+ @@ -1666 ,13 +1707 ,14 @@ static int br_multicast_ipv4_rcv(struct
362
362
}
363
363
364
364
ih = igmp_hdr(skb);
@@ -374,7 +374,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
374
374
break;
375
375
case IGMPV3_HOST_MEMBERSHIP_REPORT:
376
376
err = br_ip4_multicast_igmp3_report(br, port, skb_trimmed, vid);
377
- @@ -1678 ,7 +1720 ,7 @@ static int br_multicast_ipv4_rcv(struct
377
+ @@ -1681 ,7 +1723 ,7 @@ static int br_multicast_ipv4_rcv(struct
378
378
err = br_ip4_multicast_query(br, port, skb_trimmed, vid);
379
379
break;
380
380
case IGMP_HOST_LEAVE_MESSAGE:
@@ -383,15 +383,15 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
383
383
break;
384
384
}
385
385
386
- @@ -1698 ,6 +1740 ,7 @@ static int br_multicast_ipv6_rcv(struct
386
+ @@ -1701 ,6 +1743 ,7 @@ static int br_multicast_ipv6_rcv(struct
387
387
u16 vid)
388
388
{
389
389
struct sk_buff *skb_trimmed = NULL;
390
390
+ const unsigned char *src;
391
391
struct mld_msg *mld;
392
392
int err;
393
393
394
- @@ -1717 ,8 +1760 ,10 @@ static int br_multicast_ipv6_rcv(struct
394
+ @@ -1720 ,8 +1763 ,10 @@ static int br_multicast_ipv6_rcv(struct
395
395
396
396
switch (mld->mld_type) {
397
397
case ICMPV6_MGM_REPORT:
@@ -403,7 +403,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
403
403
break;
404
404
case ICMPV6_MLD2_REPORT:
405
405
err = br_ip6_multicast_mld2_report(br, port, skb_trimmed, vid);
406
- @@ -1727 ,7 +1772 ,8 @@ static int br_multicast_ipv6_rcv(struct
406
+ @@ -1730 ,7 +1775 ,8 @@ static int br_multicast_ipv6_rcv(struct
407
407
err = br_ip6_multicast_query(br, port, skb_trimmed, vid);
408
408
break;
409
409
case ICMPV6_MGM_REDUCTION:
0 commit comments