" Vim syntax file
" Language: Berkeley Packet Filter
" Maintainer: Daniel Borkmann
" Latest Revision: 08/16/2011
"
" In order to make syntax highlighting for BPFs work in vim, copy this file
" to ~/.vim/syntax/ and activate it in vim by entering:
"
" :set syntax=bpf
"
" If you want to automatically load the BPF syntax highlighting for *.bpf
" files create the ~/.vim/filetype.vim with the following content:
"
" my filetype file
" if exists("did_load_filetypes")
" finish
" endif
"
" augroup filetypedetect
" au! BufRead,BufNewFile *.bpf setfiletype bpf
" augroup END
"
if exists("b:current_syntax")
finish
endif
syn keyword bpfTodo contained TODO FIXME XXX NOTE
syn keyword bpfKeywords ldb ldh ld ldi ldx ldxi ldxb st stx jmp ja jeq jneq jne skipwhite
syn keyword bpfKeywords jlt jle jgt jge jset add sub mul div mod neg and or xor skipwhite
syn keyword bpfKeywords lsh rsh ret tax txa skipwhite
syn match bpfLabel /[a-zA-Z0-9_]\+/
syn match bpfSpChar /[:,#\[\]\(\)+*&]\?/ contains=bpfNumber,bpfLabel
syn match bpfNumber /\(0[xX]\x\+\|\d\+\)/
syn match bpfComment ";.*$" contains=bpfTodo
hi def link bpfTodo Todo
hi def link bpfComment Comment
hi def link bpfKeywords Keyword
hi def link bpfLabel Type
hi def link bpfNumber Number
hi def link bpfSpChar Special
let b:current_syntax = "bpf"
on>
Josef Bacik diagnosed following problem :
I was seeing random disconnects while testing NBD over loopback.
This turned out to be because NBD sets pfmemalloc on it's socket,
however the receiving side is a user space application so does not
have pfmemalloc set on its socket. This means that
sk_filter_trim_cap will simply drop this packet, under the
assumption that the other side will simply retransmit. Well we do
retransmit, and then the packet is just dropped again for the same
reason.
It seems the better way to address this problem is to clear pfmemalloc
in the TCP transmit path. pfmemalloc strict control really makes sense
on the receive path.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>