diff --git a/openstack/networking/v2/networks/requests.go b/openstack/networking/v2/networks/requests.go
index 5782543..73b8a1f 100644
--- a/openstack/networking/v2/networks/requests.go
+++ b/openstack/networking/v2/networks/requests.go
@@ -19,6 +19,8 @@
 	Page         int
 	PerPage      int
 	Limit        int
+	SortKey      string
+	SortDir      string
 }
 
 type NetworkOpts struct {
@@ -68,6 +70,12 @@
 	if opts.Limit != 0 {
 		q["limit"] = strconv.Itoa(opts.Limit)
 	}
+	if opts.SortKey != "" {
+		q["sort_key"] = opts.SortKey
+	}
+	if opts.SortDir != "" {
+		q["sort_dir"] = opts.SortDir
+	}
 
 	u := ListURL(c) + utils.BuildQuery(q)
 	return pagination.NewPager(c, u, func(r pagination.LastHTTPResponse) pagination.Page {
diff --git a/openstack/networking/v2/ports/requests.go b/openstack/networking/v2/ports/requests.go
index 548b9f2..6543313 100644
--- a/openstack/networking/v2/ports/requests.go
+++ b/openstack/networking/v2/ports/requests.go
@@ -26,6 +26,8 @@
 	Limit           int
 	Page            string
 	PerPage         string
+	SortKey         string
+	SortDir         string
 }
 
 func List(c *gophercloud.ServiceClient, opts ListOpts) pagination.Pager {
@@ -82,6 +84,12 @@
 	if opts.PerPage != "" {
 		q["per_page"] = opts.PerPage
 	}
+	if opts.SortKey != "" {
+		q["sort_key"] = opts.SortKey
+	}
+	if opts.SortDir != "" {
+		q["sort_dir"] = opts.SortDir
+	}
 
 	u := ListURL(c) + utils.BuildQuery(q)
 	return pagination.NewPager(c, u, func(r pagination.LastHTTPResponse) pagination.Page {
diff --git a/openstack/networking/v2/subnets/requests.go b/openstack/networking/v2/subnets/requests.go
index 436e109..f592739 100644
--- a/openstack/networking/v2/subnets/requests.go
+++ b/openstack/networking/v2/subnets/requests.go
@@ -21,6 +21,8 @@
 	Limit      int
 	Page       string
 	PerPage    string
+	SortKey    string
+	SortDir    string
 }
 
 func List(c *gophercloud.ServiceClient, opts ListOpts) pagination.Pager {
@@ -59,6 +61,12 @@
 	if opts.PerPage != "" {
 		q["per_page"] = opts.PerPage
 	}
+	if opts.SortKey != "" {
+		q["sort_key"] = opts.SortKey
+	}
+	if opts.SortDir != "" {
+		q["sort_dir"] = opts.SortDir
+	}
 
 	u := ListURL(c) + utils.BuildQuery(q)
 	return pagination.NewPager(c, u, func(r pagination.LastHTTPResponse) pagination.Page {
