提交 a6e3b290 编写于 作者: S Shelby Merrick 提交者: Me No Dev

Added support for using TCPIP_ADAPTER_IF_MAX to join igmp groups on all (#2279)

interfaces
上级 812d1316
...@@ -561,26 +561,48 @@ static esp_err_t joinMulticastGroup(const ip_addr_t *addr, bool join, tcpip_adap ...@@ -561,26 +561,48 @@ static esp_err_t joinMulticastGroup(const ip_addr_t *addr, bool join, tcpip_adap
return ESP_ERR_INVALID_ARG; return ESP_ERR_INVALID_ARG;
} }
netif = (struct netif *)nif; netif = (struct netif *)nif;
}
if (addr->type == IPADDR_TYPE_V4) { if (addr->type == IPADDR_TYPE_V4) {
if(join){ if(join){
if (igmp_joingroup_netif(netif, (const ip4_addr *)&(addr->u_addr.ip4))) { if (igmp_joingroup_netif(netif, (const ip4_addr *)&(addr->u_addr.ip4))) {
return ESP_ERR_INVALID_STATE; return ESP_ERR_INVALID_STATE;
}
} else {
if (igmp_leavegroup_netif(netif, (const ip4_addr *)&(addr->u_addr.ip4))) {
return ESP_ERR_INVALID_STATE;
}
} }
} else { } else {
if (igmp_leavegroup_netif(netif, (const ip4_addr *)&(addr->u_addr.ip4))) { if(join){
return ESP_ERR_INVALID_STATE; if (mld6_joingroup_netif(netif, &(addr->u_addr.ip6))) {
return ESP_ERR_INVALID_STATE;
}
} else {
if (mld6_leavegroup_netif(netif, &(addr->u_addr.ip6))) {
return ESP_ERR_INVALID_STATE;
}
} }
} }
} else { } else {
if(join){ if (addr->type == IPADDR_TYPE_V4) {
if (mld6_joingroup_netif(netif, &(addr->u_addr.ip6))) { if(join){
return ESP_ERR_INVALID_STATE; if (igmp_joingroup((const ip4_addr *)IP4_ADDR_ANY, (const ip4_addr *)&(addr->u_addr.ip4))) {
return ESP_ERR_INVALID_STATE;
}
} else {
if (igmp_leavegroup((const ip4_addr *)IP4_ADDR_ANY, (const ip4_addr *)&(addr->u_addr.ip4))) {
return ESP_ERR_INVALID_STATE;
}
} }
} else { } else {
if (mld6_leavegroup_netif(netif, &(addr->u_addr.ip6))) { if(join){
return ESP_ERR_INVALID_STATE; if (mld6_joingroup((const ip6_addr *)IP6_ADDR_ANY, &(addr->u_addr.ip6))) {
return ESP_ERR_INVALID_STATE;
}
} else {
if (mld6_leavegroup((const ip6_addr *)IP6_ADDR_ANY, &(addr->u_addr.ip6))) {
return ESP_ERR_INVALID_STATE;
}
} }
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册