mbox series

[net-next,0/6] net: API and initial implementation for nexthop objects

Message ID 20190524214308.18615-1-dsahern@kernel.org
Headers show
Series net: API and initial implementation for nexthop objects | expand

Message

David Ahern May 24, 2019, 9:43 p.m. UTC
From: David Ahern <dsahern@gmail.com>

This set contains the API and initial implementation for nexthops as
standalone objects.

Patch 1 contains the UAPI and updates to selinux struct.

Patch 2 contains the barebones code for nexthop commands, rbtree
maintenance and notifications.

Patch 3 then adds support for IPv4 gateways along with handling of
netdev events.

Patch 4 adds support for IPv6 gateways.

Patch 5 has the implementation of the encap attributes. 

Patch 6 adds support for nexthop groups.

At the end of this set, nexthop objects can be created and deleted and
userspace can monitor nexthop events, but ipv4 and ipv6 routes can not
use them yet. Once the nexthop struct is defined, follow on sets add it
to fib{6}_info and handle it within the respective code before routes
can be inserted using them.

David Ahern (6):
  net: nexthop uapi
  net: Initial nexthop code
  nexthop: Add support for IPv4 nexthops
  nexthop: Add support for IPv6 gateways
  nexthop: Add support for lwt encaps
  nexthop: Add support for nexthop groups

 include/net/net_namespace.h    |    2 +
 include/net/netns/nexthop.h    |   18 +
 include/net/nexthop.h          |  195 ++++++
 include/uapi/linux/nexthop.h   |   56 ++
 include/uapi/linux/rtnetlink.h |   10 +
 net/ipv4/Makefile              |    2 +-
 net/ipv4/nexthop.c             | 1479 ++++++++++++++++++++++++++++++++++++++++
 security/selinux/nlmsgtab.c    |    5 +-
 8 files changed, 1765 insertions(+), 2 deletions(-)
 create mode 100644 include/net/netns/nexthop.h
 create mode 100644 include/net/nexthop.h
 create mode 100644 include/uapi/linux/nexthop.h
 create mode 100644 net/ipv4/nexthop.c

Comments

David Miller May 29, 2019, 4:38 a.m. UTC | #1
From: David Ahern <dsahern@kernel.org>
Date: Fri, 24 May 2019 14:43:02 -0700

> From: David Ahern <dsahern@gmail.com>
> 
> This set contains the API and initial implementation for nexthops as
> standalone objects.
> 
> Patch 1 contains the UAPI and updates to selinux struct.
> 
> Patch 2 contains the barebones code for nexthop commands, rbtree
> maintenance and notifications.
> 
> Patch 3 then adds support for IPv4 gateways along with handling of
> netdev events.
> 
> Patch 4 adds support for IPv6 gateways.
> 
> Patch 5 has the implementation of the encap attributes. 
> 
> Patch 6 adds support for nexthop groups.
> 
> At the end of this set, nexthop objects can be created and deleted and
> userspace can monitor nexthop events, but ipv4 and ipv6 routes can not
> use them yet. Once the nexthop struct is defined, follow on sets add it
> to fib{6}_info and handle it within the respective code before routes
> can be inserted using them.

Series applied, I'll push this out after compile testing.

Thanks David.