diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index 0809a6d..c462091 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -8433,9 +8433,9 @@ CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple
   <para>
    <xref linkend="cidr-inet-operators-table"> shows the operators
    available for the <type>cidr</type> and <type>inet</type> types.
-   The operators <literal>&lt;&lt;</literal>,
-   <literal>&lt;&lt;=</literal>, <literal>&gt;&gt;</literal>,
-   <literal>&gt;&gt;=</literal>, and <literal>&amp;&amp;</literal>
+   The operators <literal>&lt;@</literal>,
+   <literal>&lt;@=</literal>, <literal>@&gt;</literal>,
+   <literal>@&gt;=</literal>, and <literal>&amp;&amp;</literal>
    test for subnet inclusion.  They
    consider only the network parts of the two addresses (ignoring any
    host part) and determine whether one network is identical to
@@ -8486,22 +8486,22 @@ CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple
        <row>
         <entry> <literal>&lt;&lt;</literal> </entry>
         <entry>is contained by</entry>
-        <entry><literal>inet '192.168.1.5' &lt;&lt; inet '192.168.1/24'</literal></entry>
+        <entry><literal>inet '192.168.1.5' &lt;@ inet '192.168.1/24'</literal></entry>
        </row>
        <row>
         <entry> <literal>&lt;&lt;=</literal> </entry>
         <entry>is contained by or equals</entry>
-        <entry><literal>inet '192.168.1/24' &lt;&lt;= inet '192.168.1/24'</literal></entry>
+        <entry><literal>inet '192.168.1/24' &lt;@= inet '192.168.1/24'</literal></entry>
        </row>
        <row>
-        <entry> <literal>&gt;&gt;</literal> </entry>
+        <entry> <literal>@&gt;</literal> </entry>
         <entry>contains</entry>
-        <entry><literal>inet '192.168.1/24' &gt;&gt; inet '192.168.1.5'</literal></entry>
+        <entry><literal>inet '192.168.1/24' @&gt; inet '192.168.1.5'</literal></entry>
        </row>
        <row>
-        <entry> <literal>&gt;&gt;=</literal> </entry>
+        <entry> <literal>@&gt;=</literal> </entry>
         <entry>contains or equals</entry>
-        <entry><literal>inet '192.168.1/24' &gt;&gt;= inet '192.168.1/24'</literal></entry>
+        <entry><literal>inet '192.168.1/24' @&gt;= inet '192.168.1/24'</literal></entry>
        </row>
        <row>
         <entry> <literal>&amp;&amp;</literal> </entry>
@@ -8542,6 +8542,18 @@ CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple
      </tgroup>
     </table>
 
+  <note>
+    <para>
+     Prior to PostgreSQL 9.4, the inclusion operators <literal>&lt;@</literal>,
+     <literal>&lt;@=</literal>, <literal>@&gt;</literal> and
+     <literal>@&gt;=</literal> were called <literal>&lt;&lt;</literal>,
+     <literal>&lt;&lt;=</literal>, <literal>&gt;&gt;</literal> and
+     <literal>&gt;&gt;=</literal> respectively.  These names are still
+     available but are deprecated. They will eventually be removed and
+     may be used for other purposes in the future releases.
+    </para>
+  </note>
+
   <para>
    <xref linkend="cidr-inet-functions-table"> shows the functions
    available for use with the <type>cidr</type> and <type>inet</type>
diff --git a/doc/src/sgml/gist.sgml b/doc/src/sgml/gist.sgml
index 0158b17..2af6d27 100644
--- a/doc/src/sgml/gist.sgml
+++ b/doc/src/sgml/gist.sgml
@@ -112,16 +112,16 @@
       <entry><type>inet</>, <type>cidr</></entry>
       <entry>
        <literal>&amp;&amp;</>
-       <literal>&gt;&gt;</>
-       <literal>&gt;&gt;=</>
        <literal>&gt;</>
        <literal>&gt;=</>
        <literal>&lt;&gt;</>
-       <literal>&lt;&lt;</>
-       <literal>&lt;&lt;=</>
+       <literal>&lt;@</>
+       <literal>&lt;@=</>
        <literal>&lt;</>
        <literal>&lt;=</>
        <literal>=</>
+       <literal>@&gt;</>
+       <literal>@&gt;=</>
       </entry>
       <entry>
       </entry>
diff --git a/src/backend/utils/adt/network_gist.c b/src/backend/utils/adt/network_gist.c
index 0a826ae..48dbaaf 100644
--- a/src/backend/utils/adt/network_gist.c
+++ b/src/backend/utils/adt/network_gist.c
@@ -55,16 +55,16 @@
  * Operator strategy numbers used in the GiST inet_ops opclass
  */
 #define INETSTRAT_OVERLAPS		3
+#define INETSTRAT_SUP			7
+#define INETSTRAT_SUB			8
 #define INETSTRAT_EQ			18
 #define INETSTRAT_NE			19
 #define INETSTRAT_LT			20
 #define INETSTRAT_LE			21
 #define INETSTRAT_GT			22
 #define INETSTRAT_GE			23
-#define INETSTRAT_SUB			24
+#define INETSTRAT_SUPEQ			24
 #define INETSTRAT_SUBEQ			25
-#define INETSTRAT_SUP			26
-#define INETSTRAT_SUPEQ			27
 
 
 /*
diff --git a/src/include/catalog/pg_amop.h b/src/include/catalog/pg_amop.h
index 8efd3be..0ef5ae7 100644
--- a/src/include/catalog/pg_amop.h
+++ b/src/include/catalog/pg_amop.h
@@ -822,15 +822,15 @@ DATA(insert (	3474   3831 3831 18 s	3882 4000 0 ));
  * GiST inet_ops
  */
 DATA(insert (	3550	869 869 3 s		3552 783 0 ));
+DATA(insert (	3550	869 869 7 s		3562 783 0 ));
+DATA(insert (	3550	869 869 8 s		3563 783 0 ));
 DATA(insert (	3550	869 869 18 s	1201 783 0 ));
 DATA(insert (	3550	869 869 19 s	1202 783 0 ));
 DATA(insert (	3550	869 869 20 s	1203 783 0 ));
 DATA(insert (	3550	869 869 21 s	1204 783 0 ));
 DATA(insert (	3550	869 869 22 s	1205 783 0 ));
 DATA(insert (	3550	869 869 23 s	1206 783 0 ));
-DATA(insert (	3550	869 869 24 s	931 783 0 ));
-DATA(insert (	3550	869 869 25 s	932 783 0 ));
-DATA(insert (	3550	869 869 26 s	933 783 0 ));
-DATA(insert (	3550	869 869 27 s	934 783 0 ));
+DATA(insert (	3550	869 869 24 s	3564 783 0 ));
+DATA(insert (	3550	869 869 25 s	3565 783 0 ));
 
 #endif   /* PG_AMOP_H */
diff --git a/src/include/catalog/pg_operator.h b/src/include/catalog/pg_operator.h
index f280af4..b8152ef 100644
--- a/src/include/catalog/pg_operator.h
+++ b/src/include/catalog/pg_operator.h
@@ -1154,6 +1154,14 @@ DESCR("is supernet or equal");
 #define OID_INET_SUPEQ_OP				934
 DATA(insert OID = 3552	(  "&&"    PGNSP PGUID b f f 869 869	 16 3552	0 network_overlap networksel networkjoinsel ));
 DESCR("overlaps (is subnet or supernet)");
+DATA(insert OID = 3562  (  "@>"	   PGNSP PGUID b f f 869 869	 16 3563	0 network_contains networksel networkjoinsel ));
+DESCR("is supernet");
+DATA(insert OID = 3563  (  "<@"	   PGNSP PGUID b f f 869 869	 16 3562	0 network_contained networksel networkjoinsel ));
+DESCR("is subnet");
+DATA(insert OID = 3564  (  "@>="    PGNSP PGUID b f f 869 869	 16 3565	0 network_containseq networksel networkjoinsel ));
+DESCR("is supernet or equal");
+DATA(insert OID = 3565  (  "<@="    PGNSP PGUID b f f 869 869	 16 3564	0 network_containedeq networksel networkjoinsel ));
+DESCR("is subnet or equal");
 
 DATA(insert OID = 2634 (  "~"	   PGNSP PGUID l f f	  0 869 869 0 0 inetnot - - ));
 DESCR("bitwise not");
diff --git a/src/include/catalog/pg_proc.h b/src/include/catalog/pg_proc.h
index 7b9c587..3572676 100644
--- a/src/include/catalog/pg_proc.h
+++ b/src/include/catalog/pg_proc.h
@@ -2121,6 +2121,10 @@ DATA(insert OID = 928 (  network_subeq		PGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0
 DATA(insert OID = 929 (  network_sup		PGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0 16 "869 869" _null_ _null_ _null_ _null_	network_sup _null_ _null_ _null_ ));
 DATA(insert OID = 930 (  network_supeq		PGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0 16 "869 869" _null_ _null_ _null_ _null_	network_supeq _null_ _null_ _null_ ));
 DATA(insert OID = 3551 (  network_overlap	PGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0 16 "869 869" _null_ _null_ _null_ _null_	network_overlap _null_ _null_ _null_ ));
+DATA(insert OID = 3567 (  network_contains	PGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0 16 "869 869" _null_ _null_ _null_ _null_	network_sup _null_ _null_ _null_ ));
+DATA(insert OID = 3568 (  network_contained	PGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0 16 "869 869" _null_ _null_ _null_ _null_	network_sub _null_ _null_ _null_ ));
+DATA(insert OID = 3569 (  network_containseq	PGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0 16 "869 869" _null_ _null_ _null_ _null_	network_supeq _null_ _null_ _null_ ));
+DATA(insert OID = 3570 (  network_containedeq	PGNSP PGUID 12 1 0 0 0 f f f f t f i 2 0 16 "869 869" _null_ _null_ _null_ _null_	network_subeq _null_ _null_ _null_ ));
 
 /* inet/cidr functions */
 DATA(insert OID = 598 (  abbrev				PGNSP PGUID 12 1 0 0 0 f f f f t f i 1 0 25 "869" _null_ _null_ _null_ _null_	inet_abbrev _null_ _null_ _null_ ));
diff --git a/src/test/regress/expected/inet.out b/src/test/regress/expected/inet.out
index 008cc0b..379f5e4 100644
--- a/src/test/regress/expected/inet.out
+++ b/src/test/regress/expected/inet.out
@@ -179,8 +179,8 @@ SELECT '' AS six, c AS cidr, i AS inet FROM INET_TBL
 SELECT '' AS ten, i, c,
   i < c AS lt, i <= c AS le, i = c AS eq,
   i >= c AS ge, i > c AS gt, i <> c AS ne,
-  i << c AS sb, i <<= c AS sbe,
-  i >> c AS sup, i >>= c AS spe,
+  i <@ c AS sb, i <@= c AS sbe,
+  i @> c AS sup, i @>= c AS spe,
   i && c AS ovr
   FROM INET_TBL;
  ten |        i         |         c          | lt | le | eq | ge | gt | ne | sb | sbe | sup | spe | ovr 
@@ -254,7 +254,7 @@ DROP INDEX inet_idx1;
 -- check that gist index works correctly
 CREATE INDEX inet_idx2 ON inet_tbl using gist (i inet_ops);
 SET enable_seqscan TO off;
-SELECT * FROM inet_tbl WHERE i << '192.168.1.0/24'::cidr ORDER BY i;
+SELECT * FROM inet_tbl WHERE i <@ '192.168.1.0/24'::cidr ORDER BY i;
        c        |        i         
 ----------------+------------------
  192.168.1.0/24 | 192.168.1.0/25
@@ -262,7 +262,7 @@ SELECT * FROM inet_tbl WHERE i << '192.168.1.0/24'::cidr ORDER BY i;
  192.168.1.0/26 | 192.168.1.226
 (3 rows)
 
-SELECT * FROM inet_tbl WHERE i <<= '192.168.1.0/24'::cidr ORDER BY i;
+SELECT * FROM inet_tbl WHERE i <@= '192.168.1.0/24'::cidr ORDER BY i;
        c        |        i         
 ----------------+------------------
  192.168.1.0/24 | 192.168.1.0/24
@@ -284,7 +284,7 @@ SELECT * FROM inet_tbl WHERE i && '192.168.1.0/24'::cidr ORDER BY i;
  192.168.1.0/26 | 192.168.1.226
 (6 rows)
 
-SELECT * FROM inet_tbl WHERE i >>= '192.168.1.0/24'::cidr ORDER BY i;
+SELECT * FROM inet_tbl WHERE i @>= '192.168.1.0/24'::cidr ORDER BY i;
        c        |        i         
 ----------------+------------------
  192.168.1.0/24 | 192.168.1.0/24
@@ -292,7 +292,7 @@ SELECT * FROM inet_tbl WHERE i >>= '192.168.1.0/24'::cidr ORDER BY i;
  192.168.1.0/24 | 192.168.1.255/24
 (3 rows)
 
-SELECT * FROM inet_tbl WHERE i >> '192.168.1.0/24'::cidr ORDER BY i;
+SELECT * FROM inet_tbl WHERE i @> '192.168.1.0/24'::cidr ORDER BY i;
  c | i 
 ---+---
 (0 rows)
diff --git a/src/test/regress/expected/opr_sanity.out b/src/test/regress/expected/opr_sanity.out
index 118f7e4..651ab1a 100644
--- a/src/test/regress/expected/opr_sanity.out
+++ b/src/test/regress/expected/opr_sanity.out
@@ -1123,10 +1123,8 @@ ORDER BY 1, 2, 3;
         783 |           21 | <=
         783 |           22 | >
         783 |           23 | >=
-        783 |           24 | <<
-        783 |           25 | <<=
-        783 |           26 | >>
-        783 |           27 | >>=
+        783 |           24 | @>=
+        783 |           25 | <@=
         783 |           28 | <@
         783 |           48 | <@
         783 |           68 | <@
@@ -1162,7 +1160,7 @@ ORDER BY 1, 2, 3;
        4000 |           15 | >
        4000 |           16 | @>
        4000 |           18 | =
-(80 rows)
+(78 rows)
 
 -- Check that all opclass search operators have selectivity estimators.
 -- This is not absolutely required, but it seems a reasonable thing
diff --git a/src/test/regress/sql/inet.sql b/src/test/regress/sql/inet.sql
index be078fb..4ac3dee 100644
--- a/src/test/regress/sql/inet.sql
+++ b/src/test/regress/sql/inet.sql
@@ -51,8 +51,8 @@ SELECT '' AS six, c AS cidr, i AS inet FROM INET_TBL
 SELECT '' AS ten, i, c,
   i < c AS lt, i <= c AS le, i = c AS eq,
   i >= c AS ge, i > c AS gt, i <> c AS ne,
-  i << c AS sb, i <<= c AS sbe,
-  i >> c AS sup, i >>= c AS spe,
+  i <@ c AS sb, i <@= c AS sbe,
+  i @> c AS sup, i @>= c AS spe,
   i && c AS ovr
   FROM INET_TBL;
 
@@ -70,11 +70,11 @@ DROP INDEX inet_idx1;
 -- check that gist index works correctly
 CREATE INDEX inet_idx2 ON inet_tbl using gist (i inet_ops);
 SET enable_seqscan TO off;
-SELECT * FROM inet_tbl WHERE i << '192.168.1.0/24'::cidr ORDER BY i;
-SELECT * FROM inet_tbl WHERE i <<= '192.168.1.0/24'::cidr ORDER BY i;
+SELECT * FROM inet_tbl WHERE i <@ '192.168.1.0/24'::cidr ORDER BY i;
+SELECT * FROM inet_tbl WHERE i <@= '192.168.1.0/24'::cidr ORDER BY i;
 SELECT * FROM inet_tbl WHERE i && '192.168.1.0/24'::cidr ORDER BY i;
-SELECT * FROM inet_tbl WHERE i >>= '192.168.1.0/24'::cidr ORDER BY i;
-SELECT * FROM inet_tbl WHERE i >> '192.168.1.0/24'::cidr ORDER BY i;
+SELECT * FROM inet_tbl WHERE i @>= '192.168.1.0/24'::cidr ORDER BY i;
+SELECT * FROM inet_tbl WHERE i @> '192.168.1.0/24'::cidr ORDER BY i;
 SELECT * FROM inet_tbl WHERE i < '192.168.1.0/24'::cidr ORDER BY i;
 SELECT * FROM inet_tbl WHERE i <= '192.168.1.0/24'::cidr ORDER BY i;
 SELECT * FROM inet_tbl WHERE i = '192.168.1.0/24'::cidr ORDER BY i;
