[BUG] stick-tables did not work when converting IPv6 to IPv4
A stick-table of type IPv6 would store a wrong IPv4 address as the result of an IPv6 to IPv4 conversion. This bug was introduced in 1.5-dev5.
This commit is contained in:
parent
c9f6011760
commit
442452034e
@ -460,8 +460,8 @@ static void *k_ip2ip(union pattern_data *pdata, union stktable_key_data *kdata,
|
|||||||
|
|
||||||
static void *k_ip2ipv6(union pattern_data *pdata, union stktable_key_data *kdata, size_t *len)
|
static void *k_ip2ipv6(union pattern_data *pdata, union stktable_key_data *kdata, size_t *len)
|
||||||
{
|
{
|
||||||
v4tov6(&pdata->ipv6, &pdata->ip);
|
v4tov6(&kdata->ipv6, &pdata->ip);
|
||||||
return (void *)&pdata->ipv6.s6_addr;
|
return (void *)&kdata->ipv6.s6_addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *k_ipv62ipv6(union pattern_data *pdata, union stktable_key_data *kdata, size_t *len)
|
static void *k_ipv62ipv6(union pattern_data *pdata, union stktable_key_data *kdata, size_t *len)
|
||||||
@ -472,8 +472,8 @@ static void *k_ipv62ipv6(union pattern_data *pdata, union stktable_key_data *kda
|
|||||||
/*
|
/*
|
||||||
static void *k_ipv62ip(union pattern_data *pdata, union stktable_key_data *kdata, size_t *len)
|
static void *k_ipv62ip(union pattern_data *pdata, union stktable_key_data *kdata, size_t *len)
|
||||||
{
|
{
|
||||||
v6tov4(&pdata->ip, &pdata->ipv6);
|
v6tov4(&kdata->ip, &pdata->ipv6);
|
||||||
return (void *)&pdata->ip.s_addr;
|
return (void *)&kdata->ip.s_addr;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user