1 # Useful Sysctl Settings
2 Sysctl on Linux systems can tweak many useful behaviors. When it comes to a routing protocol suite like FRRouting there are numerous values depending on your use case that make sense to optimize.
4 The below sysctl values provide a logical set of defaults which can be further optimized.
8 # /etc/sysctl.d/99frr_defaults.conf
9 # Place this file at the location above and reload the device.
10 # or run the sysctl -p /etc/sysctl.d/99frr_defaults.conf
12 # Enables IPv4/IPv6 Routing
13 net.ipv4.ip_forward = 1
14 net.ipv6.conf.all.forwarding=1
17 net.ipv6.route.max_size=131072
18 net.ipv4.conf.all.ignore_routes_with_linkdown=1
19 net.ipv6.conf.all.ignore_routes_with_linkdown=1
21 # Best Settings for Peering w/ BGP Unnumbered
23 net.ipv4.conf.all.rp_filter = 0
24 net.ipv4.conf.default.rp_filter = 0
25 net.ipv4.conf.lo.rp_filter = 0
26 net.ipv4.conf.all.forwarding = 1
27 net.ipv4.conf.default.forwarding = 1
28 net.ipv4.conf.default.arp_announce = 2
29 net.ipv4.conf.default.arp_notify = 1
30 net.ipv4.conf.default.arp_ignore=1
31 net.ipv4.conf.all.arp_announce = 2
32 net.ipv4.conf.all.arp_notify = 1
33 net.ipv4.conf.all.arp_ignore=1
34 net.ipv4.icmp_errors_use_inbound_ifaddr=1
36 # Miscellaneous Settings
38 # Keep ipv6 permanent addresses on an admin down
39 net.ipv6.conf.all.keep_addr_on_down=1
42 net.ipv4.igmp_max_memberships=1000
43 net.ipv4.neigh.default.mcast_solicit = 10
46 net.ipv6.mld_max_msf=512
48 # Garbage Collection Settings for ARP and Neighbors
49 net.ipv4.neigh.default.gc_thresh2=7168
50 net.ipv4.neigh.default.gc_thresh3=8192
51 net.ipv4.neigh.default.base_reachable_time_ms=14400000
52 net.ipv6.neigh.default.gc_thresh2=3584
53 net.ipv6.neigh.default.gc_thresh3=4096
54 net.ipv6.neigh.default.base_reachable_time_ms=14400000
56 # Use neigh information on selection of nexthop for multipath hops
57 net.ipv4.fib_multipath_use_neigh=1
59 # Allows Apps to Work with VRF
60 net.ipv4.tcp_l3mdev_accept=1