-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ECMP feature support #500
base: main
Are you sure you want to change the base?
ECMP feature support #500
Conversation
Co-authored-by: Saikumar Banoth <[email protected]> Signed-off-by: atulpatel261194 <[email protected]>
Signed-off-by: Saikumar, Banoth <[email protected]>
Signed-off-by: Atul Patel <[email protected]>
Signed-off-by: atulpatel261194 <[email protected]>
Signed-off-by: Artsiom Koltun <[email protected]>
@@ -325,81 +332,85 @@ func handlevrf(objectData *eventbus.ObjectData) { | |||
func disableRpFilter(iface string) { | |||
// Work-around for the observation that sometimes the sysctl -w command did not take effect. | |||
rpFilterDisabled := false | |||
for i := 0; i < 3; i++ { | |||
for i := 0; i < 5; i++ { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what's 5 here? create a named const?
// add static rules into the pipeline of representators read from config | ||
representors := make(map[string][2]string) | ||
for k, v := range config.GlobalConfig.P4.Representors { | ||
/*for k, v := range config.GlobalConfig.P4.Representors { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
commented code can be removed
log.Printf("intel-e2000: REPRESENTORS %+v\n", representors) | ||
log.Printf("intel-e2000: REPRESENTORS %+v\n", representors)*/ | ||
// Add the physical port representors | ||
// Add the physical port representors |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
duplication
L3 = L3.L3DecoderInit(representors) | ||
Pod = Pod.PodDecoderInit(representors) | ||
// decoders = []interface{}{L3, Vxlan, Pod} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove
if err != nil { | ||
log.Printf("Error getting ids for port_mux: %v", err) | ||
} else { | ||
representors["port_mux"] = [2]string{portMuxVsi, portMuxMac} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we use slice of 2 elements? Maybe a dedicated struct with mux
andmac
memebrs?
his pull request introduces ECMP (Equal-Cost Multi-Path) Routing Feature, which enhances our network routing capabilities by allowing traffic distribution across multiple paths of equal cost.