|
|
@ -197,7 +197,7 @@ |
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1465,6 +1492,7 @@ static int br_multicast_ipv4_rcv(struct
|
|
|
|
@@ -1465,6 +1492,7 @@ static int br_multicast_ipv4_rcv(struct
|
|
|
|
struct sk_buff *skb,
|
|
|
|
struct sk_buff *skb,
|
|
|
|
u16 vid)
|
|
|
|
u16 vid)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -205,7 +205,7 @@ |
|
|
|
struct sk_buff *skb2 = skb;
|
|
|
|
struct sk_buff *skb2 = skb;
|
|
|
|
const struct iphdr *iph;
|
|
|
|
const struct iphdr *iph;
|
|
|
|
struct igmphdr *ih;
|
|
|
|
struct igmphdr *ih;
|
|
|
|
@@ -1538,7 +1566,7 @@ static int br_multicast_ipv4_rcv(struct
|
|
|
|
@@ -1538,7 +1566,7 @@ static int br_multicast_ipv4_rcv(struct
|
|
|
|
case IGMP_HOST_MEMBERSHIP_REPORT:
|
|
|
|
case IGMP_HOST_MEMBERSHIP_REPORT:
|
|
|
|
case IGMPV2_HOST_MEMBERSHIP_REPORT:
|
|
|
|
case IGMPV2_HOST_MEMBERSHIP_REPORT:
|
|
|
|
BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
|
|
|
|
BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
|
|
|
@ -214,7 +214,7 @@ |
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case IGMPV3_HOST_MEMBERSHIP_REPORT:
|
|
|
|
case IGMPV3_HOST_MEMBERSHIP_REPORT:
|
|
|
|
err = br_ip4_multicast_igmp3_report(br, port, skb2, vid);
|
|
|
|
err = br_ip4_multicast_igmp3_report(br, port, skb2, vid);
|
|
|
|
@@ -1547,7 +1575,7 @@ static int br_multicast_ipv4_rcv(struct
|
|
|
|
@@ -1547,7 +1575,7 @@ static int br_multicast_ipv4_rcv(struct
|
|
|
|
err = br_ip4_multicast_query(br, port, skb2, vid);
|
|
|
|
err = br_ip4_multicast_query(br, port, skb2, vid);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case IGMP_HOST_LEAVE_MESSAGE:
|
|
|
|
case IGMP_HOST_LEAVE_MESSAGE:
|
|
|
@ -223,7 +223,7 @@ |
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1565,6 +1593,7 @@ static int br_multicast_ipv6_rcv(struct
|
|
|
|
@@ -1565,6 +1593,7 @@ static int br_multicast_ipv6_rcv(struct
|
|
|
|
struct sk_buff *skb,
|
|
|
|
struct sk_buff *skb,
|
|
|
|
u16 vid)
|
|
|
|
u16 vid)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -231,7 +231,7 @@ |
|
|
|
struct sk_buff *skb2;
|
|
|
|
struct sk_buff *skb2;
|
|
|
|
const struct ipv6hdr *ip6h;
|
|
|
|
const struct ipv6hdr *ip6h;
|
|
|
|
u8 icmp6_type;
|
|
|
|
u8 icmp6_type;
|
|
|
|
@@ -1674,7 +1703,8 @@ static int br_multicast_ipv6_rcv(struct
|
|
|
|
@@ -1674,7 +1703,8 @@ static int br_multicast_ipv6_rcv(struct
|
|
|
|
}
|
|
|
|
}
|
|
|
|
mld = (struct mld_msg *)skb_transport_header(skb2);
|
|
|
|
mld = (struct mld_msg *)skb_transport_header(skb2);
|
|
|
|
BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
|
|
|
|
BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
|
|
|
@ -241,7 +241,7 @@ |
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case ICMPV6_MLD2_REPORT:
|
|
|
|
case ICMPV6_MLD2_REPORT:
|
|
|
|
@@ -1691,7 +1721,7 @@ static int br_multicast_ipv6_rcv(struct
|
|
|
|
@@ -1691,7 +1721,7 @@ static int br_multicast_ipv6_rcv(struct
|
|
|
|
goto out;
|
|
|
|
goto out;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
mld = (struct mld_msg *)skb_transport_header(skb2);
|
|
|
|
mld = (struct mld_msg *)skb_transport_header(skb2);
|
|
|
|