Meridio icon indicating copy to clipboard operation
Meridio copied to clipboard

VIP Range Support

Open LionelJouin opened this issue 1 year ago • 0 comments

Is your feature request related to a problem? Please describe.

Users should be able to add VIP range and not only VIP with /32 (for IPv4) and 128 (for IPv6) as prefix length as address in the VIP object.

Example:

---
apiVersion: meridio.nordix.org/v1alpha1
kind: Vip
metadata:
  name: vip-v4-60-0-0-0-24
  namespace: red
  labels:
    trench: trench-a
spec:
  address: "60.0.0.0/24"

Sending traffic with any IP from 60.0.0.0 to 60.0.0.255 as destination IP would work.

Describe the solution you'd like

/

Describe alternatives you've considered

Here are 2 solutions for Linux to consider traffic as local:

1. Loopback interface

Instead of being added to the nsm interface, the VIP must be added to the loopback interface. This feature is not implemented in NSM and might require a complete new object in the NSM API and new chain element(s).

2. Local route

The current configuration will not be modified, but a local route will be added to consider traffic as local.

man ip - Routes Types: local - the destinations are assigned to this host. The packets are looped back and delivered locally.

A simple boolean local property can be added to the NSM API route message: https://github.com/networkservicemesh/api/blob/main/pkg/api/networkservice/connectioncontext.proto#L32

The implementation requires minor changes in the ipcontext/routes chain element: https://github.com/networkservicemesh/sdk-kernel/tree/main/pkg/kernel/networkservice/connectioncontextkernel/ipcontext/routes

Additional context

/

LionelJouin avatar Mar 24 '23 13:03 LionelJouin