mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-26 11:32:23 -06:00
linux-user: update netlink route types
Add RTA_PREF and RTA_CACHEINFO. Fix following errors when we start gedit: Unknown host RTA type: 12 Unknown host RTA type: 20 Signed-off-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20180820171557.7734-4-laurent@vivier.eu>
This commit is contained in:
parent
3c3ab559c1
commit
90cce2a106
1 changed files with 19 additions and 0 deletions
|
@ -2693,12 +2693,17 @@ static abi_long host_to_target_data_addr_rtattr(struct rtattr *rtattr)
|
||||||
static abi_long host_to_target_data_route_rtattr(struct rtattr *rtattr)
|
static abi_long host_to_target_data_route_rtattr(struct rtattr *rtattr)
|
||||||
{
|
{
|
||||||
uint32_t *u32;
|
uint32_t *u32;
|
||||||
|
struct rta_cacheinfo *ci;
|
||||||
|
|
||||||
switch (rtattr->rta_type) {
|
switch (rtattr->rta_type) {
|
||||||
/* binary: depends on family type */
|
/* binary: depends on family type */
|
||||||
case QEMU_RTA_GATEWAY:
|
case QEMU_RTA_GATEWAY:
|
||||||
case QEMU_RTA_DST:
|
case QEMU_RTA_DST:
|
||||||
case QEMU_RTA_PREFSRC:
|
case QEMU_RTA_PREFSRC:
|
||||||
break;
|
break;
|
||||||
|
/* u8 */
|
||||||
|
case QEMU_RTA_PREF:
|
||||||
|
break;
|
||||||
/* u32 */
|
/* u32 */
|
||||||
case QEMU_RTA_PRIORITY:
|
case QEMU_RTA_PRIORITY:
|
||||||
case QEMU_RTA_TABLE:
|
case QEMU_RTA_TABLE:
|
||||||
|
@ -2706,6 +2711,20 @@ static abi_long host_to_target_data_route_rtattr(struct rtattr *rtattr)
|
||||||
u32 = RTA_DATA(rtattr);
|
u32 = RTA_DATA(rtattr);
|
||||||
*u32 = tswap32(*u32);
|
*u32 = tswap32(*u32);
|
||||||
break;
|
break;
|
||||||
|
/* struct rta_cacheinfo */
|
||||||
|
case QEMU_RTA_CACHEINFO:
|
||||||
|
ci = RTA_DATA(rtattr);
|
||||||
|
ci->rta_clntref = tswap32(ci->rta_clntref);
|
||||||
|
ci->rta_lastuse = tswap32(ci->rta_lastuse);
|
||||||
|
ci->rta_expires = tswap32(ci->rta_expires);
|
||||||
|
ci->rta_error = tswap32(ci->rta_error);
|
||||||
|
ci->rta_used = tswap32(ci->rta_used);
|
||||||
|
#if defined(RTNETLINK_HAVE_PEERINFO)
|
||||||
|
ci->rta_id = tswap32(ci->rta_id);
|
||||||
|
ci->rta_ts = tswap32(ci->rta_ts);
|
||||||
|
ci->rta_tsage = tswap32(ci->rta_tsage);
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
gemu_log("Unknown host RTA type: %d\n", rtattr->rta_type);
|
gemu_log("Unknown host RTA type: %d\n", rtattr->rta_type);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue