diff --git a/src/backend/utils/adt/network.c b/src/backend/utils/adt/network.c
index e929d6beff0e35ca53a960d0796247171b60155a..f2c337cb8d13e6c489833699dc3d2f916d1bda2d 100644
--- a/src/backend/utils/adt/network.c
+++ b/src/backend/utils/adt/network.c
@@ -172,7 +172,7 @@ network_out(inet *src, bool is_cidr)
 Datum
 inet_out(PG_FUNCTION_ARGS)
 {
-	inet	   *src = PG_GETARG_INET_P(0);
+	inet	   *src = PG_GETARG_INET_PP(0);
 
 	PG_RETURN_CSTRING(network_out(src, false));
 }
@@ -180,7 +180,7 @@ inet_out(PG_FUNCTION_ARGS)
 Datum
 cidr_out(PG_FUNCTION_ARGS)
 {
-	inet	   *src = PG_GETARG_INET_P(0);
+	inet	   *src = PG_GETARG_INET_PP(0);
 
 	PG_RETURN_CSTRING(network_out(src, true));
 }
@@ -299,7 +299,7 @@ network_send(inet *addr, bool is_cidr)
 Datum
 inet_send(PG_FUNCTION_ARGS)
 {
-	inet	   *addr = PG_GETARG_INET_P(0);
+	inet	   *addr = PG_GETARG_INET_PP(0);
 
 	PG_RETURN_BYTEA_P(network_send(addr, false));
 }
@@ -307,7 +307,7 @@ inet_send(PG_FUNCTION_ARGS)
 Datum
 cidr_send(PG_FUNCTION_ARGS)
 {
-	inet	   *addr = PG_GETARG_INET_P(0);
+	inet	   *addr = PG_GETARG_INET_PP(0);
 
 	PG_RETURN_BYTEA_P(network_send(addr, true));
 }
@@ -316,7 +316,7 @@ cidr_send(PG_FUNCTION_ARGS)
 Datum
 inet_to_cidr(PG_FUNCTION_ARGS)
 {
-	inet	   *src = PG_GETARG_INET_P(0);
+	inet	   *src = PG_GETARG_INET_PP(0);
 	inet	   *dst;
 	int			bits;
 	int			byte;
@@ -357,7 +357,7 @@ inet_to_cidr(PG_FUNCTION_ARGS)
 Datum
 inet_set_masklen(PG_FUNCTION_ARGS)
 {
-	inet	   *src = PG_GETARG_INET_P(0);
+	inet	   *src = PG_GETARG_INET_PP(0);
 	int			bits = PG_GETARG_INT32(1);
 	inet	   *dst;
 
@@ -381,7 +381,7 @@ inet_set_masklen(PG_FUNCTION_ARGS)
 Datum
 cidr_set_masklen(PG_FUNCTION_ARGS)
 {
-	inet	   *src = PG_GETARG_INET_P(0);
+	inet	   *src = PG_GETARG_INET_PP(0);
 	int			bits = PG_GETARG_INT32(1);
 	inet	   *dst;
 	int			byte;
@@ -457,8 +457,8 @@ network_cmp_internal(inet *a1, inet *a2)
 Datum
 network_cmp(PG_FUNCTION_ARGS)
 {
-	inet	   *a1 = PG_GETARG_INET_P(0);
-	inet	   *a2 = PG_GETARG_INET_P(1);
+	inet	   *a1 = PG_GETARG_INET_PP(0);
+	inet	   *a2 = PG_GETARG_INET_PP(1);
 
 	PG_RETURN_INT32(network_cmp_internal(a1, a2));
 }
@@ -469,8 +469,8 @@ network_cmp(PG_FUNCTION_ARGS)
 Datum
 network_lt(PG_FUNCTION_ARGS)
 {
-	inet	   *a1 = PG_GETARG_INET_P(0);
-	inet	   *a2 = PG_GETARG_INET_P(1);
+	inet	   *a1 = PG_GETARG_INET_PP(0);
+	inet	   *a2 = PG_GETARG_INET_PP(1);
 
 	PG_RETURN_BOOL(network_cmp_internal(a1, a2) < 0);
 }
@@ -478,8 +478,8 @@ network_lt(PG_FUNCTION_ARGS)
 Datum
 network_le(PG_FUNCTION_ARGS)
 {
-	inet	   *a1 = PG_GETARG_INET_P(0);
-	inet	   *a2 = PG_GETARG_INET_P(1);
+	inet	   *a1 = PG_GETARG_INET_PP(0);
+	inet	   *a2 = PG_GETARG_INET_PP(1);
 
 	PG_RETURN_BOOL(network_cmp_internal(a1, a2) <= 0);
 }
@@ -487,8 +487,8 @@ network_le(PG_FUNCTION_ARGS)
 Datum
 network_eq(PG_FUNCTION_ARGS)
 {
-	inet	   *a1 = PG_GETARG_INET_P(0);
-	inet	   *a2 = PG_GETARG_INET_P(1);
+	inet	   *a1 = PG_GETARG_INET_PP(0);
+	inet	   *a2 = PG_GETARG_INET_PP(1);
 
 	PG_RETURN_BOOL(network_cmp_internal(a1, a2) == 0);
 }
@@ -496,8 +496,8 @@ network_eq(PG_FUNCTION_ARGS)
 Datum
 network_ge(PG_FUNCTION_ARGS)
 {
-	inet	   *a1 = PG_GETARG_INET_P(0);
-	inet	   *a2 = PG_GETARG_INET_P(1);
+	inet	   *a1 = PG_GETARG_INET_PP(0);
+	inet	   *a2 = PG_GETARG_INET_PP(1);
 
 	PG_RETURN_BOOL(network_cmp_internal(a1, a2) >= 0);
 }
@@ -505,8 +505,8 @@ network_ge(PG_FUNCTION_ARGS)
 Datum
 network_gt(PG_FUNCTION_ARGS)
 {
-	inet	   *a1 = PG_GETARG_INET_P(0);
-	inet	   *a2 = PG_GETARG_INET_P(1);
+	inet	   *a1 = PG_GETARG_INET_PP(0);
+	inet	   *a2 = PG_GETARG_INET_PP(1);
 
 	PG_RETURN_BOOL(network_cmp_internal(a1, a2) > 0);
 }
@@ -514,8 +514,8 @@ network_gt(PG_FUNCTION_ARGS)
 Datum
 network_ne(PG_FUNCTION_ARGS)
 {
-	inet	   *a1 = PG_GETARG_INET_P(0);
-	inet	   *a2 = PG_GETARG_INET_P(1);
+	inet	   *a1 = PG_GETARG_INET_PP(0);
+	inet	   *a2 = PG_GETARG_INET_PP(1);
 
 	PG_RETURN_BOOL(network_cmp_internal(a1, a2) != 0);
 }
@@ -526,7 +526,7 @@ network_ne(PG_FUNCTION_ARGS)
 Datum
 hashinet(PG_FUNCTION_ARGS)
 {
-	inet	   *addr = PG_GETARG_INET_P(0);
+	inet	   *addr = PG_GETARG_INET_PP(0);
 	int			addrsize = ip_addrsize(addr);
 
 	/* XXX this assumes there are no pad bytes in the data structure */
@@ -539,8 +539,8 @@ hashinet(PG_FUNCTION_ARGS)
 Datum
 network_sub(PG_FUNCTION_ARGS)
 {
-	inet	   *a1 = PG_GETARG_INET_P(0);
-	inet	   *a2 = PG_GETARG_INET_P(1);
+	inet	   *a1 = PG_GETARG_INET_PP(0);
+	inet	   *a2 = PG_GETARG_INET_PP(1);
 
 	if (ip_family(a1) == ip_family(a2))
 	{
@@ -554,8 +554,8 @@ network_sub(PG_FUNCTION_ARGS)
 Datum
 network_subeq(PG_FUNCTION_ARGS)
 {
-	inet	   *a1 = PG_GETARG_INET_P(0);
-	inet	   *a2 = PG_GETARG_INET_P(1);
+	inet	   *a1 = PG_GETARG_INET_PP(0);
+	inet	   *a2 = PG_GETARG_INET_PP(1);
 
 	if (ip_family(a1) == ip_family(a2))
 	{
@@ -569,8 +569,8 @@ network_subeq(PG_FUNCTION_ARGS)
 Datum
 network_sup(PG_FUNCTION_ARGS)
 {
-	inet	   *a1 = PG_GETARG_INET_P(0);
-	inet	   *a2 = PG_GETARG_INET_P(1);
+	inet	   *a1 = PG_GETARG_INET_PP(0);
+	inet	   *a2 = PG_GETARG_INET_PP(1);
 
 	if (ip_family(a1) == ip_family(a2))
 	{
@@ -584,8 +584,8 @@ network_sup(PG_FUNCTION_ARGS)
 Datum
 network_supeq(PG_FUNCTION_ARGS)
 {
-	inet	   *a1 = PG_GETARG_INET_P(0);
-	inet	   *a2 = PG_GETARG_INET_P(1);
+	inet	   *a1 = PG_GETARG_INET_PP(0);
+	inet	   *a2 = PG_GETARG_INET_PP(1);
 
 	if (ip_family(a1) == ip_family(a2))
 	{
@@ -602,7 +602,7 @@ network_supeq(PG_FUNCTION_ARGS)
 Datum
 network_host(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
+	inet	   *ip = PG_GETARG_INET_PP(0);
 	char	   *ptr;
 	char		tmp[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:255.255.255.255/128")];
 
@@ -628,7 +628,7 @@ network_host(PG_FUNCTION_ARGS)
 Datum
 network_show(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
+	inet	   *ip = PG_GETARG_INET_PP(0);
 	int			len;
 	char		tmp[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:255.255.255.255/128")];
 
@@ -651,7 +651,7 @@ network_show(PG_FUNCTION_ARGS)
 Datum
 inet_abbrev(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
+	inet	   *ip = PG_GETARG_INET_PP(0);
 	char	   *dst;
 	char		tmp[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:255.255.255.255/128")];
 
@@ -669,7 +669,7 @@ inet_abbrev(PG_FUNCTION_ARGS)
 Datum
 cidr_abbrev(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
+	inet	   *ip = PG_GETARG_INET_PP(0);
 	char	   *dst;
 	char		tmp[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:255.255.255.255/128")];
 
@@ -687,7 +687,7 @@ cidr_abbrev(PG_FUNCTION_ARGS)
 Datum
 network_masklen(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
+	inet	   *ip = PG_GETARG_INET_PP(0);
 
 	PG_RETURN_INT32(ip_bits(ip));
 }
@@ -695,7 +695,7 @@ network_masklen(PG_FUNCTION_ARGS)
 Datum
 network_family(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
+	inet	   *ip = PG_GETARG_INET_PP(0);
 
 	switch (ip_family(ip))
 	{
@@ -714,7 +714,7 @@ network_family(PG_FUNCTION_ARGS)
 Datum
 network_broadcast(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
+	inet	   *ip = PG_GETARG_INET_PP(0);
 	inet	   *dst;
 	int			byte;
 	int			bits;
@@ -763,7 +763,7 @@ network_broadcast(PG_FUNCTION_ARGS)
 Datum
 network_network(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
+	inet	   *ip = PG_GETARG_INET_PP(0);
 	inet	   *dst;
 	int			byte;
 	int			bits;
@@ -807,7 +807,7 @@ network_network(PG_FUNCTION_ARGS)
 Datum
 network_netmask(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
+	inet	   *ip = PG_GETARG_INET_PP(0);
 	inet	   *dst;
 	int			byte;
 	int			bits;
@@ -849,7 +849,7 @@ network_netmask(PG_FUNCTION_ARGS)
 Datum
 network_hostmask(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
+	inet	   *ip = PG_GETARG_INET_PP(0);
 	inet	   *dst;
 	int			byte;
 	int			bits;
@@ -1218,7 +1218,7 @@ inet_server_port(PG_FUNCTION_ARGS)
 Datum
 inetnot(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
+	inet	   *ip = PG_GETARG_INET_PP(0);
 	inet	   *dst;
 
 	dst = (inet *) palloc0(sizeof(inet));
@@ -1243,8 +1243,8 @@ inetnot(PG_FUNCTION_ARGS)
 Datum
 inetand(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
-	inet	   *ip2 = PG_GETARG_INET_P(1);
+	inet	   *ip = PG_GETARG_INET_PP(0);
+	inet	   *ip2 = PG_GETARG_INET_PP(1);
 	inet	   *dst;
 
 	dst = (inet *) palloc0(sizeof(inet));
@@ -1275,8 +1275,8 @@ inetand(PG_FUNCTION_ARGS)
 Datum
 inetor(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
-	inet	   *ip2 = PG_GETARG_INET_P(1);
+	inet	   *ip = PG_GETARG_INET_PP(0);
+	inet	   *ip2 = PG_GETARG_INET_PP(1);
 	inet	   *dst;
 
 	dst = (inet *) palloc0(sizeof(inet));
@@ -1359,7 +1359,7 @@ internal_inetpl(inet *ip, int64 addend)
 Datum
 inetpl(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
+	inet	   *ip = PG_GETARG_INET_PP(0);
 	int64		addend = PG_GETARG_INT64(1);
 
 	PG_RETURN_INET_P(internal_inetpl(ip, addend));
@@ -1369,7 +1369,7 @@ inetpl(PG_FUNCTION_ARGS)
 Datum
 inetmi_int8(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
+	inet	   *ip = PG_GETARG_INET_PP(0);
 	int64		addend = PG_GETARG_INT64(1);
 
 	PG_RETURN_INET_P(internal_inetpl(ip, -addend));
@@ -1379,8 +1379,8 @@ inetmi_int8(PG_FUNCTION_ARGS)
 Datum
 inetmi(PG_FUNCTION_ARGS)
 {
-	inet	   *ip = PG_GETARG_INET_P(0);
-	inet	   *ip2 = PG_GETARG_INET_P(1);
+	inet	   *ip = PG_GETARG_INET_PP(0);
+	inet	   *ip2 = PG_GETARG_INET_PP(1);
 	int64		res = 0;
 
 	if (ip_family(ip) != ip_family(ip2))
diff --git a/src/include/utils/inet.h b/src/include/utils/inet.h
index fa217b6611698ffbd6840a43a2ef8dc0c276447e..bf982f67ee73e0cbac0afd9a07af95c66bb6111b 100644
--- a/src/include/utils/inet.h
+++ b/src/include/utils/inet.h
@@ -74,7 +74,7 @@ typedef struct macaddr
 #define DatumGetInetPP(X)	((inet *) PG_DETOAST_DATUM_PACKED(X))
 #define InetPGetDatum(X)	PointerGetDatum(X)
 #define PG_GETARG_INET_P(n) DatumGetInetP(PG_GETARG_DATUM(n))
-#define PG_GETARG_INET_PP(n) DatumGetInetP(PG_GETARG_DATUM_PACKED(n))
+#define PG_GETARG_INET_PP(n) DatumGetInetPP(PG_GETARG_DATUM(n))
 #define PG_RETURN_INET_P(x) return InetPGetDatum(x)
 /* macaddr is a fixed-length pass-by-reference datatype */
 #define DatumGetMacaddrP(X)    ((macaddr *) DatumGetPointer(X))