On 8/22/25 6:30 AM, Sragdhara Datta Chaudhuri wrote:
> The LB health monitoring functionality has been extended to support NFs.
> Network_Function_Group has a list of Network_Functions, each of which has a
> reference to network_Function_Health_Check that has the monitoring config.
> There is a corresponding SB service_monitor maintaining the online/offline
> status. When status changes, northd picks one of the “online” NFs and sets in
> network_function_active field of NFG. The redirection rule in LS uses the
> ports from this NF.
> 
> Ovn-controller performs the health monitoring by sending ICMP echo request
> with source IP and MAC from NB global options “svc_monitor_ip4” and
> “svc_monitor_mac”, and destination IP and MAC from new NB global options
> “svc_monitor_ip4_dst” and “svc_monitor_mac_dst”. The sequence number and id
> are randomly generated and stored in service_mon. The NF VM forwards the
> same packet out of the other port. When it comes out, ovn-controller matches
> the sequence number and id with stored values and marks online if matched.
> 
> In SB Service_Monitor table three new fields have been added:
> type: to indicate “load-balancer” or “network-function”
> mac: the destination MAC address for the monitor packets
> logical_input_port: The LSP to which the probe packet would be sent
>                     (taken from inport of Network_Function)
> In IC SB Service_Monitor table a new field has been added:
> type: only allowed value is “load-balancer”
> 
> Co-authored-by: Naveen Yerramneni <[email protected]>
> Co-authored-by: Karthik Chandrashekar <[email protected]>
> Signed-off-by: Naveen Yerramneni <[email protected]>
> Signed-off-by: Karthik Chandrashekar <[email protected]>
> Signed-off-by: Sragdhara Datta Chaudhuri <[email protected]>
> ---

Hi Sragdhara,

Thanks for this new version!

>  controller/pinctrl.c      | 252 ++++++++++++++++++++++++++++------
>  ic/ovn-ic.c               |   6 +
>  northd/en-global-config.c |  82 +++++++++++
>  northd/en-global-config.h |  12 +-
>  northd/en-northd.c        |   4 +
>  northd/en-sync-sb.c       |  16 ++-
>  northd/northd.c           | 279 ++++++++++++++++++++++++++++++++++----
>  northd/northd.h           |   5 +
>  northd/ovn-northd.8.xml   | 239 ++++++++++++++++++++++++++++++--
>  ovn-ic-sb.ovsschema       |   7 +-
>  ovn-ic-sb.xml             |   4 +
>  ovn-sb.ovsschema          |  12 +-
>  ovn-sb.xml                |  24 +++-
>  ovs                       |   2 +-

Not a full review, I just wanted to point out the reason for some of the
failures that happen in CI with this last patch:

https://github.com/ovsrobot/ovn/actions/runs/17146379806/job/48646888444#step:12:5424

They likely happen because you inadvertently moved the ovs submodule
here to an old version.  That breaks ovn-sbctl filtering.

The network function tests seem to have passed, which is good, I can
test things locally too now.

We need a v8 anyway to address remaining review comments.  Let's make
sure we don't include this submodule change in v8.

I'll review the v7 in the coming days.

Regards,
Dumitru

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to