F5BigNetStaticroute

Overview

The F5BigNetStaticroute Custom Resource (CR) configures the Traffic Management Microkernal’s (TMM) static routing table.

This document guides you through a basic F5BigNetStaticroute CR installation.

Parameters

The CR spec parameters used to configure the Service Proxy TMM static routing table are:

Parameter Description
destination The IPv4 Address routing destination.
prefixlen The IPv4 address subnet mask.
gateway The IPv4 address of the routing gateway.
destination_v6 The IPv6 Address routing destination.
prefixlen_v6 The IPv6 address subnet mask.
gateway_v6 The IPv6 address of the routing gateway.
type Type of route to set. The default is gateway.
interface The interface that receives network traffic.

Example CR:

apiVersion: "k8s.f5net.com/v1"
kind: F5BigNetStaticroute
metadata:
  name: "staticroute-172-16"
  namespace: "cnf-gateway"
spec:
  destination_v6: 2002::172:16:10:0
  prefixLen_v6: 116
  type: gateway
  gateway_v6: 2002::192:168:10:100

Requirements

Ensure you have:

Installation

SR-IOV traffic

Use the steps below to create a new route for SR-IOV (network) traffic, pointing the 2002::172:16:10:0/116 subnet to a remote router on TMM’s serverside VLAN interface:

  1. Copy the Example CR into a YAML file named cnf-sriov-route.yaml:

    apiVersion: "k8s.f5net.com/v1"
    kind: F5BigNetStaticroute
    metadata:
      name: "staticroute-172-16"
      namespace: "cnf-gateway"
    spec:
      destination_v6: 2002::172:16:10:0
      prefixLen_v6: 116
      type: gateway
      gateway_v6: 2002::192:168:10:100
    
  2. Install the F5BigNetStaticroute CR:

    kubectl apply -f cnf-static-route.yaml
    
  3. Verify the static route exists in the Service Proxy TMM container’s routing table:

    In this example, TMM is installed in the cnf-gateway Namespace:

    kubectl exec -it deploy/f5-tmm -c f5-tmm -n cnf-gateway -- ip -6 r
    
    2002::10:10:10:100/116 dev clientside proto kernel 
    2002::192:168:10:100/116 dev serverside proto kernel
    2002::172:16:10:0/116 via 2002::192:168:10:200 dev serverside 
    

Cluster traffic

When enabling the BIG-IP Contoller TMM_IGNORE_GATEWAYS Helm parameter, cluster (Pod-to-Pod) traffic may fail. Use the steps below to manually create routes for cluster traffic. In the F5BigNetStaticroute CR example below, a new route is created pointing the DNS Service IP fd74:ca9b:3a09:868c:172:18:0:800a to the Calico default gateway on the TMM Proxy Pod’s eth0 interface:

  1. Copy the CR into a YAML file named cnf-cluster-route.yaml:

    apiVersion: "k8s.f5net.com/v1"
    kind: F5BigNetStaticroute
    metadata:
      name: "cnf-staticroute-dns"
      namespace: "cnf-gateway"
    spec:
      destination_v6: fd74:ca9b:3a09:868c:172:18:0:800a
      dynamic: false
      prefixLen_v6: 116
      type: gateway
      gateway_v6: fe80::ecee:eeff:feee:eeee
      interface: eth0
    
  2. Install the F5BigNetStaticroute CR:

    kubectl apply -f cnf-cluster-route.yaml
    
  3. Verify the static route exists in the Service Proxy TMM container’s routing table:

    In this example, TMM is installed in the cnf-gateway Namespace:

    kubectl exec -it deploy/f5-tmm -c f5-tmm -n cnf-gateway -- ip -6 r
    
    2002::10:20:2:0/112 dev client proto kernel 
    2002::10:30:2:0/112 dev server proto kernel
    fd74:ca9b:3a09:868c:172:18:0:6b58 dev eth0 proto kernel 
    fd74:ca9b:3a09:868c:172:18:0:8000/116 via fe80::ecee:eeff:feee:eeee dev eth0 
    

Feedback

Provide feedback to improve this document by emailing cnfdocs@f5.com.