From: Daniel Hokka Zakrisson Date: Tue, 31 May 2011 09:44:07 +0000 (+0200) Subject: New kernel APIs X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?p=util-vserver.git;a=commitdiff_plain;h=5a10c8c24a566218ceb97f308835c40b7100634e New kernel APIs --- diff --git a/kernel/limit_cmd.h b/kernel/limit_cmd.h index f67f7fc..594e3bc 100644 --- a/kernel/limit_cmd.h +++ b/kernel/limit_cmd.h @@ -7,6 +7,7 @@ #define VCMD_get_rlimit VC_CMD(RLIMIT, 1, 0) #define VCMD_set_rlimit VC_CMD(RLIMIT, 2, 0) #define VCMD_get_rlimit_mask VC_CMD(RLIMIT, 3, 0) +#define VCMD_reset_hits VC_CMD(RLIMIT, 7, 0) #define VCMD_reset_minmax VC_CMD(RLIMIT, 9, 0) struct vcmd_ctx_rlimit_v0 { diff --git a/kernel/network_cmd.h b/kernel/network_cmd.h index 3327777..dc48f91 100644 --- a/kernel/network_cmd.h +++ b/kernel/network_cmd.h @@ -34,8 +34,8 @@ struct vcmd_net_addr_v0 { struct in_addr mask[4]; }; -#define VCMD_net_add_ipv4 VC_CMD(NETALT, 1, 1) -#define VCMD_net_remove_ipv4 VC_CMD(NETALT, 2, 1) +#define VCMD_net_add_ipv4_v1 VC_CMD(NETALT, 1, 1) +#define VCMD_net_remove_ipv4_v1 VC_CMD(NETALT, 2, 1) struct vcmd_net_addr_ipv4_v1 { uint16_t type; @@ -44,6 +44,17 @@ struct vcmd_net_addr_ipv4_v1 { struct in_addr mask; }; +#define VCMD_net_add_ipv4 VC_CMD(NETALT, 1, 2) +#define VCMD_net_rem_ipv4 VC_CMD(NETALT, 2, 2) + +struct vcmd_net_addr_ipv4_v2 { + uint16_t type; + uint16_t flags; + struct in_addr ip; + struct in_addr ip2; + struct in_addr mask; +}; + #define VCMD_net_add_ipv6 VC_CMD(NETALT, 3, 1) #define VCMD_net_remove_ipv6 VC_CMD(NETALT, 4, 1) diff --git a/kernel/sched_cmd.h b/kernel/sched_cmd.h index c18fb9e..3cf10f3 100644 --- a/kernel/sched_cmd.h +++ b/kernel/sched_cmd.h @@ -89,4 +89,12 @@ struct vcmd_sched_info { int32_t vavavoom; }; +struct vcmd_prio_bias { + int32_t cpu_id; + int32_t prio_bias; +}; + +#define VCMD_set_prio_bias VC_CMD(SCHED, 4, 0) +#define VCMD_get_prio_bias VC_CMD(SCHED, 5, 0) + #endif /* _VX_SCHED_CMD_H */ diff --git a/lib/syscall_netremove-netv2.hc b/lib/syscall_netremove-netv2.hc index da03ef0..1e916aa 100644 --- a/lib/syscall_netremove-netv2.hc +++ b/lib/syscall_netremove-netv2.hc @@ -34,7 +34,7 @@ vc_net_remove_netv2(nid_t nid, struct vc_net_addr const *info) ret = vserver(VCMD_net_remove_ipv6, NID_USER2KERNEL(nid), &k_ipv6); if (ret == -1 && errno != ENOSYS) return -1; - return vserver(VCMD_net_remove_ipv4, NID_USER2KERNEL(nid), &k_ipv4); + return vserver(VCMD_net_remove_ipv4_v1, NID_USER2KERNEL(nid), &k_ipv4); } switch (info->vna_type & (VC_NXA_TYPE_IPV4 | VC_NXA_TYPE_IPV6)) { case VC_NXA_TYPE_IPV4: { @@ -45,7 +45,7 @@ vc_net_remove_netv2(nid_t nid, struct vc_net_addr const *info) k_info.ip.s_addr = info->vna_v4_ip.s_addr; k_info.mask.s_addr = info->vna_v4_mask.s_addr; - return vserver(VCMD_net_remove_ipv4, NID_USER2KERNEL(nid), &k_info); + return vserver(VCMD_net_remove_ipv4_v1, NID_USER2KERNEL(nid), &k_info); } case VC_NXA_TYPE_IPV6: { struct vcmd_net_addr_ipv6_v1 k_info;