netobserv / netobserv-ebpf-agent

Network Observability eBPF Agent
Apache License 2.0
128 stars 33 forks source link

NETOBSERV-1637: OVS monitoring ebpf hook #286

Closed msherif1234 closed 3 weeks ago

msherif1234 commented 7 months ago

Description

OVS monitoring eBPF hook feature

ebpf configs to enable ovs tracking from operator

      advanced:
        env:
          ENABLE_OVS_MONITORING: "true"
- bpftool perf show -p
[{
        "pid": 2854,
        "fd": 8,
        "prog_id": 143,
        "fd_type": "kprobe",
        "func": "psample_sample_packet",
        "offset": 0
    }
]
- bpftool map dump id 258
"key": {
            "eth_protocol": 2048,
            "direction": 0,
            "src_mac": [2,220,231,139,148,213
            ],
            "dst_mac": [10,88,10,128,2,12
            ],
            "src_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,2
            ],
            "dst_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,12
            ],
            "src_port": 56546,
            "dst_port": 8080,
            "transport_protocol": 6,
            "icmp_type": 0,
            "icmp_code": 0,
            "if_index": 2
        },
        "values": [{
                "cpu": 0,
                "value": {
                    "packets": 1,
                    "bytes": 74,
                    "start_mono_time_ts": 6218828496667,
                    "end_mono_time_ts": 6218828496667,
                    "flags": 2,
                    "errno": 0,
                    "dscp": 0,
                    "pkt_drops": {
                        "packets": 0,
                        "bytes": 0,
                        "latest_flags": 0,
                        "latest_state": 0,
                        "latest_drop_cause": 0
                    },
                    "dns_record": {
                        "id": 0,
                        "flags": 0,
                        "latency": 0,
                        "errno": 0
                    },
                    "flow_rtt": 0,
                     ovs_dp_keys": [[0,0,0,0,12,0,255,238
                        ],[0,0,0,0,0,0,0,0
                        ],[0,0,0,0,0,0,0,0
                        ],[0,0,0,0,0,0,0,0
                        ]

Dependencies

Checklist

If you are not familiar with our processes or don't know what to answer in the list below, let us know in a comment: the maintainers will take care of that.

msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:ee409ec

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=ee409ec make set-agent-image
msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:46cc1a3

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=46cc1a3 make set-agent-image
msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:a4a79e1

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=a4a79e1 make set-agent-image
msherif1234 commented 2 months ago

/ok-to-test

msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:009fcd7

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=009fcd7 make set-agent-image
msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:574070c

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=574070c make set-agent-image
msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:34be34e

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=34be34e make set-agent-image
msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:e33f64c

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=e33f64c make set-agent-image
msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:5dc0221

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=5dc0221 make set-agent-image
msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:ddfa33a

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=ddfa33a make set-agent-image
msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:8807867

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=8807867 make set-agent-image
msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:49ed1ed

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=49ed1ed make set-agent-image
msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:2b107c9

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=2b107c9 make set-agent-image
msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:bb746a7

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=bb746a7 make set-agent-image
openshift-ci-robot commented 1 month ago

@msherif1234: This pull request references NETOBSERV-1637 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.18.0" version, but no target version was set.

In response to [this](https://github.com/netobserv/netobserv-ebpf-agent/pull/286): >## Description > >OVS monitoring eBPF hook feature > >ebpf configs to enable ovs tracking from operator > >```yaml > advanced: > env: > ENABLE_OVS_MONITORING: "true" >``` > >```sh >- bpftool perf show -p >[{ > "pid": 2854, > "fd": 8, > "prog_id": 143, > "fd_type": "kprobe", > "func": "psample_sample_packet", > "offset": 0 > } >] >- bpftool map dump id 258 >"key": { > "eth_protocol": 2048, > "direction": 0, > "src_mac": [2,220,231,139,148,213 > ], > "dst_mac": [10,88,10,128,2,12 > ], > "src_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,2 > ], > "dst_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,12 > ], > "src_port": 56546, > "dst_port": 8080, > "transport_protocol": 6, > "icmp_type": 0, > "icmp_code": 0, > "if_index": 2 > }, > "values": [{ > "cpu": 0, > "value": { > "packets": 1, > "bytes": 74, > "start_mono_time_ts": 6218828496667, > "end_mono_time_ts": 6218828496667, > "flags": 2, > "errno": 0, > "dscp": 0, > "pkt_drops": { > "packets": 0, > "bytes": 0, > "latest_flags": 0, > "latest_state": 0, > "latest_drop_cause": 0 > }, > "dns_record": { > "id": 0, > "flags": 0, > "latency": 0, > "errno": 0 > }, > "flow_rtt": 0, > ovs_dp_keys": [[0,0,0,0,12,0,255,238 > ],[0,0,0,0,0,0,0,0 > ],[0,0,0,0,0,0,0,0 > ],[0,0,0,0,0,0,0,0 > ] >``` > > >## Dependencies >- new kernel update with OVS hook >- new version of OVS >- new version of OVN >- https://github.com/ovn-org/ovn-kubernetes/pull/4596 >- https://github.com/netobserv/network-observability-operator/pull/664 >- https://github.com/netobserv/flowlogs-pipeline/pull/669 >- https://github.com/netobserv/network-observability-console-plugin/pull/535 > >## Checklist > >If you are not familiar with our processes or don't know what to answer in the list below, let us know in a comment: the maintainers will take care of that. > >* [ ] Will this change affect NetObserv / Network Observability operator? If not, you can ignore the rest of this checklist. >* [ ] Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix _(in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes)._ >* [ ] Does this PR require product documentation? > * [ ] If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs. >* [ ] Does this PR require a product release notes entry? > * [ ] If so, fill in "Release Note Text" in the JIRA. >* [ ] Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc. > * [ ] If so, make sure it is described in the JIRA ticket. >* QE requirements (check 1 from the list): > * [ ] Standard QE validation, with pre-merge tests unless stated otherwise. > * [ ] Regression tests only (e.g. refactoring with no user-facing change). > * [ ] No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team). > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=netobserv%2Fnetobserv-ebpf-agent). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:86aefca

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=86aefca make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:d8ced8d

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=d8ced8d make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:6aa1e1d

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=6aa1e1d make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:4eeb9d8

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=4eeb9d8 make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:f1aff88

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=f1aff88 make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:241a015

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=241a015 make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:f222874

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=f222874 make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:3008099

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=3008099 make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:6773705

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=6773705 make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:2d45f9a

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=2d45f9a make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:4ebc3bd

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=4ebc3bd make set-agent-image