mirror of
https://github.com/eunomia-bpf/bpf-developer-tutorial.git
synced 2026-05-09 23:32:34 +08:00
Deploying to gh-pages from @ eunomia-bpf/bpf-developer-tutorial@406d9eae1e 🚀
This commit is contained in:
@@ -491,6 +491,9 @@ bpf_printk("%d len %d buffer: %s", payload_offset, payload_length, lin
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
<blockquote>
|
||||||
|
<p>注意:bpf_strncmp 这个内核 helper 在 5.17 版本中才被引入,如果你的内核版本低于 5.17,可以手动匹配字符串来实现相同的功能。</p>
|
||||||
|
</blockquote>
|
||||||
<p>这段代码使用<code>bpf_strncmp</code>函数比较<code>line_buffer</code>中的数据与HTTP请求方法(GET、POST、PUT、DELETE、HTTP)是否匹配。如果不匹配,说明不是HTTP请求,直接返回0,放弃处理。</p>
|
<p>这段代码使用<code>bpf_strncmp</code>函数比较<code>line_buffer</code>中的数据与HTTP请求方法(GET、POST、PUT、DELETE、HTTP)是否匹配。如果不匹配,说明不是HTTP请求,直接返回0,放弃处理。</p>
|
||||||
<pre><code class="language-c">e = bpf_ringbuf_reserve(&rb, sizeof(*e), 0);
|
<pre><code class="language-c">e = bpf_ringbuf_reserve(&rb, sizeof(*e), 0);
|
||||||
if (!e)
|
if (!e)
|
||||||
|
|||||||
@@ -4853,6 +4853,9 @@ bpf_printk("%d len %d buffer: %s", payload_offset, payload_length, lin
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
<blockquote>
|
||||||
|
<p>注意:bpf_strncmp 这个内核 helper 在 5.17 版本中才被引入,如果你的内核版本低于 5.17,可以手动匹配字符串来实现相同的功能。</p>
|
||||||
|
</blockquote>
|
||||||
<p>这段代码使用<code>bpf_strncmp</code>函数比较<code>line_buffer</code>中的数据与HTTP请求方法(GET、POST、PUT、DELETE、HTTP)是否匹配。如果不匹配,说明不是HTTP请求,直接返回0,放弃处理。</p>
|
<p>这段代码使用<code>bpf_strncmp</code>函数比较<code>line_buffer</code>中的数据与HTTP请求方法(GET、POST、PUT、DELETE、HTTP)是否匹配。如果不匹配,说明不是HTTP请求,直接返回0,放弃处理。</p>
|
||||||
<pre><code class="language-c">e = bpf_ringbuf_reserve(&rb, sizeof(*e), 0);
|
<pre><code class="language-c">e = bpf_ringbuf_reserve(&rb, sizeof(*e), 0);
|
||||||
if (!e)
|
if (!e)
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user