NetBSD/sbin/route/keywords.c
ozaki-r 09973b35ac Separate nexthop caches from the routing table
By this change, nexthop caches (IP-MAC address pair) are not stored
in the routing table anymore. Instead nexthop caches are stored in
each network interface; we already have lltable/llentry data structure
for this purpose. This change also obsoletes the concept of cloning/cloned
routes. Cloned routes no longer exist while cloning routes still exist
with renamed to connected routes.

Noticeable changes are:
- Nexthop caches aren't listed in route show/netstat -r
  - sysctl(NET_RT_DUMP) doesn't return them
  - If RTF_LLDATA is specified, it returns nexthop caches
- Several definitions of routing flags and messages are removed
  - RTF_CLONING, RTF_XRESOLVE, RTF_LLINFO, RTF_CLONED and RTM_RESOLVE
- RTF_CONNECTED is added
  - It has the same value of RTF_CLONING for backward compatibility
- route's -xresolve, -[no]cloned and -llinfo options are removed
  - -[no]cloning remains because it seems there are users
  - -[no]connected is introduced and recommended
    to be used instead of -[no]cloning
- route show/netstat -r drops some flags
  - 'L' and 'c' are not seen anymore
  - 'C' now indicates a connected route
- Gateway value of a route of an interface address is now not
  a L2 address but "link#N" like a connected (cloning) route
- Proxy ARP: "arp -s ... pub" doesn't create a route

You can know details of behavior changes by seeing diffs under tests/.

Proposed on tech-net and tech-kern:
  http://mail-index.netbsd.org/tech-net/2016/03/11/msg005701.html
2016-04-04 07:37:07 +00:00

64 lines
1.4 KiB
C

/* $NetBSD: keywords.c,v 1.11 2016/04/04 07:37:07 ozaki-r Exp $ */
/* WARNING! This file was generated by keywords.sh */
#include "keywords.h"
struct keytab keywords[] = {
{"add", K_ADD},
{"atalk", K_ATALK},
{"blackhole", K_BLACKHOLE},
{"change", K_CHANGE},
{"cloning", K_CONNECTED}, /* For backward compatibility */
{"connected", K_CONNECTED},
{"delete", K_DELETE},
{"dst", K_DST},
{"expire", K_EXPIRE},
{"flush", K_FLUSH},
{"gateway", K_GATEWAY},
{"genmask", K_GENMASK},
{"get", K_GET},
{"host", K_HOST},
{"hopcount", K_HOPCOUNT},
{"iface", K_IFACE},
{"interface", K_INTERFACE},
{"ifa", K_IFA},
{"ifp", K_IFP},
{"inet", K_INET},
{"inet6", K_INET6},
{"link", K_LINK},
{"lock", K_LOCK},
{"lockrest", K_LOCKREST},
{"mask", K_MASK},
{"monitor", K_MONITOR},
{"mtu", K_MTU},
{"net", K_NET},
{"netmask", K_NETMASK},
{"nostatic", K_NOSTATIC},
{"prefixlen", K_PREFIXLEN},
{"proto1", K_PROTO1},
{"proto2", K_PROTO2},
{"recvpipe", K_RECVPIPE},
{"reject", K_REJECT},
{"rtt", K_RTT},
{"rttvar", K_RTTVAR},
{"sa", K_SA},
{"sendpipe", K_SENDPIPE},
{"show", K_SHOW},
{"ssthresh", K_SSTHRESH},
{"static", K_STATIC},
{"x25", K_X25},
{"xns", K_XNS},
{"flushall", K_FLUSHALL},
{"nocloning", K_NOCONNECTED}, /* For backward compatibility */
{"noconnected", K_NOCONNECTED},
{"noblackhole", K_NOBLACKHOLE},
{"noreject", K_NOREJECT},
{"mpls", K_MPLS},
{"tag", K_TAG},
{"proxy", K_PROXY},
{0, 0}
};