-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Currently, the implemented load balancer logic supports only IPv4 traffic.
Support for IPv6 should be implemented as well.
Currently, the session key is only designed for IPv4 traffic:
struct flow_key {
__be32 src_ip;
__be32 dst_ip;
__be16 src_port;
__be16 dst_port;
__u8 protocol;
} __attribute__((packed));
It needs to be changed to something like the following to support also IPv6:
struct flow_key {
uint8_t ip_version;
uint8_t protocol;
union {
__be32 src_ipv4;
__be32 src_ipv6 [4];
} src_addr;
union {
__be32 dst_ipv4;
__be32 dst_ipv6[4];
} dst_addr;
__be16 src_port;
__be16 dst_port;
} __attribute__((packed));
Also the remaining logic should be adjusted accordingly as IPv6 packets have different headers than IPv4 ones.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request