-
Notifications
You must be signed in to change notification settings - Fork 31
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
NETOBSERV-1198: drop_cause enum in vmlinux are based off old kernel #161
NETOBSERV-1198: drop_cause enum in vmlinux are based off old kernel #161
Conversation
/ok-to-test |
@msherif1234: This pull request references NETOBSERV-1198 which is a valid jira issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
New image: It will expire after two weeks. To deploy this build, run from the operator repo, assuming the operator is running: USER=netobserv VERSION=f8a29d6 make set-agent-image |
Codecov Report
@@ Coverage Diff @@
## main #161 +/- ##
=======================================
Coverage 39.25% 39.25%
=======================================
Files 31 31
Lines 2214 2214
=======================================
Hits 869 869
Misses 1296 1296
Partials 49 49
Flags with carried forward coverage won't be shown. Click here to find out more. |
b333023
to
565d7ce
Compare
/ok-to-test |
New image: It will expire after two weeks. To deploy this build, run from the operator repo, assuming the operator is running: USER=netobserv VERSION=21472c2 make set-agent-image |
@msherif1234: This pull request references NETOBSERV-1198 which is a valid jira issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/label qe-approved |
@msherif1234 is that going to be incompatible with rhel8-based ocp? @Amoghrd perhaps it should be tested on ocp4.12 as well? |
tcpdrop is disabled with older kernels |
/ok-to-test |
New image: It will expire after two weeks. To deploy this build, run from the operator repo, assuming the operator is running: USER=netobserv VERSION=7d49017 make set-agent-image |
e0566f6
to
e1feb7f
Compare
/ok-to-test |
New image: It will expire after two weeks. To deploy this build, run from the operator repo, assuming the operator is running: USER=netobserv VERSION=14b4af0 make set-agent-image |
sometimes we can don't have socket struct valid which we use to populate TCP state in that case we keep state as 0 and we proceed generating drop flow Signed-off-by: msherif1234 <mmahmoud@redhat.com>
bd7259a
to
fcad0aa
Compare
/ok-to-test |
New image: It will expire after two weeks. To deploy this build, run from the operator repo, assuming the operator is running: USER=netobserv VERSION=e0ef45c make set-agent-image |
@msherif1234: This pull request references NETOBSERV-1198 which is a valid jira issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@jotak Yes, could confirm that the eBPF pod comes up fine with older versions of OCP(tested with 4.12) and could view the log line |
bpf/headers/vmlinux.h
Outdated
SKB_CONSUMED = 1, | ||
SKB_DROP_REASON_NOT_SPECIFIED = 2, | ||
SKB_DROP_REASON_NO_SOCKET = 3, | ||
SKB_DROP_REASON_PKT_TOO_SMALL = 4, | ||
SKB_DROP_REASON_TCP_CSUM = 5, | ||
SKB_DROP_REASON_SOCKET_FILTER = 6, | ||
SKB_DROP_REASON_UDP_CSUM = 7, | ||
SKB_DROP_REASON_NETFILTER_DROP = 8, | ||
SKB_DROP_REASON_OTHERHOST = 9, | ||
SKB_DROP_REASON_IP_CSUM = 10, | ||
SKB_DROP_REASON_IP_INHDR = 11, | ||
SKB_DROP_REASON_IP_RPFILTER = 12, | ||
SKB_DROP_REASON_UNICAST_IN_L2_MULTICAST = 13, | ||
SKB_DROP_REASON_XFRM_POLICY = 14, | ||
SKB_DROP_REASON_IP_NOPROTO = 15, | ||
SKB_DROP_REASON_SOCKET_RCVBUFF = 16, | ||
SKB_DROP_REASON_PROTO_MEM = 17, | ||
SKB_DROP_REASON_TCP_MD5NOTFOUND = 18, | ||
SKB_DROP_REASON_TCP_MD5UNEXPECTED = 19, | ||
SKB_DROP_REASON_TCP_MD5FAILURE = 20, | ||
SKB_DROP_REASON_SOCKET_BACKLOG = 21, | ||
SKB_DROP_REASON_TCP_FLAGS = 22, | ||
SKB_DROP_REASON_TCP_ZEROWINDOW = 23, | ||
SKB_DROP_REASON_TCP_OLD_DATA = 24, | ||
SKB_DROP_REASON_TCP_OVERWINDOW = 25, | ||
SKB_DROP_REASON_TCP_OFOMERGE = 26, | ||
SKB_DROP_REASON_TCP_RFC7323_PAWS = 27, | ||
SKB_DROP_REASON_TCP_INVALID_SEQUENCE = 28, | ||
SKB_DROP_REASON_TCP_RESET = 29, | ||
SKB_DROP_REASON_TCP_INVALID_SYN = 30, | ||
SKB_DROP_REASON_TCP_CLOSE = 31, | ||
SKB_DROP_REASON_TCP_FASTOPEN = 32, | ||
SKB_DROP_REASON_TCP_OLD_ACK = 33, | ||
SKB_DROP_REASON_TCP_TOO_OLD_ACK = 34, | ||
SKB_DROP_REASON_TCP_ACK_UNSENT_DATA = 35, | ||
SKB_DROP_REASON_TCP_OFO_QUEUE_PRUNE = 36, | ||
SKB_DROP_REASON_TCP_OFO_DROP = 37, | ||
SKB_DROP_REASON_IP_OUTNOROUTES = 38, | ||
SKB_DROP_REASON_BPF_CGROUP_EGRESS = 39, | ||
SKB_DROP_REASON_IPV6DISABLED = 40, | ||
SKB_DROP_REASON_NEIGH_CREATEFAIL = 41, | ||
SKB_DROP_REASON_NEIGH_FAILED = 42, | ||
SKB_DROP_REASON_NEIGH_QUEUEFULL = 43, | ||
SKB_DROP_REASON_NEIGH_DEAD = 44, | ||
SKB_DROP_REASON_TC_EGRESS = 45, | ||
SKB_DROP_REASON_QDISC_DROP = 46, | ||
SKB_DROP_REASON_CPU_BACKLOG = 47, | ||
SKB_DROP_REASON_XDP = 48, | ||
SKB_DROP_REASON_TC_INGRESS = 49, | ||
SKB_DROP_REASON_UNHANDLED_PROTO = 50, | ||
SKB_DROP_REASON_SKB_CSUM = 51, | ||
SKB_DROP_REASON_SKB_GSO_SEG = 52, | ||
SKB_DROP_REASON_SKB_UCOPY_FAULT = 53, | ||
SKB_DROP_REASON_DEV_HDR = 54, | ||
SKB_DROP_REASON_DEV_READY = 55, | ||
SKB_DROP_REASON_FULL_RING = 56, | ||
SKB_DROP_REASON_NOMEM = 57, | ||
SKB_DROP_REASON_HDR_TRUNC = 58, | ||
SKB_DROP_REASON_TAP_FILTER = 59, | ||
SKB_DROP_REASON_TAP_TXFILTER = 60, | ||
SKB_DROP_REASON_ICMP_CSUM = 61, | ||
SKB_DROP_REASON_INVALID_PROTO = 62, | ||
SKB_DROP_REASON_IP_INADDRERRORS = 63, | ||
SKB_DROP_REASON_IP_INNOROUTES = 64, | ||
SKB_DROP_REASON_PKT_TOO_BIG = 65, | ||
SKB_DROP_REASON_DUP_FRAG = 66, | ||
SKB_DROP_REASON_FRAG_REASM_TIMEOUT = 67, | ||
SKB_DROP_REASON_FRAG_TOO_FAR = 68, | ||
SKB_DROP_REASON_MAX = 69, |
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.
I'm not confortable at all with that... How can we ensure we are up to date on this enum ?
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.
are we forced to mention values for each enum ?
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.
this is kernel definition I checked with rhel and they normally append to the end with new causes except for this https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0e84afe8ebfbb9eade3f4f6de4720887bf908e26 which cause teh disconnect in general I will be watching this vmlinux and make sure updates are compatible with older releases even if its at the cost of maintaining custom version for it, this is expected overhead of relying on kernel headers
Signed-off-by: msherif1234 <mmahmoud@redhat.com>
fcad0aa
to
c831a86
Compare
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.
LGTM, thanks @msherif1234
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: msherif1234 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
hook was checking for SKB_DROP_REASON_NOT_SPECIFIED value which supposed to be 2
based on https://elixir.bootlin.com/linux/v6.3/source/include/net/dropreason.h#L96
but the value in the current vmlinux is 1 so we were getting unclassified drops
I updated drop_reason_enum based on kernel that supported this hook
rhel9